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

时间:2017-04-27 10:33:30

标签: 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 aac -y output.mp4

这似乎适用于 libx264 。 现在我使用以下命令 h264_qsv 。但我只能每隔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实现上述目标?

1 个答案:

答案 0 :(得分:0)

经过相当多的研究,我发现设置(图片组)-g frameRate * segmentDuration到关键帧间隔解决了我的问题。