是否可以将 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))
...