ffmpeg HLS плейлист не запускается с самого начала

Я пытаюсь взять 5-минутный видеофайл и создать однофайловый список воспроизведения HTTP Live Stream и .ts файл. Формат файла списка воспроизведения может поддерживать байтовые диапазоны вместо отдельных файлов с iOS 5, что является хорошей целью для моих случаев использования. Но когда я запускаю ffmpeg команда, первая запись в результате .m3u8 список воспроизведения не начинается с (или даже рядом) байта 0.

Например:

ffmpeg -i input -hls_flags single_file out.m3u8

Создает плейлист примерно так:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:63
#EXTINF:1.376367,
#EXT-X-BYTERANGE:568324@63107840
out.ts
#EXTINF:1.334667,
#EXT-X-BYTERANGE:235564@63676164
out.ts
#EXTINF:1.918589,
#EXT-X-BYTERANGE:343288@63911728
out.ts
#EXTINF:10.427078,
#EXT-X-BYTERANGE:3311996@64255016
out.ts
#EXTINF:5.672333,
#EXT-X-BYTERANGE:52828@67567012
out.ts
#EXT-X-ENDLIST

Обратите внимание, что первый EXT-X-BYTERANGE запись не @0 - это около 63 МБ в 68 МБ .ts файл. Действительно, при загрузке списка воспроизведения в <video> При добавлении тега и открытии HTML-кода с помощью Safari воспроизведение видео начинается примерно через 20 секунд с конца входного видео, а не с 0, и нет способа удалить его раньше.

Почему имеет ffmpeg создал плейлист, который не включает все видео? Когда я смотрю .ts файл создается вместе с плейлистом, весь видеоконтент присутствует.

Я вижу это на недавнем ffmpeg статические сборки под Linux, а также версия Homebrew ffmpeg 2.7.1 под OS X.

1 ответ

Решение

После прочтения документации HLS я наконец заметил эту опцию:

hls_list_sizesize

Установите максимальное количество записей в списке воспроизведения. Если установлено значение 0, файл списка будет содержать все сегменты. Значение по умолчанию 5.

Конечно же, в моем первоначальном вопросе есть 5 EXT-X-BYTERANGE записи с конца видео, в соответствии с заявленным значением по умолчанию. настройка hls_list_size в 0 как указано, фактически обеспечивает начало видео в начале и включает все ожидаемые диапазоны байтов.

Другие вопросы по тегам