远程软件
Go to file
dev-team ddbb53d41a feat(agent): NVENC 硬编接入(GPU 零拷贝 ARGB 直通,软编自动兜底)
- 编码器自动选择:NVENC(H264 High/CBR 5Mbps/UltraLowLatency/无B帧/按需IDR)→ openh264 兜底
- Duplication 增加 GPU 中间纹理(B8G8R8A8 DEFAULT),NVENC register_resource_dx11 直读,颜色转换完全省略
- KeyFrameReq → encode_picture(picture_type=IDR),静止 500ms 重编码 P 帧
- windows 0.58→0.62(nvenc crate 依赖 0.62,运行时 dlopen nvEncodeAPI64.dll 零 SDK 依赖)
- 实测(GTX 1650 Ti 回环):encode 41ms→4ms/帧(10x),convert 0ms,viewer 解码正常
2026-10-23 10:18:29 +08:00
.cargo init: MVP remote desktop (agent/viewer/common) with H.264 pipeline 2026-10-23 09:17:55 +08:00
agent feat(agent): NVENC 硬编接入(GPU 零拷贝 ARGB 直通,软编自动兜底) 2026-10-23 10:18:29 +08:00
common feat(hud): B1 基线指标——抖动/帧间隔p95/丢包率/解码失败计数 + 测试脚本 2026-10-23 09:47:09 +08:00
tools feat(hud): B1 基线指标——抖动/帧间隔p95/丢包率/解码失败计数 + 测试脚本 2026-10-23 09:47:09 +08:00
viewer feat(hud): B1 基线指标——抖动/帧间隔p95/丢包率/解码失败计数 + 测试脚本 2026-10-23 09:47:09 +08:00
.gitignore init: MVP remote desktop (agent/viewer/common) with H.264 pipeline 2026-10-23 09:17:55 +08:00
B侧设计文档.md docs: B侧设计文档(联调基线/码率自适应/打洞中继/多屏文件) 2026-10-23 09:34:21 +08:00
Cargo.lock feat(agent): NVENC 硬编接入(GPU 零拷贝 ARGB 直通,软编自动兜底) 2026-10-23 10:18:29 +08:00
Cargo.toml feat(agent): NVENC 硬编接入(GPU 零拷贝 ARGB 直通,软编自动兜底) 2026-10-23 10:18:29 +08:00
Git协作规范.md docs: 两人分工方案定稿 2026-10-23 09:31:52 +08:00
README.md docs: README 2026-10-23 09:21:07 +08:00
构建运行手册.md init: MVP remote desktop (agent/viewer/common) with H.264 pipeline 2026-10-23 09:17:55 +08:00

mvp-remote

自研远程桌面控制软件(办公场景),技术路线参考网易 UU 远程逆向分析结论。

架构

Crate 角色 说明
common 协议库 控制消息 / 视频帧线格式,三端共享契约
agent 被控端 DXGI 屏幕采集 + openh264(H.264) 编码 + QUIC 服务 + SendInput 键鼠注入
viewer 主控端 QUIC 客户端 + openh264 解码 + minifb 渲染 + 键鼠采集 + 延迟 HUD

构建

cargo build --release

产物:target/release/agent.exe(被控端)、viewer.exe(主控端),需附带 3 个 mingw 运行库 DLL(libstdc++-6 / libgcc_s_seh-1 / libwinpthread-1)。

运行

# 被控机
agent.exe --port 47800 --code 123456
# 主控机
viewer.exe --addr <被控机IP> --port 47800 --code 123456

详见《构建运行手册.md》与《Git协作规范.md》。