ffmpeg HEVC с длительностью фрагмента, определенной HLS

ffmpeg HEVC с длительностью фрагмента, определенной HLS

Я использую 10-битную сборку ffmpeg/x265 для запуска следующей команды, в которой я декодирую входное видео x265/10bit, передаю его в другой инструмент командной строки и снова передаю вывод в новый экземпляр ffmpeg, где я хочу перекодировать и фрагментировать с длительностью фрагмента 3 секунды. Обратите внимание, что та же строка сработала, как и ожидалось, с кодировкой x264/8bit.

ffmpeg-hi10-heaac -y -an -i "./HEVC.mp4" -s 3840x2160 -f rawvideo - | myCLI | ffmpeg-hi10-heaac -y -f rawvideo -pix_fmt yuv420p10le -s 3840x2160 -r 23.976 -i - -c:v libx265 -b:v 5000K -g 24 -keyint_min 24 -sc_threshold 0 -map 0:v -f stream_segment -segment_time 3 -segment_list manifest.m3u8 -segment_list_type m3u8 output.%05d.ts

Проблема в том, что:

  • манифест говорит, что длительность фрагмента составляет около 10 секунд
  • и это правда, каждый .ts на выходе имеет длину около 10 секунд.

Я хотел бы узнать, известна ли эта проблема, есть ли способ ее обойти или она связана с использованным мной вариантом или с комбинацией этих вариантов?

Спасибо.

решение1

Также необходимо задать размер группы. -g [fps * время сегмента]

Связанный контент