ffmpeg HEVC с длительностью специфического фрагмента HLS

1986
alexbuisson

Я использую 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 секунд.

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

Благодарю.

0

1 ответ на вопрос

1
szatmary

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

Да, у меня был только 1 I-кадр, но, похоже, Люк не использует опцию 'g', я должен установить min-keyint 'x265-params' и т. Д. Как и некоторые опции ffmpeg не были переведены в вариант x265! И даже с этим изменением длина сегмента по-прежнему составляет 10 секунд. alexbuisson 9 лет назад 0

Похожие вопросы