无线串流教程
在日常编码工作中,频繁在多个窗口间切换屏幕令人分神。我手头有一台屏幕素质优异的平板电脑,却一直未被充分利用。于是,我萌生了一个想法:能否将平板变为笔记本的无线副屏?经过一番探索,我成功通过 Sunshine + Moonlight 串流方案实现了这一目标,体验非常流畅。现将具体操作流程整理成文,以供参考。
环境与工具
软件工具:
- Sunshine: 开源、跨显卡的串流服务端(主机端)
- Moonlight: 跨平台的串流客户端(客户端)
- ParsecVDisplay: 虚拟显示器驱动
操作系统:
- Windows10 专业版
工具简介与协作原理
在开始操作前,了解这三个工具的分工至关重要:
Sunshine:这是运行在Windows电脑上的服务端软件。它负责高效捕获系统屏幕画面与音频,进行硬件编码,并通过网络流式传输。其跨显卡兼容性和低延迟特性,是高质量串流的基石。
Moonlight:这是安装在平板上的客户端软件。它负责接收来自Sunshine的音视频流,并在平板上进行高清、低延迟的解码与显示。同时,它将平板的触控或外接输入指令回传给电脑,实现交互控制。
ParsecVDisplay:这是一个虚拟显示器驱动。它的核心作用是创建一个虚拟的“第二块屏幕”,从而 “欺骗” Windows系统识别到额外的显示输出。我们将此虚拟显示器的内容通过Sunshine串流至平板,即可实现真正的多屏扩展,而非简单的屏幕镜像。
总结:ParsecVDisplay 创建副屏信号 → Sunshine 捕获并串流该信号 → Moonlight 在平板上接收并显示。三者协同,便将平板打造成了一个真正的无线副屏。
操作步骤
部署Sunshine服务端
在电脑上下载并安装 Sunshine。请注意,安装路径中不得包含中文字符,以避免潜在的运行错误。
安装完成后,默认会跳转至其Web配置界面。若未自动打开,您可以在系统任务栏的Sunshine图标上右键,选择 Open Sunshine,或在浏览器中手动输入 https://localhost:47990
进行访问。
进入 Configuration
-> General
标签页,将语言切换为中文,记得保存。
再次右键任务栏Sunshine图标,选择 Restart
以重启服务并使配置生效。
配置Moonlight客户端并建立基础串流
在平板电脑上安装 Moonlight。
确保平板与电脑连接至同一局域网(或直接连接至电脑开启的移动热点)。
启动Moonlight,它应能自动发现局域网内的电脑主机。点击连接,即可看到电脑主屏幕的镜像,此时基础串流已建立。
你可以在Moonlight的设置中,根据网络状况调整串流的分辨率、码率、帧率以及音频输出设备,以优化体验。
创建虚拟副屏
仅实现屏幕镜像尚不能满足副屏需求,我们需要创建一个独立的显示空间。
在电脑上下载并运行 ParsecVDisplay。
启动软件,点击 Add Display
,系统将自动创建一个虚拟显示器。
在该虚拟显示器上右键,可以进行详细配置:
Resolution: 设置分辨率。
Refresh Rate: 设置刷新率。
Orientation: 设置方向(横向、纵向等)。
关键项:记录 \\.\DISPLAYx
(x为数字)的值,下一步将用到。
配置Sunshine串流虚拟屏幕
现在,我们需要让Sunshine捕获并串流我们刚创建的虚拟屏幕。
打开Sunshine的Web配置页面,进入 配置
-> 音频/视频
标签页。
在 输出名称
字段中,填入上一步记录的 \\.\DISPLAYx
值。
(可选)配置音频:若希望电脑扬声器统一输出声音,可进行如下设置:
打开设备管理器
-> 声音、视频和游戏控制器
,在您正在使用的扬声器设备上右键,选择 属性
-> 详细信息
-> 属性
,在下拉菜单中选择设备id,记录下面属性值。
在Sunshine的 音频输出设备
和 虚拟音频输出设备
字段中,均填入该值。
同时确保 安装Steam音频驱动程序
选项处于禁用
状态。
完成所有配置后,务必在任务栏右键Sunshine图标,选择 Restart
以重启服务。
验证与最终设置
从平板端的Moonlight断开连接,然后重新连接。此时,平板应显示为一块空白或带有壁纸的“新屏幕”。
在电脑上打开 设置
-> 系统
-> 显示
。你将看到两个屏幕标识,其中一块即为你的虚拟副屏。
你可以在此界面中,通过拖拽屏幕图示来调整物理屏幕与虚拟副屏的相对位置,并可分别为它们设置合适的分辨率与缩放比例。
- 重要提示:在Sunshine中修改任何配置后,都必须执行
Restart
才能生效。
常见问题与解决方法
- 忘记Sunshine的Web界面用户名/密码
解决:卸载Sunshine后重新安装,即可重置凭据。
- 启用虚拟显示器后,Sunshine报错:
Fatal: Unable to find display or encoder...
解决:
- 检查Sunshine
配置
->音频/视频
->输出名称
是否与ParsecVDisplay中显示的\\.\DISPLAYx
完全一致。 - 重启Sunshine服务。
- Moonlight端提示
串流终结,检查防火墙和端口转发规则
解决:
首先,确认Moonlight中输入的电脑IP地址正确无误。
其次,检查虚拟屏幕配置是否正确(参考问题2的解决方案)。
再次,重启Sunshine服务。
最后,对于笔记本电脑,请进入BIOS/UEFI设置或显卡控制面板,关闭“独显直连”模式,切换至“混合图形”模式,然后重启电脑。此举是因为独显直连模式下,核显被屏蔽,可能导致Sunshine无法正常捕获屏幕。混合模式能自动调度核显与独显,在保证性能的同时兼顾兼容性与能效。