对于服务器型显卡(比如:Tesla T4、NVIDIA A100等),nvidia显卡编码并发session路数没有限制,对于消费型显卡(比如:GeForce RTX 3070、GeForce RTX 3080等),nvidia显卡编码并发session路数有限制。
图:消费型显卡
图:服务型显卡
一、NVENC session限制破解步骤
1、下载最新Nvidia驱动(已补丁包的驱动版本)。比如:471.41
https://github.com/keylase/nvidia-patch/tree/master/win#version-table
2、下载最新的Win_1337_Apply_Patch工具。比如:Win_1337_Apply_Patch-1.9
3、下载.1337 补丁文件(32位、64位),存放到一个windows目录下。
https://download.csdn.net/download/byxdaz/87389619
4、使用Win_1337_Apply_patch工具将x64库修补程序应用于%WINDIR%\system32\中的相应文件。如果修补失败,请使用nvencodeapi64.dll关闭所有应用程序,如OBS Studio、Plex或Discord。
5、使用Win_1337_Apply_patch工具将x86库修补程序应用于%WINDIR%\SysWOW64\中的相应文件,方法与上一个相同。如果修补失败,请使用nvencodeapi.dll关闭所有应用程序,如OBS Studio、Plex或Discord。
举例:
对于运行驱动程序版本527.56的64位Windows 10,请对C:\Windows\system32\nvencodeapi64.dll使用win10_x64/527.56/nvencodeapi 64.1337,对C:\Windows \SysWOW64\nnvencodepi.dll使用win10-x64/527.56/nventodeapi.1337。
二、怎样用ffmpeg命令测试NVENC session限制是否去掉了?(windows系统)
1、下载ffmpeg
2、执行ffmpeg命令
//卡0上执行硬解
ffmpeg.exe -y -hwaccel cuvid -hwaccel_device 0 -c:v hevc_cuvid -vsync 0 -y - i "d:\input-h265.mp4" -vcodec h264_nvenc -preset fast -b:v 2000k d:\0-output1.mp4
ffmpeg.exe -y -hwaccel cuvid -hwaccel_device 0 -c:v hevc_cuvid -vsync 0 -y - i "d:\input-h265.mp4" -vcodec h264_nvenc -preset fast -b:v 2000k d:\0-output2.mp4
//卡1上执行硬解
ffmpeg.exe -y -hwaccel cuvid -hwaccel_device 1 -c:v hevc_cuvid -vsync 0 -y - i "d:\input-h265.mp4" -vcodec h264_nvenc -preset fast -b:v 2000k d:\0-output1.mp4
ffmpeg.exe -y -hwaccel cuvid -hwaccel_device 1 -c:v hevc_cuvid -vsync 0 -y - i "d:\input-h265.mp4" -vcodec h264_nvenc -preset fast -b:v 2000k d:\0-output2.mp4
3、查询输出打印信息,判断是否破解成功。
输出打印,包含了 OpenEncodeSessionEx failed: out of memory (10): (no details),说明破解失败了。
输出打印,包含了frame= 560 fps=329 q=8.0 Lq=8.0 q=8.0 q=8.0 size=N/A time=00:00:22.40 bitrate=N/A speed=13.2x,说明破解成功了。
三、如果您遇到基于Nvidia流媒体设备(Nvidia Shield TV、Moonlight)的流媒体软件问题,您还必须导入一些注册表值以解决二进制签名不匹配问题。
解决方法:导入skip_sig_check注册表,比如:skip_sig_check.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global]
"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\nvlddmkm]
"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}"=dword:00000001