Moonlight + Sunshine互联网串流方案介绍

最近买了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连接即可。

相关推荐
向宇it2 小时前
2025年技术总结 | 在Unity游戏开发路上的持续探索与沉淀
游戏·unity·c#·游戏引擎
数说故事4 小时前
有哪些采集游戏大数据的工具推荐?数说聚合提供全网游戏阵地数据
游戏·数据采集·用户洞察
科技块儿8 小时前
如何快速识别游戏安全运营中外挂与多开用户?
安全·游戏
前端小L8 小时前
贪心算法专题(五):覆盖范围的艺术——「跳跃游戏」
数据结构·算法·游戏·贪心算法
前端小L8 小时前
贪心算法专题(六):步步为营的极速狂飙——「跳跃游戏 II」
算法·游戏·贪心算法
HMS Core8 小时前
《地铁跑酷》接入HarmonyOS SDK,显著优化游戏启动体验
游戏·华为·harmonyos
烧冻鸡翅QAQ1 天前
从0开始的游戏编程——开发前的编程语言准备(JAVAScript)
开发语言·javascript·游戏
Jet_581 天前
一次完整的 Unity Mono 安卓游戏逆向:Frida Hook 绕过碰撞死亡判定
android·游戏·unity
2401_841495641 天前
Python适合开发的游戏
python·游戏·pygame·tkinter·panda3d·arcade·ursina