Работа с видео / Apple HLS на Mac и на айфоне разные
2011-06-11 21:56:34
В процессе создания
erlyvideo.org/ у меня ... на Маке и
erlyvideo проигрывается с рывками ...
+ развернуть текст сохранённая копия
В процессе создания erlyvideo.org/ у меня накопился набор тестовых файлов, на которых отчетливо видно не только отсутствие у Apple референсного работающего сегментера, а ещё и разницы в реализации Apple HTTP Live Streaming на айфоне и на маке.
Напоминаю суть проблемы: Apple предлагают развертывать компактно упакованные файлы в очень толстый MPEG-TS, потом плясать с бубном с выравниванием соседних сегментов и после этого список урлов к этим сегментам выкладывать в отдельном файлике.
Проблема очень простая: это синхронизация аудио и видео. Дело в том, что в контейнерах проставляется таймстемп каждому звуковому и видео кадру. И если видеокадр можно менять когда душе захочется, то с аудио всё сложнее.
Аудиопоток вообще говоря непрерывный, монотонный и не зависит от того, какие таймстемпы проставлены в контейнере. Видимо, разница в синхронизации аудио, видео и потока таймстемпов приводит к тому, что один и тот же файл проигрывается на айфоне, но на Маке и erlyvideo проигрывается с рывками, а в вовзе на Маке проигрывается только до середины.
Да-да, это отдельный глюк HLS: проиграть файл до середины и зависнуть на этом.
Резюме: если вы хотите запустить свой видеосервис по-модному, с HTML5, то будьте уверены, что весь ваш контент везде нормально играется. Если таких сил и ресурсов нет, то пользуйтесь флешем под PC и уже HTML5 на айфонах/айпадах.
Тэги:
apple,
erlyvideo,
hls,
live,
streaming