Sunshine 游戏串流:从安装到 Moonlight 配对的完整实操指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款自托管游戏串流服务器,与 Moonlight 客户端配合,可把本地电脑的屏幕、音频与手柄输入以低延迟方式输出到手机、平板或电视,适合希望用自有硬件替代商业串流服务的玩家与家庭用户。它把一台普通 PC 变成私有串流主机,省去订阅费用与账号体系。
30 秒看懂原理
- Sunshine 是服务器端:运行在串流主机上,负责屏幕捕获、GPU 硬件编码、音频采集,并向客户端发送编码后的视频流;同时把客户端发来的键盘、鼠标、手柄信号转换为虚拟输入设备。
- Moonlight 是客户端:运行在接收端,负责解码播放画面,并回传操作输入。客户端与 Sunshine 分开安装、独立升级。
- 配对只做一次:首次连接时 Moonlight 会向主机请求一个 PIN 码,在 Web 界面确认并保存设备名后,设备即被记住,之后可直接串流。
从 0 到 1:首次串流的 5 步配置
Windows 安装
从官方发布页下载 MSI 安装包后双击运行,按提示选择组件;命令行用户也可以执行:
winget install LizardByte.SunshineLinux 安装
按发行版选择官方包:Debian/Ubuntu 安装对应的.deb,Fedora 启用lizardbyte/stableCopr 后执行sudo dnf install Sunshine,Arch 使用 pacman-repo 或 AUR。若发行版源中已有 sunshine 包,直接通过包管理器安装即可。
macOS 安装
通过 Homebrew 安装(brew tap LizardByte/homebrew && brew install sunshine),或下载对应芯片架构的 DMG 拖入应用程序文件夹。macOS 版为实验性质,手柄暂不受支持。
启动服务并打开 Web 界面
Linux 下用 systemd 用户服务启动并设为开机自启:
systemctl --user --now enable app-dev.lizardbyte.app.SunshineWindows 安装后以服务方式运行,macOS 首次启动时按系统提示授予屏幕录制与麦克风权限。然后浏览器访问https://localhost:47990,浏览器提示的"不安全"警告来自自签名证书,属正常现象。
Sunshine 游戏串流 Web 配置界面:首次进入需要创建登录账号
完成配对的 5 个步骤
- 首次进入 Web 界面时创建用户名和密码并妥善保存,凭据不会再次显示。
- 在应用列表中添加串流目标:
Desktop(纯桌面,不启动任何程序)与Steam Big Picture已内置,也可用 "Add New" 手动填入游戏路径与启动参数,例如C:\Games\某游戏.exe。 - 按需调整网络与显示参数,配置项均可在搜索栏中直接检索,完整说明见官方配置文档。
- 打开 Moonlight 客户端,手动添加主机地址;看到 PIN 码提示后,回到 Web 界面 PIN 页面输入该码并保存设备名,配对即告完成。
- 在 Moonlight 中选择应用,开始串流。
串流应用列表:Desktop 直接串流桌面,其余条目各自启动指定程序
串流质量调优:编码器、码率与网络
| 配置项 | 可选值 / 取值 | 选择理由 |
|---|---|---|
编码器encoder | nvenc(NVIDIA)、quicksync(Intel)、amdvce/vaapi(AMD)、vulkan(仅 Linux)、software(CPU 兜底) | 默认自动选用第一个可用的硬件编码器;硬件编码把负载交给 GPU,CPU 占用与延迟都更低,software仅作无硬件加速时的备选 |
| 分辨率 | 以客户端请求为准(dd_resolution_option = requested为默认) | 让客户端请求它自身显示器的原生分辨率,避免二次缩放损失细节 |
| 帧率 | 60 FPS | 60 FPS 下 Sunshine 每 16 ms 输出一个数据块,是串流体验的标准档位 |
| 码率 | max_bitrate默认由 Moonlight 请求决定,可按需封顶 | 弱网环境先压到 15–20 Mbps 测试稳定性,再逐步上调,避免丢包放大卡顿 |
网络方面:串流主机尽量走有线连接。官方排障文档建议用 iPerf3 验证链路,丢包低于 5%、抖动低于 1ms才算合格。一个容易踩的坑:若主机网卡速率(如 2.5G/10G)远高于客户端所在网段(百兆或 Wi-Fi),突发数据流可能压垮中间设备缓存导致丢包,此时把主机网卡降速到与客户端匹配的档位反而更稳。
Moonlight 客户端覆盖桌面、移动与电视端,配对一次后即可在任意设备使用
游戏之外的用法
- 远程桌面:选择
Desktop应用即可串流整个桌面。它不启动任何程序,只做屏幕捕获,适合临时借用另一台电脑的办公、文件与浏览器操作。 - 远程工作站:把设计、剪辑、3D 建模等重负载软件跑在高性能主机上,用低配笔记本或平板通过串流完成操作,算力与便携性不再互相牵制。
- 教学演示:讲师串流桌面并讲解,学员端用 Moonlight 观看;配合内置的虚拟手柄能力,演示中还可以展示手柄操控内容。
🔍 问题自查
现象一:客户端搜索不到主机,或连接直接失败
- 确认两端在同一局域网内;
- 检查防火墙是否放行 Sunshine(TCP 47984–47990 与 UDP 48010,与 官方配置文档中的网络说明一致),Linux 可用如下命令放行:
sudo ufw allow 47984:47990/tcp sudo ufw allow 48010/udp- 确认浏览器中的自签名证书警告已被接受,Web 界面可正常打开;
- 确认 PIN 码已在 Web 界面 PIN 页面输入并保存了设备名。
现象二:画面卡顿、延迟高
- 优先检查 Wi-Fi,改用有线链路复测;
- 把分辨率降到 1080p、帧率降到 30 复测,定位是编码瓶颈还是网络瓶颈;
- 查看当前编码器是否为硬件编码(见上文调优表),Linux 沙箱环境(Flatpak/AppImage)出现帧率骤降时,参考故障排除文档改用 Vulkan 编码组合;
- 用 iPerf3 按官方标准验证丢包与抖动,网络侧达标后再排查主机负载。
现象三:无声音或声音异常
- macOS 确认已授予麦克风权限;macOS 14 以上系统可将 Audio Sink 留空以使用系统原生音频捕获,否则需配置 Soundflower/BlackHole 环回设备并填入
audio_sink; - Windows 检查默认音频输出设备选择是否正确,并更新声卡驱动;
- 更换音频编码格式(如 HE-AAC)复测兼容性。
现象四:键盘鼠标或手柄无响应
- Linux 确认运行 Sunshine 的用户属于
input组(安装脚本已配置/dev/uinput权限,加入后需重新登录); - Windows 确认 Virtual HID Driver 为文档要求的版本,装完驱动建议重启一次。
Web 界面的 Troubleshooting 页逐条给出警告与错误信息,是最快定位问题的入口
深入资源
- 官方入门与配对流程:docs/getting_started.md
- 全部配置项说明:docs/configuration.md
- 故障案例与网络测试标准:docs/troubleshooting.md
- HTTP API(脚本化重启、改配置):docs/api.md
- 社区:LizardByte 官方 Discord(各版本文档与发布说明中均提供入口),可直接提问或分享配置。
现在开始:在串流主机上装好 Sunshine,打开https://localhost:47990完成账号与 Desktop 应用配置,再用任意一台设备上的 Moonlight 完成第一次 PIN 配对。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考