【问题标题】:How to force key frames at given interval using ffmpeg with h.264_qsv?如何使用带有 h.264_qsv 的 ffmpeg 在给定间隔强制关键帧?
【发布时间】:2017-05-02 18:16:19
【问题描述】:

我使用以下命令强制每 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 实现上述目标?

【问题讨论】:

    标签: ffmpeg h.264


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 2011-10-11
      • 1970-01-01
      • 2015-07-19
      • 2012-12-16
      • 2018-03-08
      • 2015-09-07
      • 2021-12-04
      • 2017-05-01
      相关资源
      最近更新 更多