FFmpeg是在CPU还是GPU上运行的?

7

在链接中展示了:

https://dri.freedesktop.org/wiki/IntelPerformanceTuning/

第二步:CPU vs GPU

如果CPU使用率超过90%,则应用程序正在CPU上运行。

在配置ffmpeg时,我启用了opencl。ffmpeg的配置如下:

ffmpeg version ebe0fa0 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
  configuration: --enable-gpl --enable-libx264 --enable-opencl --enable-nonfree --enable-libmfx --enable-libmp3lame --enable-libaacplus
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

当使用以下命令运行ffmpeg时:

ffmpeg -i /home/M.mp4 -c:v h264 -preset:v faster /home/out.avi

CPU利用率已经超过90%(375%)。

对于ImageMagick,如果在配置过程中启用opencl,则应用程序将在GPU上运行,即CPU利用率将低于90%。我注意到了这一点。

但是对于ffmpeg,它是GPU加速的。那么,为什么CPU利用率超过90%? ffmpeg是在CPU还是GPU上运行?如果不是,请问如何使其在GPU上运行?


FFmpeg在CPU上运行。参考链接在这里 - msc
我相信只有某些编码器/解码器/功能启用了硬件加速。请参考这里的表格:https://trac.ffmpeg.org/wiki/HWAccelIntro…例如,在您的情况下,您可以使用“-c:v nvenc_h264”来使用NVidia卡对H.264视频进行编码。如果源正确,则OpenCL似乎仅支持过滤。 - Aurel Bílý
3
我建议关闭此问题,因为它不涉及实际编程问题。 - IInspectable
我正在使用Intel QSV。因此,在链接trac.ffmpeg.org/wiki/HWAccelIntro中是肯定的。那么在快速同步的情况下,它会在GPU上运行吗? - Raghul Selvaraj
能否提供有关执行平台的更多信息:CPU型号、操作系统等? - Rotem
1个回答

13
要在GPU上工作,您应该在设置中启用视频编码/解码技术,然后针对每个命令应指定正确的参数,基于您所拥有的硬件。有时,如果添加此参数,则ffmpeg可以在不启用配置中任何东西的情况下在您的GPU上运行。
将AVI编码为h.264视频(软件编码) ffmpeg -i input.avi -c:v libx264 output.mp4 将AVI编码为h.265视频(软件编码) ffmpeg -i input.avi -c:v libx265 output.mp4 将AVI编码为h.264视频(AMD GPU编码) ffmpeg -i input.avi -c:v h264_amf output.mp4 将AVI编码为h.265视频(AMD GPU编码) ffmpeg -i input.avi -c:v hevc_amf output.mp4 将AVI编码为h.264视频(NVIDIA GPU编码) ffmpeg -i input.avi -c:v h264_nvenc output.mp4 将AVI编码为h.265视频(NVIDIA GPU编码) ffmpeg -i input.avi -c:v hevc_nvenc output.mp4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接