
Я использую 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 * время сегмента]