Sunshine 免费游戏串流主机指南:15 分钟装好、配对、出画面
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
主机里的游戏想搬到客厅大屏上玩,搬机器太重,跨屋拉 HDMI 太乱。Sunshine 是一款开源免费的游戏串流主机,采集、硬件编码、推送它全包了,只把实时画面和声音送进你手机、平板或电视盒子上的 Moonlight 客户端。
先问适不适合你
三条自检,有一条不满足就先别动手:
- 编码跑在主机上:主机得有块能用的显卡(NVIDIA、AMD、Intel 均可),实在不行还有 CPU 软编码兜底,但体验会打折扣。
- 两台设备要在同一局域网:跨网段、隔路由、走公网都串不动,先确认同网段。
- macOS 主机暂不支持手柄模拟,你还依赖手柄的话,主机端请用 Windows 或 Linux。
都满足?往下看,十五分钟能串出第一屏。
一分钟看懂
编码在主机上完成,视频流经你自己的局域网送到客户端,隐私边界就停在你家路由器的边上——没有第三方服务器经手。
| 维度 | 内容 |
|---|---|
| 平台 | Windows、Linux、macOS(不支持手柄模拟)、FreeBSD |
| 编码通路 | NVENC、QuickSync、AMF、VAAPI、Vulkan Video、VideoToolbox,外加 CPU 软编码兜底 |
| 采集 | Windows 桌面复制 API;Linux 可选 NvFBC、KMS、X11、Wayland 等后端;macOS 系统屏幕录制 |
| 管理入口 | Web UI:https://localhost:47990 |
| 费用 | 开源免费、自托管,无订阅无账号 |
跑通三步
📌动作一:装软件Windows 下 Release 里的.msi双击安装,防火墙规则安装器会自己写;Linux 按发行版选 deb 或 pacman 包;macOS 把Sunshine.app拖进 Applications。用 Flatpak 装的,还要补一条输入依赖:
flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine✅验证:安装过程正常走完、无报错弹窗。
📌动作二:把服务拉起来Windows 上 MSI 已注册成系统服务,开机自启,这步跳过;macOS 首次启动会弹屏幕录制和麦克风授权,都点允许,不然后面采不到画面。Linux 一条命令启动并设为开机自启:
systemctl --user --now enable app-dev.lizardbyte.app.Sunshine✅验证:另开终端跑systemctl --user status app-dev.lizardbyte.app.Sunshine,状态显示running。
📌动作三:建账号、配对、出画面浏览器打开https://localhost:47990,报"不安全"是自签名证书,忽略;首次进入设置管理员用户名和密码,记牢,配对全靠它。然后在 Moonlight 客户端里等设备出现,首次连接它会弹一个四位 PIN:回 Web UI 导航栏的PIN页填入,顺手给设备起个名。
✅验证:客户端列表出现自带条目Desktop,点它,主机桌面的实时画面出现在屏幕上——串出来了。
默认参数速查表
你没动过的旋钮,它已经替你做了决定:
| 参数/行为 | 默认值 | 什么意思 | 什么时候才需要改 |
|---|---|---|---|
max_bitrate | 0 | 码率完全由 Moonlight 说了算 | 想在主机端封顶带宽时,比如填5000(Kbps) |
encoder | 第一个可用编码器 | 自动选择,什么都不用填 | 只作排障手段,手动指定nvenc、vaapi、software等 |
nvenc_preset | 1(最快) | 优先低延迟 | 网络或客户端解码顶不住时才调大,多数时候提码率更划算 |
| 并发流数 | 一条 | 新串流会直接终止上一个在跑的应用 | 多人共用时排好先后,谁在串谁用 |
upnp | disabled | 不做端口穿透 | 只有走出局域网连进来时才开成enabled |
配置页顶部有搜索框,几百个设置项直接输bitrate就能定位,不用翻菜单。
几类人怎么玩
- 显卡带不动 3A 的轻薄本:把它当解码显示端,串书房主机跑游戏。注意:分辨率按客户端屏幕设,别按主机设。
- 不玩游戏、只想要大屏的:主机当家庭影音节点,串Desktop到电视放本地片源。注意:
max_bitrate保持默认0,静态内容几乎不吃带宽。 - 一家人共用一台主机:每人自己的 Moonlight 设备独立配对、独立记设备名。注意:全局只有一条流,用完就退出,别占着。
卡住别乱查
顺序记死:先查网络 → 再查服务 → 后碰参数。
| 症状 | 最可能原因 | 一条修复动作 |
|---|---|---|
https://localhost:47990打不开 | 防火墙拦了 47990 | Windows 确认 MSI 写入的防火墙规则还在;Linux 先确认服务在跑 |
| Moonlight 发现不了主机 | 不同网段,或服务没跑 | systemctl --user status app-dev.lizardbyte.app.Sunshine确认running,再核对两台设备同网段 |
| 串流卡顿掉帧 | 网络抖动,不是 Sunshine | 先测网络丢包抖动,最后才考虑动max_bitrate |
| 忘了管理员密码 | 凭据丢了 | 不用重装,sunshine --creds 用户名 密码直接重置 |
还查不到,就翻日志:Web UI 的Troubleshooting页按告警逐条定位,日志文件叫sunshine.log(可用log_path配置)。
收尾
- 网络稳定性比带宽峰值更决定体验,动手调画质前先测网络。
- 编码器拿不准就留空,自动选择日常够用。
max_bitrate = 0意味着码率听 Moonlight 的,封顶带宽才需要碰它。
现在就做:拿第二台设备配一次对,再往应用列表里加一条真实游戏,完整走一遍配对、启动、串流、退出。
- 完整参数表:docs/configuration.md
- 疑难杂症索引:docs/troubleshooting.md
- 各平台采集与编码实现:src/platform/
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考