出现这个问题,是因为Nvidia的官方限制
针对不同的 例如桌面级产品 限制了2个并发处理任务
详细的每个产品对应的限制参考
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder
我们可以通过下面的补丁 去掉这个限制
1 2 3 4 5 6 7 |
cd /opt git clone https://github.com/keylase/nvidia-patch cd nvidia-patch # patch remove limite 2 sessions / 打补丁去除限制 bash ./patch.sh # patch restore limit 2 sessions / 恢复限制 bash ./patch.sh -r |
在启动ffmpeg
上面图片已启动了4个ffmpeg HW转码进程了, 没在提示错误
这里需要特别注意的事 需要控制进程占用的显卡内存使用不超过显卡总内存, 超了的话 会出现丢帧,绿屏等问题
如图我们的RTX 2070 Super 有8G显存, 开启4个进程占用10%上下, 由此 按400/进程来算 最大约18-20个进程可启用