Публикация локального файла mpg на сервере red5 с использованием as3

У меня есть файл mpg в моей системе, и я хочу опубликовать его на сервере Red5, чтобы я мог транслировать его по своей сети. После некоторой исследовательской работы я не смог найти для него решение, пробовал ли кто-нибудь из вас, ребята это. Я имею в виду публикацию файла из локальной системы на сервер Red5. Может ли кто-нибудь направить меня в правильном направлении, пожалуйста. Я использую Flash CS3 и AS3.


person Vipin Nair    schedule 18.05.2012    source источник


Ответы (2)


@Vipin Лучше всего использовать что-то вроде ffmpeg для простоты программирования, качества и скорости перекодирования, а также если вам нужен хороший API, то вроде xuggler кажется хорошим подходом, и хотя я никогда Я читал об этом много хороших отзывов от людей, которые делают то же самое, что и вы. Я успешно использовал ffmpeg, чтобы сделать что-то похожее на то, что вы хотите от бэкэнда Ruby в последнее время, и у меня нет оснований полагать, что вам будет менее легко или удобно сделать это на Java. Чтобы использовать runtime.exec() для выполнения ffmpeg, попробуйте это. Если вы это сделаете, из них не должно быть никаких причин, по которым FLV не подходит, поскольку я точно знаю, что это делает ffmpeg. Это немного более старый пост, но этот пост описывает, как настроить вызов ffmpeg из командной строки для перехода на mpg -> flv, как вы хотите, хотя я полагаю, что если вы используете xuggler, это немного больше встроено в API. Другой ответ SO, охватывающий оба этих подхода, находится здесь.

person waxspin    schedule 21.05.2012
comment
привет, спасибо воскспин, мне удалось преобразовать файл mpeg в файл flv и simulataneosuly, мне нужно воспроизвести файл с помощью флэш-памяти, но проблема в том, что мне нужно подождать некоторое время, пока файл MPEG кодируется, иначе флэш-плеер просто останавливается во время воспроизведения видео. Можете ли вы помочь мне в этом случае, например, как я могу воспроизвести файл, кодируя его simulataneosuly. - person Vipin Nair; 22.05.2012
comment
Привет, вы знаете другие кодировщики, кроме FFMPEG, я также хочу попробовать другие инструменты, так как при воспроизведении закодированного видео через ffmpeg возникает задержка. - person Vipin Nair; 22.05.2012
comment
Под задержкой вы имеете в виду задержку между входом и выходом? Или вы имеете ввиду задержку между аудио и видео треками? Существуют и другие инструменты командной строки, но я был бы удивлен, если бы многие из них были более мощными, стабильными и гибкими одновременно, как FFMPEG (другими словами, найти тот, который обрабатывает файлы FLV так же просто и независимо, как FFMPEG может потребоваться поиск в Google.) - person waxspin; 22.05.2012
comment
Кроме того, просто подумайте о чем-то - если ваша проблема на самом деле заключается в задержке между дорожками, возможно ли, что вы меняете частоту кадров видео? В противном случае это может вызвать проблемы с синхронизацией; также есть способ использовать ffmpeg для решения этой проблемы во время перекодирования, который вы можете использовать, поскольку синхронизация - очень старая проблема в мире аудио / видео ... - person waxspin; 23.05.2012
comment
я не говорю о задержке в видео и аудио дорожках, это о видео, которое кодируется в ffmpeg с одной стороны, а с другой стороны я проигрываю закодированное видео с помощью вспышки - person Vipin Nair; 23.05.2012
comment
По сути, вы не можете избежать этого, поскольку для любого процесса транскодирования, даже для трансляций в режиме реального времени, всегда будет требоваться некоторое количество времени, независимо от того, высокоскоростная аппаратная или программная реализация, для выполнения транскодирования. Если я все еще неправильно понимаю ваш вопрос, прошу прощения :) Однако есть способ минимизировать эту задержку, выбрав, как скоро вы начнете воспроизведение файла во время его перекодировки. Но это может вызвать некоторые проблемы, такие как: что делать, если транскодер задерживается из-за нехватки ресурсов сервера и т. Д. - person waxspin; 23.05.2012

Вы можете использовать FileReference.browse (), чтобы получить диалоговое / системное всплывающее окно для выбора файла. Вы слушаете на нем событие SELECT (это означает, что пользователь выбрал файл), затем вы можете вызвать для него загрузку. Вам понадобится какой-то сценарий на стороне сервера, который принимает файл и сохраняет его в том месте, на которое указывает сервер Red5, чтобы обслуживать его файлы (PHP, Java, все, что должно делать).

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#browse ()

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#upload ()

person shaunhusain    schedule 20.05.2012
comment
Можете ли вы предоставить мне образец руководства для этого, поскольку я не могу найти, я использую flash cs3 и as3 - person Vipin Nair; 21.05.2012
comment
@Vipin на самом деле сейчас работает над редизайном и перестройкой моего сайта, я чувствую, что моя работа над stackoverflow перетекает в эфир, и я не улавливаю концепции таким образом, чтобы я мог легко ссылаться на них, я включу описание и пример кода для выполнения задачи, есть ли у вас возможность запустить сценарий на стороне сервера, если да, то какой язык вы бы использовали для его реализации, я знаком с PHP и Java и должен быть в состоянии предоставить решение в любом. На данный момент: kirupa.com/developer/flash8/uploading_fileReference_pg1.htm - person shaunhusain; 21.05.2012
comment
Спасибо, что написали немедленно. Я застрял в проблеме, когда мне нужно воспроизвести файл mpg с флэш-памятью, но мы знаем, что он воспроизводит только файлы FLV. Я только начал использовать флэш, поэтому я еще не знаю, в чем суть. Мне нужно выполнить задачу. Я не знаю php или java, но я могу понять код java. Я попробовал кодировщик видео Flash, чтобы преобразовать видео, но могу ли я сделать это в кодировании в сценарии действий. Вы делали это в любое время? - person Vipin Nair; 21.05.2012
comment
Ссылка на мой основной вопрос: stackoverflow.com/questions/10679606/ - person Vipin Nair; 21.05.2012
comment
@Vipin Я не верю, что вы сможете легко или быстро преобразовать видеофайл в AS3 (это, конечно, возможно, но я не знаю ни одной библиотеки, которая заставит вас выполнить декодирование / кодирование на стороне клиента) мое предположение заключается в том, что вам нужно будет загрузить файл на сервер, а затем использовать что-то вроде ffmpeg для фактического перекодирования. Я мало знаком с Red5, но у меня есть друг на работе, который использовал его довольно часто, я посмотрю, смогу ли я поговорить с ним завтра, чтобы узнать, есть ли у него какие-либо предложения. - person shaunhusain; 21.05.2012
comment
Нашел еще пару релевантных ссылок, уведомил моего коллегу-приятеля об этом посте, чтобы он мог вмешаться, если у него есть время: trac.red5.org/wiki/Examples/FileUploadServlet bala-krishna.com/ - person shaunhusain; 21.05.2012
comment
Друг @Vipin Шона здесь - я думаю, что сервлет загрузки файлов должен работать нормально, хотя вы можете внести изменения в место, где он хранит файлы, пока они не будут перекодированы, но вы можете использовать другие методы загрузки, если этот не работает. .. остальная часть моего отзыва на ваш вопрос слишком длинна для комментария, поэтому я вставлю его в ответ. - person waxspin; 21.05.2012