Можно ли просматривать .mpeg-поток видео H.264 на устройствах Android?

Это очень теоретический вопрос с некоторой настройкой:

У меня есть видеокодер, который оборачивает HD-видео H.264 в транспортный поток .MPG для передачи. Я могу снять упаковку TS — может быть, в кодировщике, если Android не даст мне нужной мне скорости, — но тогда у меня останется элементарный поток H.264. Должен ли я переупаковывать это в один из поддерживаемых форматов потоков, чтобы устройства Android могли просматривать поток, или они могут обрабатывать поток .MPG?


person Rich Hoffman    schedule 25.05.2011    source источник


Ответы (1)


Кодировка H.264 поддерживается только Android >= 3.0, декодирование поддерживается большинством (всеми?) версиями с контейнером 3gpp или MPEG-4. Gingerbread добавляет MPEG-TS.

Формат/кодек H.264 AVC

Кодировщик (Android 3.0+)

Декодер Да

Подробности Базовый профиль (BP)

Поддерживаемые типы файлов/форматы контейнеров: 3GPP (.3gp) и MPEG-4 (.mp4). MPEG-TS (.ts, только аудио AAC, без поиска, Android 3.0+)

Для видеоконтента, который транслируется по HTTP или RTSP, существуют дополнительные требования:

  • Для контейнеров 3GPP и MPEG-4 атом moov должен предшествовать любому атому mdat.

  • Для контейнеров 3GPP, MPEG-4 и WebM выборки аудио и видео, соответствующие одному и тому же смещению по времени, могут быть разделены не более чем на 500 КБ. Чтобы свести к минимуму этот дрейф аудио/видео, рассмотрите возможность чередования аудио и видео фрагментами меньшего размера.

Полный список поддерживаемых медиаформатов находится здесь: http://developer.android.com/guide/appendix/media-formats.html

person Aleadam    schedule 25.05.2011
comment
Идеальный. Я уже просматривал эту матрицу, но как-то не заметил поддержки MPEG TS, хотя заметил, что она указана в версии 3.0 (Honeycomb?). У меня есть приятель с XOOM, так что я проверю его там, но похоже, что я могу убрать материал TS и переупаковать ES в RTP для RTSP. Спасибо! - person Rich Hoffman; 27.05.2011