Http Live Streaming не работает на Apache - PullRequest
1 голос
/ 22 июня 2011

Настройка My Http Live Streaming: Apache хранит файлы html, m3u8 и ts

Файлы ts копируются с http: devimages.apple.com/iphone/samples/bipbop / gear1 / fileSequence * .ts.Нет ничего плохого в кодировке видео (проверяется фактическим воспроизведением этих файлов)

m3u8 файлы (как мультибитрейт, так и листовой уровень) копируются из примера Apple и синтаксическиисправьте, как показано ниже:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10, no desc
fileSequence0.ts
...
#EXTINF:1, no desc
fileSequence180.ts
#EXT-X-ENDLIST

videoplay.html (ниже) не удается выполнить потоковую передачу видео с моего сервера Apache

<video src="bipbop/bipbopall.m3u8" controls autoplay ></video>

Однако при изменении videoplay.html(ниже), видео потоки просто отлично с сайта Apple

<video src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" controls autoplay ></video>

Я подозревал, что что-то не так с настройками MIME-типа, потому что Chrome обрабатывал http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 и http://localhost/bipbop/bipbopall.m3u8 по-разному.В то время как Chrome пытается воспроизвести первый, он загружает и сохраняет второй.Поэтому я дважды проверил настройку типа MIME, которая указана ниже в моем httpd.conf

AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
  • Правильно ли настроен тип MIME?
  • Как мы можем изобразить MIME?тип ассоциации, объявленный на сайте Apple?
  • Или мы должны искать в другом месте, чтобы это исправить?

Ответы [ 3 ]

3 голосов
/ 26 июня 2011

Это может показаться странным, но я также столкнулся с похожими проблемами, и после большой отладки я обнаружил, что пустые строки в файле индекса .m3u8 могут вызывать такие проблемы. Пожалуйста, дважды проверьте пустые строки в вашем файле индекса.

0 голосов
/ 05 февраля 2018

Согласно документации HLS rfc, вы должны использовать "application / vnd.apple.mpegurl" или "audio / mpegurl", но вы также можете просто завершить путь с помощью .m3u8 или .m3u.

Каждый файл списка воспроизведения ДОЛЖЕН быть идентифицирован либо по компоненту пути его URI, либо по типу содержимого HTTP.В первом случае путь ДОЛЖЕН заканчиваться либо .m3u8, либо .m3u.Во-вторых, HTTP-тип контента ДОЛЖЕН быть «application / vnd.apple.mpegurl» или «audio / mpegurl».Клиенты ДОЛЖНЫ отказаться анализировать плейлисты, которые не идентифицированы.

~ Глава 4 rfc8216, HTTP Live Streaming

0 голосов
/ 29 марта 2013

С опозданием, но для ясности:

File extension |                 MIME type
-------------------------------------------------------------
.M3U8          | application/x-mpegURL (or vnd.apple.mpegURL)
.ts            | video/MP2T

Источник: Руководство разработчика по потоковому мультимедиа для разработчиков Apple - Архитектура потокового HTTP

...