Linux 投屏到 Windows 局域网低延迟方案全面对比

调研时间:2026-06-13 适用场景:Linux(Ubuntu 22.04/24.04)→ Windows,局域网,追求低延迟 调研来源:多路 Agent 并行搜索最新资料汇总


一、快速选型建议

需求推荐方案
最低延迟,支持鼠标键盘回传Sunshine + Moonlight
纯显示投屏,有命令行能力FFmpeg + VAAPI/NVENC + mpv
传统远程桌面,需要剪贴板/音频/文件传输xrdp + mstscGNOME Remote Desktop
已有 OBS 工作流OBS + DistroAV(NDI)
接收端零安装,最简单Deskreen
3D 应用/GPU 密集型TurboVNC + VirtualGL

二、各方案详细对比

1. Sunshine + Moonlight(强烈推荐)

定位:开源游戏串流,延迟最低的局域网投屏方案

Sunshine 是开源的 GameStream 兼容服务端,运行在 Linux 端;Moonlight 是客户端,运行在 Windows 端接收画面。完全替代 NVIDIA GameStream,支持 AMD/Intel/NVIDIA 显卡。

安装步骤

Linux 端(安装 Sunshine)

# Ubuntu/Debian deb 包
wget https://github.com/LizardByte/Sunshine/releases/latest/download/sunshine-ubuntu-22.04-amd64.deb
sudo dpkg -i sunshine-*.deb
 
# 或 Flatpak
flatpak install dev.lizardbyte.sunshine
 
# 启动后访问 Web UI 进行配置
# https://localhost:47990

Windows 端(安装 Moonlight)

moonlight-stream.org 下载安装 Moonlight,输入 Linux 主机 IP,配对后直接连接。

关键配置

X11 环境(开箱即用),Wayland 需额外配置:

# ~/.config/sunshine/sunshine.conf
 
# Wayland + KMS 捕屏(v0.22.0+ 支持 Wayland + NVIDIA)
capture = kms
 
# 编码器选择
encoder = nvenc   # NVIDIA
# encoder = vaapi # Intel/AMD
 
# 或保持 auto 让 Sunshine 自动选择
encoder = auto

防火墙端口(必须开放):

  • TCP:47984、47989、47990
  • UDP:47998、47999、48000

推荐编码设置(Web UI 中)

  • 分辨率:1920x1080
  • 帧率:60 FPS
  • 码率:20–50 Mbps(局域网千兆带宽充裕)
  • 编码:H.264 / H.265(HEVC)/ AV1

延迟表现

  • 局域网有线:< 15ms(包含编码 + 传输 + 解码全链路)
  • Wi-Fi 5GHz:约 20–40ms
  • 使用硬件编码(NVENC/VAAPI),CPU 负担极低

优缺点

优点缺点
延迟最低,< 15ms配置稍复杂,需要开放防火墙端口
完全开源,自托管,无账号Wayland 下配置相对繁琐
支持鼠标、键盘、手柄完整回传需要 Web UI 初始配置
支持 H.264/H.265/AV1
支持 HDR(VAAPI + KMS capture)
活跃开发,社区完善

2. FFmpeg + 局域网推流

定位:技术用户首选,延迟可控,纯命令行,完全离线

方案 A:NVIDIA GPU(x11grab + NVENC + UDP)

# Linux 发送端
ffmpeg \
  -f x11grab -s 1920x1080 -framerate 60 -i :0.0 \
  -c:v h264_nvenc -preset:v llhq -rc:v vbr_minqp \
  -qmin:v 19 -bf 0 -g 30 \
  -f mpegts udp://192.168.1.100:9000?pkt_size=1316
 
# Windows 接收端(mpv,最低延迟)
mpv udp://0.0.0.0:9000 --no-cache --untimed --vd-lavc-threads=1

方案 B:Intel/AMD GPU(x11grab + VAAPI + TCP)

# Linux 发送端
ffmpeg \
  -f x11grab -s 1920x1080 -framerate 60 -i :0.0 \
  -vaapi_device /dev/dri/renderD128 \
  -vf 'format=nv12,hwupload,scale_vaapi=w=1920:h=1080' \
  -c:v h264_vaapi -qp:v 23 -bf 0 \
  -f mpegts tcp://0.0.0.0:9000?listen
 
# Windows 接收端
mpv tcp://192.168.1.50:9000 --no-cache --untimed

方案 C:软编码 + SRT(最稳定,无需特定 GPU)

# Linux 发送端
ffmpeg \
  -f x11grab -s 1920x1080 -framerate 30 -i :0.0 \
  -c:v libx264 -preset ultrafast -tune zerolatency \
  -b:v 4000k -maxrate 4000k -bufsize 500k \
  -f mpegts srt://0.0.0.0:9000?mode=listener
 
# Windows 接收端(mpv)
mpv srt://192.168.1.50:9000 --no-cache --untimed

方案 D:Wayland 环境(wf-recorder 管道)

# 先安装 wf-recorder(wlroots Wayland 捕屏工具)
# 捕屏并通过管道传给 FFmpeg 推流
wf-recorder -c rawvideo -f - | ffmpeg \
  -re -i pipe:0 \
  -c:v h264_nvenc -preset:v ll -bf 0 \
  -f mpegts udp://192.168.1.100:9000

延迟参考数据

方案典型延迟
VAAPI + mpv(局域网有线)~40ms
NVENC + mpv(局域网有线)~80–120ms
libx264 ultrafast + mpv~120–200ms
VLC 接收(任何方案)~300ms–2s(内置缓冲过大)

注意:接收端必须用 mpv 的 --untimed 模式,VLC 延迟过高不推荐。

验证硬件编码可用性

# 验证 VAAPI(Intel/AMD)
vainfo
 
# 验证 NVENC(NVIDIA)
ffmpeg -encoders | grep nvenc

优缺点

优点缺点
延迟可低至 40ms需要命令行,配置有门槛
完全离线,无账号,无云服务Wayland 需额外工具
支持所有主流硬件编码器Wi-Fi 下 UDP 可能丢包
可封装成脚本,高度可定制VLC 接收延迟高,必须用 mpv

3. xrdp(RDP 协议)

定位:传统远程桌面,功能最完整,但性能有明显短板

xrdp 是开源的 RDP 服务端实现,允许 Linux 通过微软 RDP 协议提供远程桌面。最新稳定版为 0.10.4.1(2025 年 7 月)。

安装步骤

# Linux 端安装 xrdp
sudo apt update
sudo apt install xrdp xorgxrdp -y
sudo systemctl enable xrdp
sudo systemctl start xrdp
 
# 推荐配合轻量桌面(XFCE)
sudo apt install xfce4 xfce4-goodies

Windows 端:直接使用系统自带 mstsc(远程桌面连接),在「体验」选项卡选择「LAN (10 Mbps 或更高)」。

性能数据(实测)

指标xorgxrdp 后端Xvnc 后端
帧率~25 FPS~60 FPS(不稳定)
延迟~100ms~50ms
服务端 CPU 占用60–120%10–20%
画质较好,支持 RemoteFX一般

RDP 协议本身限制帧率为 30 FPS,这是微软协议的设计上限。

GPU 硬件加速

  • Linux 端 xrdp 的 GPU 加速不成熟,2025 年出现了实验性 xrdp-egfx 包,但仅限 Hyper-V 虚拟机场景。
  • 原生 Linux 物理机上 xrdp 无实用的 GPU 加速支持。

GNOME Remote Desktop(更好的 RDP 替代)

GNOME 42+ 内置 RDP 服务端(gnome-remote-desktop),性能好于 xrdp,推荐 GNOME 用户优先使用:

# 在 GNOME 设置 → 共享 → 远程桌面 中直接启用
# 或命令行
sudo apt install gnome-remote-desktop
grdctl rdp enable
grdctl rdp set-credentials <用户> <>

优缺点

优点缺点
原生支持音频、剪贴板、文件传输、打印重定向帧率上限 30 FPS
带宽效率高,WAN 环境也能用Linux 端 CPU 占用高(60–120%)
多用户独立会话3D 图形支持差
Windows 客户端零安装(mstsc 自带)GPU 硬件加速不成熟
安全性好(TLS + NLA 认证)延迟比 VNC 和 Sunshine 高

4. VNC 方案

定位:轻量、低 CPU 占用,局域网延迟低于 RDP

主流 VNC 实现对比

特性TigerVNCTurboVNCTightVNCRealVNC
许可证GPL 开源GPL 开源GPL 开源商业(有免费版)
局域网延迟~50ms~30–50ms~60ms~50ms
帧率30–60 FPS60+ FPS30 FPS30–60 FPS
多线程编码有限完整支持专有优化
VirtualGL 集成可以但非原生原生深度集成不支持不支持
GPU 加速 3D是(VirtualGL)
维护状态活跃活跃较少更新商业持续维护

TigerVNC 安装(通用推荐)

# 安装桌面环境
sudo apt install xfce4 xfce4-goodies -y
 
# 安装 TigerVNC
sudo apt install tigervnc-standalone-server tigervnc-common -y
 
# 设置 VNC 密码
vncpasswd
 
# 创建启动脚本
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
EOF
chmod +x ~/.vnc/xstartup
 
# 创建配置文件
cat > ~/.vnc/config << 'EOF'
session=xfce4
geometry=1920x1080
depth=24
localhost=no
alwaysshared
EOF
 
# 启动 VNC 服务(:1 表示第 5901 端口)
vncserver :1

Windows 端:安装 TigerVNC Viewer 或 RealVNC Viewer。

TurboVNC + VirtualGL(3D 应用专用)

# 安装 VirtualGL
wget https://github.com/VirtualGL/virtualgl/releases/download/3.1.2/virtualgl_3.1.2_amd64.deb
sudo dpkg -i virtualgl_3.1.2_amd64.deb
 
# 安装 TurboVNC
wget https://github.com/TurboVNC/turbovnc/releases/download/3.1.3/turbovnc_3.1.3_amd64.deb
sudo dpkg -i turbovnc_3.1.3_amd64.deb
 
# 配置 VirtualGL(交互式)
sudo vglserver_config
 
# 启动 TurboVNC 服务
/opt/TurboVNC/bin/vncserver :1 -geometry 1920x1080
 
# 运行 3D 应用(使用 GPU)
vglrun <应用程>

优缺点

优点缺点
局域网延迟低(~50ms,低于 xrdp)带宽消耗大(像素级传输)
服务端 CPU 占用低(10–20%)缺少原生音频、剪贴板、文件传输
帧率可达 60 FPS广域网体验差
TurboVNC + VirtualGL 支持 3D 渲染安全性依赖 SSH 隧道
可直接共享物理桌面(x11vnc)默认共享会话,不支持多用户

5. OBS + DistroAV(NDI)

定位:已有 OBS 工作流的用户,画质优秀,带宽需求大

DistroAV 是 OBS-NDI 插件的继任者(2024 年 6 月更名)。

安装步骤

# OBS Studio(推荐 Flatpak 安装)
flatpak install flathub com.obsproject.Studio
 
# DistroAV 插件(Flatpak 方式)
flatpak install com.obsproject.Studio.Plugin.DistroAV
 
# 允许 Flatpak 访问 Avahi(NDI 服务发现依赖)
sudo flatpak override com.obsproject.Studio --system-talk-name=org.freedesktop.Avahi

OBS 中配置:工具 → NDI Output Settings → 启用主输出

Windows 接收端

  1. 安装 Windows 版 OBS + DistroAV 插件,Sources 中添加 NDI Source
  2. 或安装 NDI 官方工具包中的 NDI Monitor

延迟和带宽

  • 千兆有线局域网:约 16–50ms(1–3 帧 @ 60fps)
  • 带宽消耗:1080p60 约 128 Mbps,需千兆网络
  • Wi-Fi 可能抖动,建议有线连接

优缺点

优点缺点
画质优秀,支持 4K/60fps带宽需求大(必须千兆有线)
可叠加字幕/场景切换OBS 本身资源消耗较高
与 OBS 深度集成接收端也需要安装软件
延迟较低NDI SDK 闭源

6. Deskreen(最简单方案)

定位:接收端零安装,适合展示和副屏场景

基于 Electron + WebRTC,Linux 主机运行 Deskreen,Windows 端打开浏览器即可接收。最新版本 v3.1.3(2026 年)。

# Linux 端(AppImage)
wget https://github.com/pavlobu/deskreen/releases/latest/download/Deskreen-*.AppImage
chmod +x Deskreen-*.AppImage
./Deskreen-*.AppImage

Windows 端:打开浏览器访问 Deskreen 显示的局域网地址,无需安装任何软件。

延迟和优缺点

  • 5GHz Wi-Fi 局域网:视觉上基本无延迟,适合文档/视频展示
  • 不适合游戏或需要 < 100ms 延迟的场景
优点缺点
接收端零安装延迟偏高(>100ms),不适合交互操作
端对端加密免费社区版功能受限
支持同时投到多个设备每次只能共享一个窗口(CE 版)
跨平台Wayland 支持有额外复杂性

7. RustDesk(远程维护场景)

定位:TeamViewer 开源替代,适合远程运维,不适合低延迟投屏

wget https://github.com/rustdesk/rustdesk/releases/latest/download/rustdesk-*.deb
sudo dpkg -i rustdesk-*.deb
  • 公共中继服务器:延迟 1–2 秒
  • 局域网直连(Settings → Security → Direct IP Access):可改善,但仍不如 Sunshine
  • 更适合远程运维/支持,而非低延迟投屏

8. Parsec(不适用)

重要说明:Parsec 不支持 Linux 作为 Host(发送端),因此无法用于”Linux 投屏到 Windows”场景。

Parsec 在 Linux 上只能作为 Client(接收端),即只能从 Linux 连接到 Windows/macOS 主机,方向相反。


三、综合延迟对比表

方案局域网延迟帧率上限硬件加速配置难度Linux Host 支持
Sunshine + Moonlight< 15ms120+ FPS完整(NVENC/VAAPI/AV1)完整
FFmpeg + VAAPI + mpv~40ms60 FPS完整完整
FFmpeg + NVENC + mpv~80–120ms60 FPS完整完整
TigerVNC~50ms60 FPS完整
TurboVNC + VirtualGL~30–50ms60+ FPSGPU 3D 渲染完整
OBS + NDI~20–50ms60 FPS部分完整
xrdp + mstsc~100ms30 FPS无(不成熟)完整
GNOME Remote Desktop~80ms30 FPS有限完整
Deskreen>100ms30 FPS极低完整
RustDesk~200ms+30 FPS极低完整
Parsec不支持

四、场景推荐

场景 A:追求最低延迟,需要交互(鼠标/键盘回传)

推荐:Sunshine + Moonlight

延迟 < 15ms,完全开源,支持硬件编码,支持游戏手柄。局域网投屏的最优方案。

场景 B:纯单向投屏(只显示,不操控)

推荐:FFmpeg + VAAPI/NVENC + mpv

有命令行能力时,这是延迟最可控、最轻量的方案。建议封装成一个启动脚本。

场景 C:需要完整远程桌面功能(音频/剪贴板/文件传输)

推荐:xrdp + mstscGNOME Remote Desktop(GNOME 用户)

虽然帧率受限(30 FPS),但功能最完整,Windows 端无需额外安装软件。

场景 D:3D 应用 / GPU 密集型渲染

推荐:TurboVNC + VirtualGL

HPC/CAD/科学可视化场景的标准方案,可将 OpenGL 渲染重定向到服务器 GPU 后传输。

场景 E:接收端不想安装任何软件

推荐:Deskreen

浏览器即可接收,适合展示文档、偶尔投屏,对延迟不敏感的场景。


五、Wayland 环境注意事项

Wayland 的权限模型禁止”全局截屏”,必须通过 xdg-desktop-portal + PipeWire。

# 安装必需组件
sudo apt install pipewire wireplumber xdg-desktop-portal
 
# wlroots 合成器(Sway/Hyprland)需要额外安装
sudo apt install xdg-desktop-portal-wlr
# 或 Hyprland 专用
sudo apt install xdg-desktop-portal-hyprland
 
# 确保服务运行
systemctl --user enable --now pipewire wireplumber xdg-desktop-portal

各方案在 Wayland 下的状态:

方案Wayland 支持说明
Sunshine支持(v0.22.0+)需设置 capture = kms
FFmpeg需变通用 wf-recorder 管道或 kmsgrab
xrdp不支持需在 XWayland 下运行
GNOME Remote Desktop原生支持GNOME 42+ 内置
TigerVNC不支持需 X11 会话
Deskreen部分支持依赖 PipeWire

六、参考资料