Использование JWplayer в Android для потокового воспроизведения видео в Phonegap

Я пытаюсь использовать JWPlayer как способ обхода Android, не поддерживающего воспроизведение HLS в Webview в Phonegap (или, по крайней мере, я не могу заставить его работать, только с потоками WebM и видеоплагином на https://github.com/macdonst/VideoPlayer , потоки HLS дают только аудио)

Я знаю, что пользователю нужно установить флэш-память, но на данный момент для меня важнее всего, чтобы на устройстве отображались либо RTMP, либо HLS (.m3u8) (2.3, 4.0 или 4.1, в зависимости от того, что работает!)

Однако я продолжаю получать сообщение об ошибке «Ошибка загрузки проигрывателя: не найдены воспроизводимые источники» при реализации JWplayer в Android. Пока тестировал только в симуляторе.

В коде нет ничего особенного, в файле HTML после включения Cordova JS все, что я делаю, это:

 <script type="text/javascript" src="jwplayer/jwplayer.js" ></script>
 <script type="text/javascript">jwplayer.key="b+mykey"</script>
 <div id="my-video"></div> 
 <script type="text/javascript">
        jwplayer('my-video').setup({
            flashplayer: "javascripts/lib/jwplayer/player.swf",      
                 streamer: "rtmp://myserveraddressgoeshere",
                 file: "corecctfile.goeshere-sdh",
                 provider:"rtmp",
                 autostart: 'true',
                 controlbar: "over",
                 width: '720',
                 height: '405'
         });</script>

Очевидно, у меня есть правильные пути, но я скрыл их здесь из соображений конфиденциальности клиента.

Кто-нибудь знает, почему это не работает? Или как я могу заставить поток RTMP/HLS работать на устройстве Android? Как уже упоминалось, приложение представляет собой приложение PhoneGap.

Спасибо!


person Ayame__    schedule 04.12.2012    source источник
comment
Этот код работает в браузере Android по умолчанию?   -  person Simon MacDonald    schedule 05.12.2012


Ответы (1)


JW Player больше не поддерживает Flash на Android в ответ на то, что Adobe также отказывается от поддержки Android Flash. Начиная с Android 2.3, поддерживается только HTML5 (и, следовательно, только MP4/WebM).

HTTP Live Streaming действительно имеет ограниченную поддержку HTML5 в Android. Он воспроизводится только в версии 4.0+ и имеет несколько критических ошибок: соотношение сторон дисплея не распознается, а потоки HLS по запросу ведут себя как живые (нет временной шкалы; нет поиска).

Лучшим решением для потоковой передачи на Android является использование SDK, поддерживающего HLS для вашего собственного приложения. Несколько компаний предлагают такой SDK (например, devicedrm.com или nexstreaming.com). Я не знаю, будут ли такие решения работать с Phonegap.

person JeroenW    schedule 05.12.2012
comment
Я просто хочу добавить, что HTTP Live Streaming был представлен в Android 4.0, но удален в 4.1. Справочник — Состояние видео в формате HTML5 - person James Wong; 21.03.2013