HLS с FFmpeg, браузер последовательно пропускает m3u8 - PullRequest
0 голосов
/ 16 октября 2019

Я пишу программу на C ++, получаю 2-секундное видео в формате mp4 и преобразую его в m3u8 и файлы ts той же продолжительности в режиме реального времени.

Проблема в том, что я проверяю ее в браузерахна ПК он не загружает m3u8 должным образом.

Например, когда я начинаю смотреть m3u8, он сначала загружает m3u8 с помощью # EXT-X-MEDIA-SEQUENCE: 1, затем продолжает загружать первый m3u8,затем внезапно переходит к # EXT-X-MEDIA-SEQUENCE: 4 или больше.

Потоковая передача все еще работает, но она очень нестабильна из-за этой проблемы. Он загружает несколько ts вместе, затем ничего не загружает при загрузке того же m3u8, который уже загружен, и пропускает 3 или более m3u8 и загружает ts файлы вместе и снова.

ffmpeg -loglevel level+warning -i SOURCE.mp4 -an -filter:v fps=fps=10 -f hls -hls_list_size 7 -strftime 1 -hls_segment_filename '1.ts' -hls_flags append_list+omit_endlist DEST.m3u8

Это команда ffmpeg в моей программе, использующая hls_segment_filenameвозможность перезаписывать файлы ts, поэтому я ограничиваю количество файлов до 100, и оно запускается каждые 2 секунды.

Может быть, я перезаписываю его слишком быстро для загрузки?

...