Sunshine 游戏串流服务器完整教程:零成本 5 分钟搭好家庭串流中心
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
云游戏按月订阅,主流档位每月 20 到 30 元,一年就是 240 到 360 元,而且跨运营商时延迟经常冲到 50 毫秒以上,画质还要被运营商二次压缩。同一台 PC 装上 Sunshine 这套自托管方案,硬件费用是 0 元,局域网内端到端延迟通常只有个位数毫秒,码率可以拉到 40 Mbps 以上自己说了算。Moonlight 客户端则几乎不花钱——你在任意一块屏幕上装好它,就能连上这台 Sunshine 主机。读完本文,你会拿到一个真正可串流、可玩 3A 大作的客厅或卧室屏幕,全程不花订阅费。
算一笔账:云游戏月费对打家里的串流服务器 💰
把两条路线摆在一起:一条是向机房租算力,每月交钱,延迟随网络波动;另一条是把算力留在自家 GPU 里,只付一次电费。Sunshine 是开源自托管的串流服务端,配合 Moonlight 播放端使用,从安装到第一帧画面大概 5 分钟,之后没有任何周期性开销。唯一的"成本"是网络质量——有线直连加 5GHz WiFi,基本就是串流体验的上限。
解剖串流通道的三层:服务端、客户端与中间网络 🔬
一条串流通道拆开看只有三层。
服务端(Sunshine):跑在你那台游戏 PC 上,负责两件事——用显卡硬件编码器把画面帧实时压成视频流,以及把客户端发来的键鼠、手柄输入模拟回系统。它的定位在官方仓库里写得很直接:Self-hosted game stream host for Moonlight。
客户端(Moonlight):只负责播放。它接收视频流解码上屏,同时把你的输入打包发回服务端。平台覆盖一句话概括:Windows、macOS、Linux、Android、iOS、tvOS/Apple TV、Fire TV,甚至树莓派都能装。
中间网络:跑的是一路加密的 UDP 视频流加一路低延迟输入流,走的是你自家庭院内的局域网(或打通后的广域网),数据不出门。
这里要和厂商捆绑方案划清界限:GameStream 这类功能绑定特定厂商生态,客户端选择、服务端逻辑都不归你管,随时可能停更;Sunshine 是全开源项目,服务端逻辑你完全自主,客户端你自选(Moonlight 只是默认搭档,理论上任何兼容 RTSP 串流的播放端都可以接)。编码层则统一复用各家显卡的硬件能力,不重复造轮子。
动手前:硬件与系统核对清单
最低要求(能跑起来):
- 显卡带硬件编码:NVIDIA 用 NVENC(主流独显都有),AMD 用 AMF,Intel 核显用 VAAPI,macOS 走 Videotoolbox
- 操作系统:Windows 10/11、主流 Linux 发行版、macOS 均可
- 没有独显也能跑:CPU 软件编码兜底,能看但帧率上限低、占用高,只建议尝鲜
推荐配置(体验好):
- 近五年内的 NVIDIA 或 AMD 独立显卡,硬件编码压力几乎不占游戏性能
- 主机侧千兆有线,客户端 5GHz WiFi 或有线
- 1080p60 是甜点档:4K120 对带宽和编码器都是满负荷
逐项对照你的硬件该选哪个编码器、参数怎么填,看 官方配置文档,按章节搜索你的显卡型号即可。
安装到配对五步走:第一帧画面 5 分钟出
第 1 步,装服务端。按你的系统选一条路:
Windows:去 Sunshine 官网下载安装程序,一路下一步装完。
flatpak install flathub dev.lizardbyte.app.SunshinemacOS:
brew install lizardbyte/tap/sunshine喜欢容器化折腾的:
docker pull lizardbyte/sunshine卡点提示:Linux 用户 Flatpak 装好后第一次启动可能较慢,它在初始化证书和端口。
第 2 步,打开 Web 管理界面。浏览器访问https://localhost:47990。注意是 HTTPS,浏览器会弹自签名证书警告,直接点"继续访问",这是正常的。卡点提示:打不开页面多半是误用了 http://,或 47990 端口被别的程序占了。
第 3 步,装客户端。在手机、平板或电视上装 Moonlight,进"添加电脑",填主机 IP。
第 4 步,PIN 配对。客户端会生成一串 PIN 码,回到 Sunshine 网页端把它填进配对页。这里有个坑:PIN 码有短时效,别盯着电视看太久,过期了重新生成一个即可。
第 5 步,连接出画面。配对成功后点连接,桌面画面就会出现在你的屏幕上。
想从源码构建的话,克隆 Sunshine 仓库 后按 CMake 流程走,细节在 构建指引 里写得很细。
把通道调顺:网络、编码、码率排查动线
顺序别乱:先稳网络,再换编码,最后动码率——前两层没排除就去抠码率,纯属白调。
先稳网络。主机侧换有线,客户端上 5GHz WiFi 并尽量靠近路由器,路由器开 QoS 把串流流量设最高优先级。原因很直接:串流是单向持续大流量,一个 1080p60 的视频流就占 10–20 Mbps,WiFi 丢包会立刻体现为画面马赛克和音画不同步,而带宽瓶颈会导致周期性卡顿——有线能把这两类问题一次性掐掉。
再换编码。在 Web 界面的编码器设置里确认走的是硬件编码:NVIDIA 对应 NVENC,AMD 对应 AMF,Intel 核显对应 VAAPI。如果你的显卡支持,把编码格式从 H.264 切到 HEVC,同画质下码率能省约 30%,省出来的就是余量;想再省就试 AV1,前提是编码端和解码端都支持。原因是格式效率差是硬性的,网络没变但占用降了,卡顿自然少。
最后动码率与分辨率。客户端把目标定在 1080p / 8–12 Mbps,网络吃紧就降到 720p / 4–10 Mbps。原因是码率决定画质上限,帧率优先于分辨率:60 帧的 720p 观感远好于 30 帧的 4K。预设档位切到"性能"档能再压一档编码延迟,代价是画质略降,串流打游戏时这笔交易通常划算。完整参数解释见 性能调优文档。
进阶:远程回家端口配置与同一台机器多端共享 🌍
远程回家。原理一句话:让路由器把家用网络的指定端口转给游戏 PC。Web 配置页搜索 "UPnP",把upnp设为enabled,Sunshine 会自动让路由器把串流端口映射出去;路由器不支持 UPnP 就进后台手动做同样的转发。常用端口:TCP 47990(RTSP 会话控制)、UDP 47984(音频)、UDP 47989(会话)、UDP 47991(文件)、UDP 47998–47999(输入与摄像头)、UDP 48010(视频)。
公网暴露必须守两条线:强密码 + 版本保持最新,一条都不能省。远程体验受上行带宽约束,建议码率压到 4–10 Mbps、分辨率降到 720p。
多端共享。同一局域网内的多个 Moonlight 客户端可以各自发现并连接这台 Sunshine——平板在客厅串流、笔记本在书房开桌面,互不冲突。配合应用管理给不同成员配不同入口:
"应用"页内置了 Desktop(整块桌面)和 Steam(大屏模式)两个常用入口,点 Add New 还能给任意启动器加自定义应用,填路径和启动参数,每个应用可单独配分辨率和帧率。一人装机、全家错峰用的拓扑,就是自托管方案最省钱的地方。
踩坑自救速查表:症状、原因与动作一览
| 症状 | 常见原因 | 解决动作 |
|---|---|---|
| Moonlight 搜不到主机 | 不同网段、防火墙拦了发现广播 | 确认同一路由器下;放行 47990 等端口;直接在客户端手动填 IP |
| 网页 47990 拒绝连接 | 用了 http、端口被占、服务没起 | 改 https 开头;检查端口占用进程;确认 Sunshine 进程在运行 |
| 提示找不到编码器 | 驱动太旧或编码器选错 | 更新显卡驱动到最新版;按硬件核对 NVENC/AMF/VAAPI 选择 |
| 画面周期性卡顿 | WiFi 丢包或带宽被挤占 | 主机改有线;QoS 提权;码率下调一档 |
| 按键/手柄延迟明显 | 编码预设偏画质、无线干扰 | 客户端切低延迟模式;编码预设改"性能"档;手柄换 2.4G 或有线 |
| 忘了 Web 管理密码 | 凭证遗失 | 命令行执行sunshine --creds 新用户名 新密码重置 |
| 远程始终连不上 | 转发规则缺失、UPnP 未生效 | 逐条核对端口列表;临时关路由器防火墙做对照测试 |
说句实在的,卡住时看日志比猜快得多:网页端"日志"页能实时滚动输出,编码器、GPU、网络哪一环出错一眼可见。
日志文件位置:Windows 在%ProgramFiles%\Sunshine\config\sunshine.log,Linux 和 macOS 在~/.config/sunshine/sunshine.log。更细的分场景排查流程,翻 故障排查文档。
你的串流路线图:今天就做这几件事
- 游戏 PC 上装好 Sunshine,访问
https://localhost:47990完成首次设置 - 平板或电视装 Moonlight,PIN 配对后串流一次桌面
- 在"应用"页加上 Steam 入口和一个自定义游戏
- 按第五节动线走完网络、编码、码率三轮排查
- (进阶)开 UPnP 或手动转发端口,解锁出差远程回家
装完这套之后,云游戏那份每月 20 到 30 元的订阅就可以退了——同样的钱,你已经拥有了一台延迟只有个位数毫秒、没有码率上限、数据永远不出家门的串流服务器。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考