Точная очистка с HTTP Live Streaming - PullRequest
4 голосов
/ 03 июня 2011

Я использую потоковую передачу HTTP для своего приложения для iPhone (как того требует Apple).Тем не менее, очистка видео заметно неточна.Всякий раз, когда я ищу время в видео, оно переходит на время начала ближайшего сегмента.Это происходит как с MPMoviePlayerController, так и с AVPlayer (с использованием seekToTime: с допуском 0).

С другими также сталкивались с этой проблемой?Кто-нибудь нашел способ получить точную очистку с HTTP Live Streaming?Я готов пойти на низкий уровень, если это необходимо.Приложение Youtube имеет точную очистку, но я не верю, что оно использует HTTP Live Streaming.Кто-нибудь может подтвердить / опровергнуть?

Обновление: Я использую mediafilesegmenter с настройками по умолчанию (10 сек / чанк).Мой мастер .m3u8 выглядит как

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=957267
http://[...].m3u8?file_urlkey=[...]
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157
http://[...].m3u8?file_urlkey=[...]
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=53220
http://[...].m3u8?file_urlkey=[...]

Отдельные .m3u8s выглядят как

#EXTM3U
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:9.9988149305,
http://[...].ts?bytes=0-1195491
#EXTINF:9.9988149305,
http://[...].ts?bytes=1195492-2390983
#EXTINF:9.9988149305,
http://[...].ts?bytes=2390984-3586475
#EXTINF:9.9988149305,
http://[...].ts?bytes=3586476-4781967
#EXTINF:9.9988149305,
http://[...].ts?bytes=4781968-5977459
#EXTINF:0.345925347493,
http://[...].ts?bytes=5977460-6018819
#EXT-X-ENDLIST

Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Поиск в середине сегментов невозможен при потоковой передаче по HTTP - я подтвердил это у представителя Apple на WWDC.

Но они сказали, что поиск точности будет улучшен в iOS5.

2 голосов
/ 03 июня 2011

Мы используем HTTP Live Streaming и довольно скрабную работу.Что вы использовали для декодирования / сегментирования ваших видео?Потому что, я думаю, это больше проблема файла списка воспроизведения (m3u8), а не самой реализации.

...