video2dlssnr:纯 C++17 + D3D12 实现的 DLSS 神经渲染与超分辨率工具

插件2个月前更新 小马良
240 0

video2dlssnr 是一个轻量级、高性能的图像处理与视频增强工具,完全基于 C++17 和 Direct3D 12 构建,无需庞大的游戏引擎或复杂的构建系统(如 CMake/vcpkg)。它直接调用英伟达专有的 DLSS Super Resolution (SR) 和 DLSS Neural Rendering (NR, Feature 18) 库,实现了从图像放大到视频细节增强的全流程 GPU 加速。

  • GitHub:https://github.com/DaniilSokolyuk/video2dlssnr

该工具的核心价值在于将原本仅存在于高端游戏中的 DLSS 3.5/4.0 神经渲染技术 提取出来,应用于静态图片和视频文件的后期处理,通过光流估计运动矢量,实现时间上的稳定性与细节重建。

video2dlssnr:纯 C++17 + D3D12 实现的 DLSS 神经渲染与超分辨率工具

核心功能亮点

  • 全 GPU 视频管道:
    • ffmpeg 解码 → DLSS 超分辨率 (放大) → 光流估计 (运动矢量) → 神经渲染 (细节重建) → 合成 → ffmpeg NVENC 编码。
    • 全程数据驻留显存,零 CPU 拷贝,极大提升处理效率。
  • 双重增强模式:
    • DLSS SR:利用深度学习进行高质量图像放大(最高约 3 倍)。
    • DLSS NR:在原生分辨率或放大后的图像上添加高频细节、修复纹理,支持“自然”与“电影”等多种风格。
  • 时间稳定性:
    • 内置光流引擎(优先使用硬件 NVOFA,回退至计算着色器 Lucas-Kanade),为神经渲染提供逐像素运动矢量,确保视频帧间过渡平滑,无闪烁。
    • 自动场景切换检测,防止历史数据污染新场景。
  • 极简架构:
    • 核心二进制文件 video2dlssnr.exe 仅依赖两个 NVIDIA DLL。
    • UI 与视频流控制由轻薄的 Python 层 (nr_video.py) 提供,启动迅速,资源占用极低。
video2dlssnr:纯 C++17 + D3D12 实现的 DLSS 神经渲染与超分辨率工具

快速开始

1. 环境准备

  • 英伟达驱动:必须为 616.56 或更新版本(以支持 NGX Feature 18)。
  • FFmpeg:需安装并加入 PATH(推荐通过 winget install Gyan.FFmpeg 安装)。
  • Python 3:用于运行视频处理脚本和 UI。

2. 获取专有 DLL

你需要从支持 DLSS 3.5/4.0 的游戏目录或 NVIDIA 驱动包中提取以下两个文件,并放置在 video2dlssnr.exe 同级目录下:

  • nvngx_dlssnr.dll (~165 MB):负责神经渲染。
  • nvngx_dlss.dll (~58 MB):负责超分辨率放大。

3. 启动方式

  • UI 模式:双击 start.bat,访问 http://127.0.0.1:7860,通过网页界面拖拽图片或视频进行处理。
  • 命令行模式:
    :: 图像超分 + 神经渲染
    out\video2dlssnr.exe --nr-run --in photo.png --out nr_out --nr-scale 2
    
    :: 视频增强 (4K, 电影风格)
    python nr_video.py --in clip.mp4 --out clip_4k.mp4 --nr-width 3840 --nr-style 2
    

关键参数解析

参数类别关键标志说明
输出尺寸--nr-width, --nr-height指定输出分辨率,另一维度按比例缩放。
--nr-scale放大倍数(1.0-3.0),未指定宽高时生效。
神经渲染风格--nr-style0: 默认, 1: 自然 (柔和), 2: 电影 (少光泽)。
细节控制--nr-intensity整体细节强度 (0.0-2.0)。
--nr-detail合成强度:0 为原始输入,1 为完整 NR 效果。
运动处理--nr-motion开启/关闭光流运动矢量(影响视频稳定性)。
--nr-motion-vis输出光流可视化视频,用于调试运动估计效果。
诊断--probe-nr测试当前环境是否支持 DLSS NR 功能。

适用场景

  • 老视频修复与 upscale:将低分辨率旧视频放大至 4K,并通过神经渲染补充丢失的细节。
  • AI 生成视频优化:改善 AI 生成视频中常见的闪烁和不稳定问题,增加纹理真实感。
  • 静态图片增强:为摄影作品或数字艺术添加微观细节,提升视觉冲击力。
  • 开发者测试:通过 --probe-nr 和 --nr-motion-vis 调试 NVIDIA NGX 库在不同硬件上的表现。

注意事项

  • 硬件限制:仅支持英伟达RTX 系列显卡(建议 RTX 20 系及以上,RTX 40 系效果最佳)。
  • 版权合规:请确保你有权处理所使用的视频和图像素材。
  • DLL 版本匹配:务必使用与当前驱动兼容的 DLL 版本,否则可能遇到初始化错误 (0xBAD0000B)。
© 版权声明

相关文章