Я следую предложению Apple в http://tools.ietf.org/html/draft-pantos-http-live-streaming-01. Пробуя фиктивную HTTP Live Streaming на свой iphone, я написал веб-сервис с Django, соответствующий файлу .m3u8. Я начинаю ответ с
#EXTM3U
#EXT-X-TARGETDURATION:#10
#EXT-X-MEDIA-SEQUENCE:#0
Затем я пишу URL-адреса сегментов (6 сегментов по 10 секунд каждый) внутри ответа:
#EXTINF:10,
http://...../sample_low-1.ts
...
и это все. Я меняю часть, содержащую URL-адреса сегментов, каждую минуту, поэтому теоретически я ожидаю непрерывной прямой трансляции.
Однако, когда я проверяю поток на своем iphone, я наблюдаю следующее:
Телефон подключается к ...m3u8 , получает его содержимое, начинает скачивать файлы .ts и начинает показывать видео. Затем, после загрузки 6-го сегмента (последний сегмент в .m3u8), он достигает конца файла, не видит
EXT-X-ENDLIST
и ищет новый .m3u8. На данный момент новый .m3u8 готов на сервере, так как я обновляю содержимое .m3u8 каждые 60 секунд.
Однако телефон останавливается, и я не могу добиться непрерывного потока на телефоне.
Так что, очевидно, я где-то делаю огромную ошибку. Любая помощь и предложения очень приветствуются.
Редактировать: оказывается, что увеличение последовательности мультимедиа работает.