我目前正在使用两个 nvidia p4 显卡。
在以前版本的 ffmpeg(3.2.0 之前)中,我可以使用选项“-gpu 0 或 1 等”选择特定的 gpu 卡。
但是,在当前版本中,没有选择 gpu 卡的选项。
实际上在 nvenc_h264.c 或 nvenc_hevc.c 中指定了“gpu”选项。
但是在 nvenc.c 文件中,没有使用“gpu”选项的代码。
有什么办法可以选择特定的卡吗?
两张卡之间的负载均衡是怎么做的?
它是在驱动程序级别完成的吗?
谢谢你。
我有同样的问题。转码时,无论我用-gpu
option选择哪个gpu,ffmpeg总是使用gpu#0。
我设法通过使用-hwaccel_device #
而不是解决它-gpu
例如:
ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i <input> -b:v 2048k -vf scale_npp=1280:-1 -c:v h264_nvenc -y <output>
如果自动负载平衡对您来说足够好,您可以执行以下操作
if (ctx->codec_id == AV_CODEC_ID_H264){
av_opt_set(ctx->priv_data, "gpu", "any", 0);
}
-gpu 任何/列表
另外,如果您正在寻找命令行,请查看这篇文章