使用 Nvidia NVDEC 和 Intel QSV 编码

使用 Nvidia NVDEC 和 Intel QSV 编码

是否可以将 Nvidia 解码器和 Intel 编码器与 FFmpeg 结合使用?我使用其中一个进行过转码,但从未同时使用过。之所以需要这样做,是因为只有 Intel 有 MPEG 编码器,而 Nvidia 没有,但我想同时使用 Nvidia 的解码器来测试性能提升。

如果支持这种组合,有人可以提供配置这两种硬件加速的命令行示例吗?

非常感谢您的帮助。

答案1

如果同时存在 Intel HD Graphics 和 NVIDIA GPU,并且启用它们,具有适当的驱动程序,并且 FFmpeg 版本支持它,那么这是可能的。

输入和输出的视频编解码器必须由硬件支持,并且还有其他“常见”限制(如支持的像素格式和最大分辨率)。

  • 解码器(例如h264_cuvid)位于之前-i
  • 编码器(例如h264_qsv)位于输入文件名(之后-i)之后。

例子:

ffmpeg -y -vsync 0 -vcodec h264_cuvid -i Big_Buck_Bunny_360_10s_1MB.mp4 -vcodec h264_qsv -pix_fmt nv12 Bunny2.mp4

FFmpeg 日志(报告):

ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg Stream
...
mapping:
Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_qsv))
...

相关内容