1

我目前正在使用两个 nvidia p4 显卡。

在以前版本的 ffmpeg(3.2.0 之前)中,我可以使用选项“-gpu 0 或 1 等”选择特定的 gpu 卡。

但是,在当前版本中,没有选择 gpu 卡的选项。

实际上在 nvenc_h264.c 或 nvenc_hevc.c 中指定了“gpu”选项。

但是在 nvenc.c 文件中,没有使用“gpu”选项的代码。

有什么办法可以选择特定的卡吗?

两张卡之间的负载均衡是怎么做的?

它是在驱动程序级别完成的吗?

谢谢你。

4

2 回答 2

4

我有同样的问题。转码时,无论我用-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>
于 2018-09-07T08:39:02.890 回答
0

如果自动负载平衡对您来说足够好,您可以执行以下操作

    if (ctx->codec_id == AV_CODEC_ID_H264){
         av_opt_set(ctx->priv_data, "gpu", "any", 0);
     }

-gpu 任何/列表

另外,如果您正在寻找命令行,请查看这篇文章

于 2017-05-04T21:10:34.300 回答