零成本把 PC 游戏串流到客厅:Sunshine 自托管串流服务器 6 步上手实录
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
周五晚上 9 点,你瘫在沙发上刷着手机,Steam 库里躺着 30 个买了没通关的游戏,而它们全被锁在书房那台电脑里。起身去书房?搬主机到客厅?办一个按月付费的云游戏会员?——前两个太麻烦,最后一个太贵。Sunshine,一款免费开源的自托管游戏串流服务器,正好解决这件事:它让书房那台 PC 化身"游戏发射台",把画面实时编码成视频流,推送到客厅电视、床头平板甚至出差时的笔记本上,而你手里的手柄和触屏指令则原路回传。整个过程不产生一分钱订阅费,游戏库、画质参数、隐私数据全部留在你自己的网络里。
1. 先回答一个问题:为什么偏偏是"串流"而不是"远程桌面"
你肯定用过远程桌面软件,那玩意儿的延迟高到点个图标都要等半秒,更别提玩游戏。而云游戏平台倒是流畅,但月费 30 到 50 元起步,游戏库还得看平台脸色。
串流走的是第三条路:渲染和编码留在本地 PC,传输的只是一段视频流。这要求编码必须快,而现代显卡恰好把这件事做进了硬件里——NVIDIA 的 NVENC、AMD 的 AMF、Intel 的 QuickSync 都是专门的编码单元,几乎不占 CPU,几十毫秒内就能把一帧游戏画面压成视频。Sunshine 负责"读显卡的输出、压缩、推流、接收输入"这整套脏活累活,它面向的客户端是 Moonlight——一个同样开源、覆盖几乎所有设备的串流播放器。
一句话概括分工:Sunshine 在电脑里当"发射台",Moonlight 在手机电视上当"接收器"。硬件编码的具体实现,感兴趣可以翻翻项目里的 src/nvenc/ 模块,里面是完整的 NVENC 封装,不过作为普通用户,你完全不需要懂这些。
2. 你的电脑够不够格?把门槛量化到具体型号
这是新手最关心的第二个问题。好消息是,门槛低得出乎意料:
| 部件 | 最低要求 | 参考型号 |
|---|---|---|
| CPU | 4 核以上 | 近五年主流处理器均可 |
| 内存 | 8GB | 系统占用之外留有富余即可 |
| 显卡(关键) | 支持硬件编码 | NVIDIA GTX 1050 及以上、AMD RX 550 及以上、Intel HD 600 核显及以上 |
判断显卡是否达标,不用查参数表,装好之后 Sunshine 会自动检测并选对编码器——NVIDIA 走 NVENC、AMD 走 AMF、Intel 核显走 QuickSync。如果你的显卡太老,首次串流时日志里会出现Encoder not found之类的红字报错,届时对照第 7 节排障即可。
3. 装上它:四个平台各有一条捷径,选一条执行即可
Sunshine 在主流系统上都有官方打包好的安装方式,不必从源码折腾:
# Windows:winget 一条命令,自带自动更新 winget install LizardByte.Sunshine # Linux(Flatpak 通用方式,适配绝大多数发行版) flatpak install flathub dev.lizardbyte.app.Sunshine # macOS:Homebrew 一键搞定 brew install sunshine # Docker:适合 NAS、软路由等常驻设备 docker pull lizardbyte/sunshine如果你用 Docker 部署,别忘了映射 47984、47989、47990、48010 这几个端口,并挂载配置目录,否则容器重启后设置会丢。
想从源码编译、定制参数的话,也可以直接拉取官方仓库:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine装完的一瞬间你可能找不到任何窗口——因为 Sunshine 默认以系统服务方式在后台运行,Windows 用户能在开始菜单里找到它,Linux/macOS 上它则静默常驻。别慌,它已经就绪了,接下来打开浏览器迎接它的第一面。
4. 浏览器里的第一道门:5 分钟完成登录与安全加固
打开浏览器访问https://localhost:47990,这是 Sunshine 的 Web 管理后台,也是整个串流系统的总控制台。首次进入会看到欢迎页,只要求你做三件事:
- 沿用默认用户名
sunshine,无需改动; - 设置一个 12 位以上的强密码(大小写字母 + 数字 + 特殊符号混搭)——这是整个系统的门锁,务必记牢;
- 页面会提示凭证仅显示一次,建议顺手存进密码管理器。
另外两个小细节值得一提:右上角可以切换深浅主题,深色主题在客厅大屏上更护眼;后台的搜索框能秒定位任意配置项,比如输入 "Upnp" 就能直接跳到自动端口转发开关,这个功能在后面外网访问时会用到。
5. 让手机秒变掌机:Moonlight 配对全流程,四步走完
服务端就绪,轮到客户端登场。Moonlight 是 Sunshine 的官方搭档,配对流程比想象中短:
- 在目标设备安装对应版本的 Moonlight;
- 确认设备与 Sunshine 主机处于同一局域网;
- 打开 Moonlight,它会自动发现名为 "Sunshine" 的主机并列出;
- 回到 Sunshine 后台的 "PIN" 页面获取配对码,输入后即完成绑定。
各平台客户端怎么选,一张表说清:
| 设备类型 | 推荐客户端 | 一句话点评 |
|---|---|---|
| Android 手机 / 平板 | Moonlight Android | 自带虚拟触控手柄,通勤路上也能玩 |
| iPhone / iPad | Moonlight iOS | 触控与蓝牙手柄皆可,画面流畅 |
| Windows / macOS 电脑 | Moonlight PC | 画质上限最高,支持 4K HDR |
| 智能电视 / 树莓派 | Moonlight Embedded | 客厅大屏的最优解,开机即玩 |
配对成功后,主机就会出现在客户端列表里。全程不需要命令行、不需要手动配端口——局域网环境下开箱即用,这一步比很多人想象中轻松得多。
6. 把游戏摆上货架:应用管理,让客户端列表清爽起来
默认情况下,Sunshine 内置了 "Desktop"(桌面串流)和 "Steam" 两个应用,装完就能直接开玩。但更推荐的用法是为每个游戏单独建一个入口,这样客户端里看到的是一张干净的游戏清单,而不是一整个桌面。
在后台 "Applications" 页面点 "Add New",填入名称和启动命令即可:
- Steam 大屏模式:启动命令填
steam://open/bigpicture,适合用手柄翻游戏库; - 独立游戏:直接指向游戏可执行文件,如
D:\Games\Hades\Hades.exe; - 模拟器:指向 RetroArch 主程序,把核心参数顺手写进启动参数。
省心一点的还有 "Featured Apps" 精选页——官方把 Moonlight 各平台客户端、周边工具分门别类列好,点 "Get" 直接跳转下载,相当于内置了一个串流生态应用商店。
7. 画质与延迟两头都要:码率、帧率、编码器到底怎么调
串流体验好不好,九成取决于参数对不对。Sunshine 会自动识别显卡并选好编码器,你真正需要关心的只有三件事:码率、帧率、分辨率。
以 HEVC 编码为例,一份码率速查表先收好:
| 分辨率 | 帧率 | 推荐码率 | 适用场景 |
|---|---|---|---|
| 720p | 60fps | 5–10 Mbps | 手机流量、弱网环境 |
| 1080p | 60fps | 15–25 Mbps | 标准游戏体验 |
| 1440p | 120fps | 25–50 Mbps | 高刷显示器 |
| 4K | 60fps | 50–100 Mbps | 客厅大屏 + 有线网络 |
几个立竿见影的延迟优化技巧:
- 优先有线网络;WiFi 至少用 5GHz 频段,别挤在 2.4GHz;
- 路由器开启 QoS,把游戏流量优先级提到最高;
- 帧率尽量匹配游戏原生帧率(60/120/144),避免编码器做多余的帧率转换;
- 客户端和主机同时开 HDR 时,务必确认两端设置一致,否则画面会发灰。
所有参数都能在后台 "Configuration" 页面用搜索框快速定位,改完点 Save 即时生效,无需重启服务。完整参数说明见 docs/configuration.md。
8. 翻车自救手册:四个高频问题,照着排查就能解决
配置再顺也难免遇到状况,这里把出现频率最高的四个问题连同解法一并打包:
问题一:客户端发现不了 Sunshine 主机
- 检查防火墙是否放行 47989、47990 端口;
- 确认两台设备在同一子网(比如都是 192.168.1.x);
- 在路由器上开启 UPnP,或手动做端口转发。
问题二:画面卡顿、掉帧
- 把码率降一档看是否缓解;
- 关掉下载、直播等抢占带宽的应用;
- 更新显卡驱动——编码器性能往往随驱动提升。
问题三:花屏或画面发灰
- 优先排查 HDR 开关是否两端一致;
- 尝试把编码器从 HEVC 切回 H.264 做对比。
问题四:手柄完全没反应
- Windows 主机需要在后台 "Troubleshooting" 页面安装 ViGEmBus 虚拟手柄驱动(版本 1.21 或更高)——这是 Sunshine 把客户端手柄"映射"给系统用的桥梁,一键即可装好。
如果问题依旧,直接看日志。日志界面自带搜索与错误高亮,"Encoder not found" 这类报错会直接标红,定位问题比翻文件快得多。日志文件位置:Windows 在%ProgramData%\Sunshine\config\sunshine.log,Linux/macOS 在~/.config/sunshine/sunshine.log,Docker 则用docker logs sunshine。疑难杂症可以对照 docs/troubleshooting.md 排查。
9. 进阶玩法:多显示器、手柄映射与外网访问
基础串流跑通之后,下面三种玩法能让体验再上一个台阶:
多显示器按场景切换:主机同时接电视和显示器时,可以在配置里指定串流用哪一块、是否随客户端自动切换主屏,实现"客厅用电视、书房用显示器"两不误。
手柄自由映射:Xbox、PlayStation、Switch Pro 手柄都支持。Linux/macOS 下手柄配置文件位于~/.config/sunshine/gamepads/,需要精细按键映射时可以直接编辑。
走出家门也能玩:想在办公室玩家里的游戏,推荐用 ZeroTier、Tailscale 这类组网工具,把设备拉进同一个虚拟局域网——既免去暴露公网端口的风险,又保留低延迟体验。性能调优的更多细节见 docs/performance_tuning.md。
10. 从"想玩"到"玩上":今晚就能跑起来的行动清单
到这里,整套流程你已经全部掌握了。按下面这份清单,今晚就能躺在沙发上开玩:
- 用第 3 节对应的命令装好 Sunshine;
- 浏览器打开
https://localhost:47990,设置强密码; - 手机或平板装 Moonlight,完成四步配对;
- 添加想玩的游戏入口(或直接用内置的桌面串流);
- 按设备调整码率与帧率;
- 开玩,然后按需探索多屏、手柄与外网玩法。
常见问题速查:
| 问题 | 一句话答案 |
|---|---|
| 支持哪些系统? | Windows 10/11、主流 Linux、macOS 10.15+、FreeBSD |
| 最低硬件要求? | 4 核 CPU + 8GB 内存 + 支持硬件编码的显卡 |
| 能几个客户端同时连? | 支持多客户端,实际取决于显卡编码能力,一般 1–2 路体验最佳 |
| 一定要付费吗? | 不需要,Sunshine 完全免费开源 |
游戏不该被锁在电脑桌前。它值得出现在你家的每一块屏幕上——客厅的电视、卧室的平板、出差的笔记本。而 Sunshine 和 Moonlight 这对免费组合,就是那把钥匙。现在,去书房按下安装命令,剩下的交给今晚。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考