Во-первых, обратите внимание, что FFmpeg сам по себе не кодирует h264, а x264 .
Да, определение необычно длинного ключевого кадра должно значительно уменьшить размервидео с длительными периодами практически без движения.Зачем?Потому что «ключевой кадр» - это кадр со всеми видеоданными - снимок, если хотите.Все остальные кадры будут отличаться от ключевого кадра.Одним из предостережений для этого является то, что при наличии какого-либо искажения в промежуточном кадре видео будет повреждено до появления следующего ключевого кадра.
Чтобы явно установить интервал ключевого кадра при кодировании с FFmpeg, используйте -g
переключатель.Если ваше видео составляет 25 кадров в секунду и вы хотите, чтобы ключевой кадр отображался один раз в минуту, добавьте -g 1500
в командную строку FFmpeg.(25 f / sx 60 s = 1500 f)
Существуют и другие интересные аспекты, которые вы можете контролировать относительно ключевых кадров, которые могут вас заинтересовать, многие из которых описаны здесь: x264 ffmpeg mapping ируководство по опциям