Android Video Streaming - Устройство поддерживается?

В порядке. Итак, существует миллиард различных устройств Android. У меня есть сервис потокового видео, прекрасно работает на iOS. В моем приложении есть функция видео в реальном времени и функция воспроизведения сохраненных видеоклипов (которые также передаются на устройство). Я провел несколько тестов на разных устройствах Android и получил множество разных результатов воспроизведения. Я использую видео с базовым профилем 640x480 h.264. Потоковое видео работает только на некоторых устройствах. Для других устройств тот же самый видеопоток можно настроить для потоковой передачи с низким разрешением, и это работает на некоторых устройствах, но не работает на других. Высококачественная потоковая передача проходит через http://www.wowzamedia.com/ (rtsp) и не работает ни на одном устройстве Android ( но работает на айфоне). Самый низкий и худший вариант - это Motion JPEG, который пока работает на всех протестированных устройствах.

Итак, мой вопрос: как я могу выяснить (без необходимости тестировать каждое устройство, представленное на рынке), будет ли устройство воспроизводить: базовый профиль 640x480 h.264 - если это не сработает, воспроизведите видео с низким разрешением - если это не так? t работает, по умолчанию используется Motion JPEG.

Кроме того, есть идеи, почему мой rtsp, перекодированный через wowza, работает на iPhone, но не на любом устройстве Android (даже Motorola Atrix)?


person spentak    schedule 06.06.2011    source источник


Ответы (3)


Стриминг на android - это абсолютный беспредел. Большинство устройств не поддерживают ничего выше Baseline 3.0. Если вы кодируете для iPhone 3, он обычно должен работать через RTSP. Более новые версии Android поддерживают HLS, но это работает или пропадает и в значительной степени зависит от конкретных устройств.

person Ian Beyer    schedule 15.12.2012

Я решил эту проблему. Проверьте RTP-реализацию в вашем потоковом сервисе и профиле x264. Мой RTSP-сервер отлично работает на 90% устройств.

p.s Некоторые видеофреймы в разных версиях Android могут реализовывать протоколы RTP и RTSP с некоторыми отличиями.

person radya    schedule 14.06.2012
comment
Не могли бы вы пояснить, что вы подразумеваете под реализацией RTP? Я работаю с Wowza Media Server почти 5 лет (и какое-то время был в группе поддержки), и этот термин мне совершенно незнаком. - person Ian Beyer; 15.12.2012
comment
Простите, я не это имел в виду. Я новичок в английском. Я имел в виду реализацию протокола RTP - person radya; 17.12.2012
comment
Ах, хорошо, теперь я понимаю, что вы имеете в виду - в Wowza это Application.xml в MediaCaster- ›RTP-› RTSP- ›RTPTransportMode - в V3 и выше по умолчанию используется« чередование », то есть TCP. Другой вариант - «udp», который не требует пояснений. - person Ian Beyer; 17.06.2013
comment
Последние версии Android вполне успешно поддерживают RTSP и в теге HTML5 ‹VIDEO›. - person Ian Beyer; 17.06.2013

Это некоторые из ссылок / проблем, с которыми я столкнулся, пытаясь заставить потоковую передачу работать на различных устройствах.

MediaPlayer seekTo не работает для потоков

MediaPlayer сбрасывает позицию до 0 при запуске после поиска в другую позицию

MediaPlayer seekTo непоследовательно воспроизводит песни с самого начала

Базовое потоковое аудио работает в 2.1, но не в 2.2

MediaPlayer.seekTo () не работает для небуферизованной позиции

Потоковое видео при поиске назад буферизация начинается снова в videoView / Mediaplayer

Даже крупные игроки в stackoverflow задаются вопросом об этом.

Если вы хотите просто потоковое воспроизведение без поиска (что неуместно), этого можно достичь. Но тогда, если вам позвонят во время просмотра, вы закончите с самого начала.

person Samuel    schedule 04.08.2011