Sunshine串流配置(熄屏串流)
003号用户
2023年03月05日 11:22

配置平台:

OS:win11 21h2

显卡:AMD 6900XT

一、相关资源

1.sunshine(串流): https://github.com/LizardByte/Sunshine/releases(选择sunshine-windows.exe或者sunshine-windows.zip进行下载,以下以sunshine-windows.exe进行示例)

2.ViGEmBus(虚拟手柄):https://github.com/ViGEm/ViGEmBus/releases

3.steam虚拟音频:https://github.com/FCGWolfe/SteamLinkAudioDrivers/archive/refs/heads/main.zip

4.moonlight-android(安卓端):https://github.com/moonlight-stream/moonlight-android/releases

5.moonlight-switch(switch端):https://github.com/XITRIX/Moonlight-Switch/releases

二、配置步骤

1.安装sunshine

一直点击下一步直到安装完成,途中会提示是否安装虚拟手柄,点击否即可

2.安装虚拟手柄驱动,一路next安装即可

3.安装虚拟音频驱动,将下载得到的压缩包解压到任意位置(例如:F:\downloads\SteamLinkAudioDrivers-main)Win + R打开“运行”窗口(或是在开始按钮上右键选择“运行”)输入

代码块
JavaScript
自动换行
复制代码
hdwwiz
复制成功

回车运行,按下图进行安装虚拟声卡

安装完成之后,在系统右下角的声音中应该多出了两个steam相关的音频设备

4.sunshine配置

浏览器中打开

代码块
JavaScript
自动换行
复制代码
https://localhost:47990/
复制成功

一定是https,会提示不安全,不用管,继续访问,第一次进入会让配置后台密码,配置完成之后等待页面刷新,然后进入后台进行以下配置

Configuration---General---Origin Web UI Allowed---选择【Only localhost may access Web UI】(仅本电脑可访问后台页面)

Configuration---General---UPnP---选择【Enable】(开启upnp)

记得保存(先save然后apply)!!!

Configuration---Audio/Video---Virtual Sink【填入以下值】

此电脑---管理(右键)---设备管理器---音频输入和输出---Steam Streaming Speakers---属性(右键)---详细信息---属性(选择设备实例路径)在值上右键复制,粘贴至Virtual Sink输入框只需要类似此格式

代码块
JavaScript
自动换行
复制代码
{0.0.0.00000000}.{F6598FA5-4C10-4EA7-839F-346FE9B8E216}
复制成功

的值,多余的删除掉

【填入以下值】

找到

代码块
JavaScript
自动换行
复制代码
C:\Program Files\Sunshine\tools
复制成功

此路径,每个人安装sunshine位置可能不同,这是默认路径,在导航栏中输入

代码块
JavaScript
自动换行
复制代码
cmd
复制成功

然后回车

在控制台中输入

代码块
JavaScript
自动换行
复制代码
.\dxgi-info.exe
复制成功

然后回车,会得到类似以下的结果

将【AMD Radeon RX 6900 XT】填入Adapter Name,不同厂商,品牌,型号的显卡值不同

Configuration---Audio/Video---Output Name【填入以下值】

使用上一步中获取到的值将【\\.\DISPLAY1】填入Output Name

记得保存(先save然后apply)!!!

Configuration---Advanced---Channels 同时可以向几台设备传输画面,默认1台

5.防火墙配置(不必须)

Win + R打开“运行”窗口(或是在开始按钮上右键选择“运行”)输入

代码块
JavaScript
自动换行
复制代码
cmd
复制成功

打开控制台,分别执行以下两条命令

代码块
JavaScript
自动换行
复制代码
netsh advfirewall firewall add rule name="sunshine_udp" dir=in protocol=udp localport=47998,48000,47999 action=allow

netsh advfirewall firewall add rule name="sunshine_tcp" dir=in protocol=tcp localport=47984,47989,48010 action=allow
复制成功

6.配对

下载安装安卓或其他端moonlight,打开之后会自动搜索服务主机,如果没有显示任何主机,可以尝试以下方案

a.执行第5步新增防火墙规则

b.Win + R打开“运行”窗口(或是在开始按钮上右键选择“运行”)输入

代码块
JavaScript
自动换行
复制代码
cmd
复制成功

打开控制台,执行以下命令

代码块
JavaScript
自动换行
复制代码
netstat -an
复制成功

检查tcp和udp中端口是否正常监听

c.在 任务管理器---服务中寻找“sunshinesvc”服务,查看此服务是否正常运行(简便方法:切换到服务标签页后在英文输入下直接输入“sunshine”系统会自动寻找)在服务上 右键---重新启动 尝试重新运行服务

d.重启电脑...

三、熄屏串流

以下1和2配置均需要一台以上显示器,一般为一个正常显示器 +(虚拟显示器 或 显卡欺骗器 或 正常显示器?)在系统显示中设置“仅在1上显示”

虚拟显示器可参照这位博主的教程:网页链接​

显卡欺骗器在各个网商都有售卖,选最便宜的即可,注意自己目前显示器所连接的显卡还空余什么显示接口(hdmi或dp)购买时选对应接口的欺骗器,将欺骗器插在显卡空余的接口上

笔记本可尝试在系统电源选项中配置合盖时不进行任何操作

1.手动切换显示器

串流前关闭主显示器即可

2.自动切换显示器此方案可能会导致蓝屏,请谨慎使用!!!

将MultiMonitorTool解压到任意位置(例如:D:\MultiMonitorTool)

进入sunshine后台(https://localhost:47990/)找到 Applications---点击Add New 按照下图2中进行填写,填写完成之后点击save,save之后sunshine会断开所有正在串流的设备,在moonlight应用目录中会多出新增的应用

Application Name: 可以随意填写,最好 英文+数字 方式

Command Preparations:点击Add新增一条填入以下值,【D:\MultiMonitorTool】为解压路径,按自己实际解压路径来,disable和enable顺序不可调换,以下命令的含义为:在启动应用(Do)前关闭显示器1启用显示器2,关闭后(Undo)反向操作。1和2跟显示器有关在 系统设置---屏幕 中可以查看,工具解压目录下有一份readme.txt文件里面列举了此工具所有可用命令,你猜猜问什么不用/switch?

代码块
JavaScript
自动换行
复制代码
Do:D:\MultiMonitorTool\MultiMonitorTool.exe /disable 1 /enable 2
Undo:D:\MultiMonitorTool\MultiMonitorTool.exe /disable 2 /enable 1
复制成功

Command:C:\Windows\system32\mstsc.exe(主要应用,此处为远程桌面,可以更换为其他应用,串流期间不要关闭主应用,关闭后会导致串流结束)

Image:在moonlight中展示的应用图片,存放路径为:C:\Program Files\Sunshine\assets,将要使用的图片放入此目录,不要太大,太大不确定会有什么问题,可以参考已有的图片

待续...