如何在ffmpeg中指定nvenc使用的GPU

How to specify the GPU to be used by nvenc in ffmpeg

我使用 ffmpeg 可执行文件通过 nvenc 将 mpegts 流从 h264 转码为 h265,并且我的主板上安装了两个 nvidia 显卡:GeForce GTX 690 和 Tesla k-10。 ffmpeg 中的 nvenc 是否有任何编解码器特定参数来选择使用我想要的任何这些 GPU 进行编码?

nvenc 编码器有一个 GPU 选项,它允许列出和 select 个用于编码的 GPU。

所以,使用

ffmpeg -f lavfi -i nullsrc -c:v h264_nvenc -gpu list -f null -

上面生成了一个虚拟视频源,然后通过管道传输到 null。同时,FFmpeg 会列出可用的 GPU 列表。

一旦知道,特定的 GPU 就可以 select 通过在编码命令中添加 -gpu N 来编辑,其中 N 是设备编号。