Прямая видеотрансляция в Android с помощью Wowza Server

Я пробовал транслировать видео в приложении для Android через сервер Wowza, и он отлично работает с этим демонстрация javaCV.

Но единственная проблема заключается в том, что он использует формат файлов FLV для трансляции на сервере Wowza. Он использует FFmpegFrameRecorder для прямой трансляции видео на сервер wowza (не VOD). Чтобы установить формат видео, транслируемого на сервере, используется следующий метод:

recorder.setFormat("flv");

Итак, основная проблема с этим методом заключается в том, что когда я использую другие форматы, он не работает. Например:

recorder.setFormat("mpeg"); //or something like mov, etc

Пожалуйста, предложите способ трансляции видео с устройства Android на сервер wowza в любом формате, кроме flv. Пожалуйста, предоставьте любые ссылки или учебные пособия, с которых я могу начать.

Заранее спасибо.

Изменить. Я могу воспроизводить только аудио во время потоковой передачи видео в формате vlc на устройствах Android и iOS.


person Name is Nilay    schedule 28.05.2014    source источник


Ответы (1)


Ваша проблема не в контейнере, а в протоколе. Для потокового вещания лучшими вариантами являются RTMP, RTP/RTSP. RTMP — это, по сути, FLV с командами в стиле видеомагнитофона (воспроизведение, пауза, остановка). Для MP4 нет потокового протокола, кроме HTTP. и это потребует от вас создания нового mp4 каждые несколько секунд и повторной сборки серверной части.

Я не уверен, что вы не можете использовать FLV/RTMP, потому что это, вероятно, лучший вариант. Но дальше я бы предложил RTSP и, возможно, WebRTC.

person szatmary    schedule 28.05.2014
comment
@szatmary- Мне также нужно передать эту ссылку в другой модуль приложения. Flv дает только звук на моем устройстве Android, но не видео. Тот же поток также должен работать в приложении iOS. Есть ли способ транслировать его на устройства Android и iOS в формате FLV, потому что это было бы просто здорово! - person Name is Nilay; 29.05.2014
comment
Это другой вопрос. Единственный способ сделать живое видео в iOS — это HLS. - person szatmary; 29.05.2014
comment
На сколько нет видео на андроиде с использованием flv. Это из-за кодека? Единственный кодек, поддерживаемый как Android, так и FLV, — это AVC. - person szatmary; 29.05.2014
comment
Да, я думаю, это только из-за кодека. Но я не могу найти кодек AVC в классе Android avcodec из библиотеки javacv. Можете ли вы предложить какой-либо способ интеграции кодека AVC? - person Name is Nilay; 30.05.2014