环境
和要串流的设备位于同一局域网,如果不是,请尝试使用Tailscale进行虚拟组网,参见教程:Tailscale 不完全使用指南。
服务端
如果你是 NVIDIA 显卡,可以使用 GeForce Experience 中的 NVIDIA SHIELD 功能。
更推荐使用 Sunshine (官网) 作为服务端,Sunshine的默认配置可以很好地工作,一般不需要修改。
以下内容假定在 Windows 11 中使用 Sunshine 进行串流。
客户端
使用 Moonlight (官网) 作为串流的客户端。
可以参考B站上阿西西的教程。
在 Moonlight 客户端中应该可以看到主机,在 Sunshine Web 控制台中输入 PIN 以配对。请在客户端设置中选择合适的串流分辨率和帧数。
隐私屏
访问USB 虚拟显示器驱动网站,找到 usbmmidd_v2.zip
下载,解压到一个安全的地方,比如 D:\Software\
,双击 usbmmidd.bat
安装。
打开注册表,在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\usbmmIdd\Parameters\Monitors
中设置虚拟显示器的分辨率,可以给名称为 0~9 的项添加串流客户端的屏幕分辨率为字符串值。
在 Sunshine Web 控制台的 Applications 标签页中点击 + Add new
,Application Name 设置为 Private Desktop
,下方 Command Preparations 中添加以下命令:
▶ Do Command ↺ Undo Command 🛡 Run as Admin "D:\Software\usbmmidd_v2\deviceinstaller64.exe" enableidd 0
"D:\Software\usbmmidd_v2\deviceinstaller64.exe" enableidd 0
☑ Elevated "D:\Software\usbmmidd_v2\deviceinstaller64.exe" enableidd 1
"D:\Software\usbmmidd_v2\deviceinstaller64.exe" enableidd 0
☑ Elevated rundll32 user32.dll,LockWorkStation
☐ Elevated DisplaySwitch /external
DisplaySwitch /internal
☐ Elevated 多执行一次“关闭虚拟显示器”是为了防止虚拟显示器多开导致串流主机分辨率异常且操作卡顿。
rundll32 user32.dll,LockWorkStation
是为了在结束串流后锁定电脑。注意,串流暂停或结束后电脑声音将不通过串流设备播放。
点击 Save
按钮保存,你应该能看到串流列表里多了刚刚添加的隐私屏应用。
触摸优化
将 Windows 设置 > 时间和语言 > 输入 > 触摸键盘 > 显示触摸键盘
改为 始终
,即可在点击文本框时自动弹出。
将 Windows 设置 > 个性化 > 任务栏 > 系统托盘图标 > 触摸键盘
改为 始终
,即可在任务栏上显示触摸键盘按钮。串流时从屏幕底端中部上划,即可显示开始菜单;从屏幕底端右侧上划,即可显示控制中心;手势被打断后,只显示任务栏。
原版 Moonlight 客户端三指轻触即可呼出设备输入法。
Moonlight 修改版 (下载链接在视频简介) 支持 Windows 多点触控。在安卓设置中开启 Moonlight 物理键盘的无障碍功能,即可将安卓设备上的快捷键操作重定向到串流主机上。如果想唤出设备输入法键盘,可以在 Moonlight 修改版设置中启用 快捷选项
。
特别地,在 MIUI / HyperOS 中,可以开启 设置 > 桌面 > 系统导航方式 > 屏蔽三指、四指手势
,并将 Moonlight 添加到 MIUI 游戏加速列表中,在游戏加速设置中选择屏蔽手势、防误触,在单项游戏高级设置中关闭边缘误触抑制。这样做可以让多指手势通过 Moonlight 发送给宿主机,而不是被 MIUI / HyperOS 捕获。
最后,享受你的串流体验吧!