如何使用ffmpeg和h.264QSV以给定的间隔强制关键帧?

如何使用ffmpeg和h.264QSV以给定的间隔强制关键帧?,ffmpeg,h.264,Ffmpeg,H.264,我使用以下命令强制每5秒设置一次关键帧,并在ffmpeg中设置最小关键帧间隔 ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -r 24 profile:v baseline -level 3.0 -x264opts keyint=$keyFrameInterval:min-keyint=$keyFrameInterval:no-scenecut:pass=1 -movflags +faststart -strict -2 -acodec aa

我使用以下命令强制每5秒设置一次关键帧,并在ffmpeg中设置最小关键帧间隔

ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -r 24 profile:v baseline -level 3.0 -x264opts keyint=$keyFrameInterval:min-keyint=$keyFrameInterval:no-scenecut:pass=1 -movflags +faststart -strict -2 -acodec aac -y output.mp4
这似乎适用于libx264。 现在我将以下命令用于h264qsv。但我只能每隔5秒强制关键帧,不能设置最小关键帧间隔

ffmpeg -hwaccel qsv -i input.mp4 -vcodec h264_qsv -pix_fmt nv12 -preset:v faster -profile:v baseline -level 3.0 -force_key_frames "expr:gte(t,n_forced*5)" -movflags +faststart -strict -2 -acodec aac -f mp4 -r 24 -y output.mp4

如何使用h264_qsv实现上述目标?

经过大量研究,我发现将(图片组)-g帧率*分段持续时间设置为关键帧间隔解决了我的问题