Воспроизведение файлов m3u8 с тегом HTML Video
Я пытаюсь использовать HTTP Live Streaming (HLS) для потоковой передачи видео на мои компьютеры и мой iPhone. Прочитав через Apple,Обзор HTTP Live Streaming ' так же как 'Лучшие практики для создания и развертывания потоковой передачи мультимедиа HTTP для iPhone и iPad 'Я немного застрял.
Я взял свой исходный файл (mkv) и использовал ffmpeg для кодирования файла в формат MPEG-TS и рекомендуемые Apple настройки и профиль Baseline 3.0:
ffmpeg -i "example.mkv" -f mpegts -threads:v 4 -sws_flags bicubic -vf "scale=640:352,setdar=16/9,ass=sub.ass" -codec:v libx264 -r 29.970 -b:v 1200k -profile:v baseline -level:v 3.0 -movflags faststart -coder 1 -flags +loop -cmp chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 6 -me_range 16 -g 239 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -direct-pred 1 -fast-pskip 1 -af "aresample=48000" -codec:a libvo_aacenc -b:a 96k -ac 2 -y "output.ts"
Не беспокойтесь там. Я использовалпредварительно скомпилированный инструмент сегментации сегментировать видео и создать плейлист .m3u8. Результирующий файл выглядел так:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,
http://localhost/media/stream/stream-1.ts
#EXTINF:10,
http://localhost/media/stream/stream-2.ts
#EXTINF:10,
http://localhost/media/stream/stream-3.ts
#EXT-X-ENDLIST
Я проверил это против некоторыхПримеры файлов списка воспроизведения для использования с HTTP Live Streamingи я нене вижу никаких проблем. Я также попытался воспроизвести файл .m3u8 в VLC, и он работает как шарм.
Я создал HTML-страницу для воспроизведения файла:
И эта страница не работает в Chrome, Safari, на моем iPhone. Примеры html5-тегов видео в w3schools отлично работают на моем компьютере, а официальный обзор Apple, упомянутый выше, дает пример HTML, очень похожий на мою страницу. Тем не менее, мой видеопроигрыватель полностью не отвечает, когда я захожу на свою собственную страницу .m3u8.