Я хочу перекодировать видео, используя H264, и я хочу контролировать количество i-кадров, содержащихся в перекодированном видео. Я попробовал следующее.

ffmpeg -i video.mp4 -y -c:v libx264 -crf 21 -sc_threshold 40 -c:a copy reencoded_video.mp4

Это успешно перекодирует видео, но я не могу повлиять на количество i-кадров, отрегулировав значения -crf и -sc_threshold , как я проверил с помощью ffprobe . В большинстве случаев один и тот же набор i-кадров получается независимо от установленных мной значений -crf и -sc_threshold .

Как контролировать (до некоторой степени) количество i-кадров в перекодированном видео? Например, как мне сделать каждый кадр и i-frame? Как мне перекодировать его так, чтобы каждые 2 секунды было около 1 i-кадра?

РЕДАКТИРОВАТЬ

Кажется, я просто не пробовал достаточно большой диапазон для -sc_threshold ; установка его на 9999 решила проблему. Я до сих пор не могу найти документацию для действительного диапазона -sc_threshold , может ли кто-нибудь указать мне на официальную документацию, которая описывает его действительный диапазон?

0