一台游戏机怎么喂饱全家屏幕?Sunshine 串流主机搭建全记录
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款免费开源的游戏串流服务器,它的使命很单纯:把一台电脑的画面和声音,实时送到客厅电视、卧室平板、出差笔记本——你坐哪儿,游戏就跟到哪儿。
先说一个扎心的周末
上周末几个朋友来家里聚餐,酒足饭饱后想开一局《双人成行》。可问题是,游戏装在书房那台 RTX 4070 主机里,客厅的 4K 电视除了投屏吃灰,什么也干不了。结果一群人挤在书房,有人坐椅子有人站门口,游戏体验直接打了对折。
这大概是每个游戏玩家的共同痛点:主机性能再强,也强不过"人得待在它旁边"这条物理定律。
想解决,办法只有两个:要么把主机搬来搬去,要么——让游戏自己"走"过来。后者就是串流,而 Sunshine 正是干这件事的。
串流这回事,说破了就三步
很多新手一听"串流"就觉得高深,其实拆开看特别简单:
- 编码:主机上的 Sunshine 调用显卡硬件编码器,把画面压成视频流。NVIDIA 用 NVENC、AMD 用 AMF、Intel 用 QuickSync,Linux 还能走 VAAPI,macOS 走 Video Toolbox,几乎不占 CPU。
- 传输:压缩后的数据通过 UDP 网络包送到客户端,讲究低延迟、稳带宽。
- 解码:客厅的客户端收到数据后实时解出画面,投到电视上。
整个链路里,Sunshine 是服务端(负责编码和发送),Moonlight 是客户端(负责接收和解码),两者互补,天作之合。它甚至兼容 NVIDIA 已停服的 GameStream 协议,所以 Moonlight 全家族客户端开箱即用,不用额外折腾。
市面上方案这么多,为什么盯上它
动手之前先想清楚:同类工具不少,凭什么选 Sunshine?给你一张对比表,一目了然:
| 维度 | Sunshine | NVIDIA GameStream | Parsec | Steam Link |
|---|---|---|---|---|
| 开源免费 | ✅ 完全免费开源 | 已停服 | 部分功能收费 | 免费 |
| 显卡限制 | 全系硬件编码通吃 | 仅限 N 卡 | 无明显限制 | 无明显限制 |
| 客户端生态 | Moonlight 全平台 | 已停服 | 自家客户端 | 仅 Steam |
| 平台覆盖 | Win / Linux / macOS / BSD | 已停服 | Win / macOS | 多端 |
| 自由度 | 全自托管,配置任改 | 已停服 | 有商业授权限制 | 只串 Steam 游戏 |
GameStream 官方早就关停了,Sunshine 就是它最顺手的继任者;Parsec 好用但有商业门槛;Steam Link 方便却只认自家游戏。Sunshine 赢在"免费 + 全平台 + 无限制"三件套,协议兼容又让它白捡了 Moonlight 一整片生态,这买卖划算得很。
动手:半小时搭起你的私人串流中心
别慌,流程比你想的顺。按你的系统对号入座:
- Windows:官网下载安装包,双击一路下一步。
- Linux:
flatpak install flathub dev.lizardbyte.app.Sunshine - macOS:
brew install sunshine - 想尝鲜:直接编译源码(仓库地址文末自取)。
装完第一步,浏览器打开http://localhost:47990,你会看到欢迎页——这里要求你创建一个 Web 管理界面的用户名和密码。
密码务必妥善保存,页面会明明白白警告你:这是唯一一次看到凭证的机会,丢了只能走命令行重置(下文的避坑清单有救急方案)。
登录后,在手机、平板或另一台电脑装上 Moonlight 客户端,保证和主机在同一个局域网,打开它就能自动发现你的 Sunshine,输入配对码,连接完成——现在,你可以在客厅电视上操控书房主机的完整桌面了。
配置项看不懂也没关系,页面右上角的搜索框是你的救星:输入bitrate、UPnP这类关键词,相关设置会立刻高亮定位。比如搜Upnp,能直接看到"自动配置端口转发"的说明卡片。
新手最值得先调的两个参数:码率(bitrate)和端口(port)。码率影响画质与带宽占用,端口默认 47989,一般不用动。更完整的参数说明,官方都写在配置文档里了,查起来很方便。
进阶玩法:把串流玩出花样
基础链路通了之后,这些功能才是 Sunshine 真正值钱的地方。
把桌面和游戏都收进"节目单":Applications 页面就是你的串流节目单。桌面(Desktop)默认配好,随时远程访问;想串流特定游戏,点 Add New 填游戏名、选可执行文件路径就行。注意一点:新增应用后要重启 Moonlight 客户端,列表才会刷新。
官方精选的客户端全家桶:Featured Apps 页面把 Moonlight PC、Moonlight for Android、Moonlight Embedded(树莓派也能变身串流盒子)都替你整理好了,一站式配齐。
PIN 码异地配对:Web 后台不只能本机管理,任何设备的浏览器打开 47990 端口都能完成配对授权。出差在外,也能远程给家里的新设备放行,这个功能谁用谁知道。
端口族整体偏移:嫌默认端口碍事?配置里只改port = 47989这一个值,整个端口族会同步偏移,从此告别端口冲突。
新手翻车现场:四个高频坑,个个有解
Q1:客户端怎么也发现不了 Sunshine?
八成是防火墙拦了路。放行47989(串流端口)和47990(Web 界面端口),再确认两台设备在同一局域网,基本就通了。
Q2:忘了 Web 界面密码怎么办?
别慌,在主机上执行sunshine --creds 新用户名 新密码一键重置。用 Flatpak 安装的话,记得在前面加上flatpak run --command=sunshine dev.lizardbyte.app.Sunshine。
Q3:手柄在游戏里没反应?
Windows 上先确认虚拟手柄驱动 ViGEmBus 装好了——它没装的话,Sunshine 的排障页面会直接弹警告,点一下就能装,省心。
装好后,进 Steam 设置把手柄配置改成"通用手柄",并禁用主机上直连的实体手柄,让 Sunshine 虚拟出来的手柄当"第一手柄"。
Q4:画面一卡一卡的?
串流对网络稳定性的要求远高于带宽。用iperf3测一下主机到客户端的 UDP 丢包和抖动:丢包应小于 5%、抖动低于 1ms。不达标就先降分辨率、降码率,别硬扛。
遇到说不清的疑难杂症,直接打开 Troubleshooting 页面看实时日志,错误信息写得很直白——比如"Encoder not found"就是在提醒你编码器没就绪,优先查显卡驱动。
最后:你的下一步
从下载安装到躺上沙发开玩,全程不到十分钟。Sunshine 把"游戏无处不在"这件事,从口号变成了你家里的日常。
想继续深入,官方文档就躺在仓库的docs/目录里:
- 入门起步:从零讲起
- 参数配置:调参手册
- 故障排查:排障指南
想自己编译源码,执行:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine装好之后记得回来告诉我:你家客厅的电视,第一次响起 PC 游戏 BGM 的那一刻,是什么感受?🎮
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考