【问题标题】:How do I know if ffmpeg is using a hardware decoder?我怎么知道 ffmpeg 是否使用了硬件解码器?
【发布时间】:2021-10-20 03:36:54
【问题描述】:

我注意到,当我通过 ffmpeg 逐帧读取视频时,我的 CPU 使用率飙升至 120%。

ffmpeg -i video.webm thumb%04d.jpg -hide_banner

但是,如果我只是在本地观看视频,它几乎不会占用任何 CPU。

我猜这里的问题是 ffmpeg 没有使用我的硬件解码器(在 OS X 上没有 GPU)。我该如何检查?

还有其他可能发生的问题吗?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    如果您想使用 FFmpeg,您必须明确启用硬件加速。否则,将使用软件编解码器。

    也就是说,如果您没有在命令行上使用标志启用硬件加速,则可以确定没有使用硬件加速。

    另请参阅:https://trac.ffmpeg.org/wiki/HWAccelIntro

    【讨论】:

    • @farza 你有某种 GPU……可能是英特尔显卡。为此,您可以通过 VAAPI 使用 QuickSync。
    • 仍然没有解释如何查看我使用的是硬件解码还是软件解码。 ffmpeg 不打印此信息。
    • @danger89 当然可以。您是否传递了使用硬件解码的标志?不?然后,使用软件。就是这么简单。它只做你告诉它做的事情。它不会自行做出明智的选择。
    • @danger89 FFmpeg 不是 mpv。如果您没有使用硬件加速标志,则不会使用硬件加速。
    • @danger89 如果-hwaccel vaapi 失败,您将收到错误消息。
    【解决方案2】:

    您可以尝试检查 Intel GPU 使用情况

    sudo apt-get update -y
    
    sudo apt-get install -y intel-gpu-tools
    
    sudo intel_gpu_top
    

    我相信一旦你正确设置了 ffmpeg 参数,它应该会在硬件加速模式下运行。

    就我而言,我运行的是护卫舰 NVR,尽管我在 yaml 中设置了参数,但我无法确认我的硬件 acc 正在运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      相关资源
      最近更新 更多