Мне нужно создать список воспроизведения HLS, который должен содержать URL-адреса PHP вместо имени чанков. На мой взгляд, плейлист .m3u8 должен выглядеть следующим образом:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:4
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:11
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=0
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=1
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=2
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=3
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=4
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=5
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=6
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=7
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=8
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=9
#EXT-X-ENDLIST
У меня есть несколько вопросов:
1. Можно ли заставить его работать?
2. Как мне организовать отправку файлов в get.php? Если, например, я прочитаю локальный файл и отправлю его заказчику.
Любая помощь и информация будут полезны.
Спецификация для HLS должна обслуживать сегменты мультимедиа с расширением «.ts». Все игроки HLS (Apple и сторонние игроки) поддерживают это, так что это путь к успеху.
Это отмечено на странице разработчика Apple «Развертывание HTTP Live Streaming — Настройка веб-сервера»
(увидеть https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW13 ):
Система распространения — это веб-сервер или система веб-кэширования, которая доставляет мультимедийные и индексные файлы клиенту по HTTP. Для доставки контента не требуются пользовательские серверные модули, и, как правило, на веб-сервере требуется очень мало настроек.
Рекомендуемая конфигурация обычно ограничивается указанием ассоциаций MIME-типов для файлов .M3U8 и файлов .ts
и особенно в «Архитектуре потокового HTTP» (см. https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW13 ) отмечается, что расширение файла «.ts» получает MIME-тип «video / MP2T»
Но чтобы ответить на ваш вопрос, вам, по крайней мере, нужно, чтобы ваши файлы «.php» подавались с вашего веб-сервера с типом MIME, например, «.ts» (то есть «video / MP2T»), в противном случае, я уверен, что проигрыватели потерпят неудачу , Затем вы должны использовать Apple Media Stream Validator, чтобы проверить ваши файлы m3u8 и файлы медиа-сегмента PHP, чтобы проверить, будут ли они работать с клиентами HLS (получите его на developer.apple.com). Если Apple Media Stream Validator говорит, что с вашими потоками все в порядке, то вам может не повезти с вашим нестандартным подходом.
Так что же мешает вам использовать файлы «.ts»?
Других решений пока нет …