Я использую 10-битную сборку ffmpeg/x265 для запуска следующей команды, где я декодирую входное видео x265/10bit, перенаправляю его в другие инструменты строки cmd и снова направляю вывод в новый экземпляр 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 ответ1

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .