最近买了Steam端的双人成行,有时候想躺在床上玩,但是把电脑显示器什么的搬过来太麻烦了,所以想到是否可以串流到平板上,因为之前玩PS5时用到过串流软件体验还是很不错的,首先想到的是steam link这个官方提供的串流方案,用起来还算不错,但是手柄连接只能玩steam里的游戏,所以寻求一种通用的串流方案。
Moonlight + Sunshine
Moonlight + Sunshine 是一套基于 NVIDIA GameStream 协议 的 局域网 / 互联网远程桌面与游戏串流方案。
- Sunshine:
运行在 被控端(服务器 / 主机) 的开源串流服务 - Moonlight:
运行在 客户端(手机 / 平板 / PC / 电视) 的串流接收与输入端
可理解为:
Sunshine = 服务端(推流)
Moonlight = 客户端(接收 + 控制)
体验下来非常不错延迟很低,局域网内基本可以做到30ms左右的延迟,普通游戏的游玩基本感受不到什么延迟,而且对手柄的支持非常好,居然可以直接调用手柄的陀螺仪,让我非常惊喜,而且要互联网串流也完全没问题。
Sunshine安装
Sunshine是开源软件,直接到github上下载即可,下载页面:https://github.com/LizardByte/Sunshine/releases
相信用这个的大多数都是在windows电脑上,所以下载这个Sunshine-Windows-AMD64-installer.exe安装版就可以了,他可以帮我们注册服务,方便开机启动,这样我们可以远程打开电脑自动运行。
安装完成运行,会提供一个47990的本地管理端口,浏览器访问:http://localhost:47990/既可打开,首次访问要求设置用户名密码,设置好重新进入就可以看到主页面,这里暂时基本不用配置其他什么了。
Moonlight安装
如果是要串流到Android平板或者手机上,可以到这里下载:https://github.com/moonlight-stream/moonlight-android/releases
我这里下载不需要root权限的版本:app-nonRoot-release.apk
如果是苹果用户直接去app store搜索Moonlight即可找到安装,安装好后打开局域网内可以直接扫描添加服务端,当你服务端Sunshine已启动,自动就会识别到服务端,点击连接会要求在服务端输入PIN码以及设备名称,回到Sunshine配置页面点击PIN菜单,输入Moonlight上连接时弹出的PIN码,随便填写一个设备名称确定,即可完成配对,这时再到Moonlight上连接既可连上服务端。
互联网串流
这也是我用这套方案串流最大的好处之一,在外面使用手机流量也可以进行云游戏,前提是你家的宽带拥有互联网IP,路由器也支持端口映射。
以下是Sunshine 使用的核心端口一览
整理了 Sunshine 在默认配置下使用的核心端口,以及在 互联网远程串流 场景中需要进行端口映射的最小集合。
| 端口号 | 协议 | 用途说明 | 是否建议公网映射 |
|---|---|---|---|
| 47990 | TCP | Web 管理界面(配置、日志、应用管理) | ❌ 不建议 |
| 47989 | TCP | Moonlight ↔ Sunshine 会话控制通道 | ✅ 必须 |
| 47998 | UDP | 视频流传输(主要带宽占用) | ✅ 必须 |
| 47999 | UDP | 音频流传输 | ✅ 必须 |
| 48000 | UDP | 输入数据回传(键盘 / 鼠标 / 手柄) | ✅ 必须 |
其中后面4个端口是需要要映射出来的,第一个是配置管理页面的端口,这个最好不要映射。
我们在局域网上PIN配对完成后,互联网上只需要手动添加服务输入外网IP连接即可。
评论区