Sunshine完整教程:五步跑通自托管游戏串流
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款完全开源免费的自托管串流服务器,配合 Moonlight 客户端使用,把你的电脑变成游戏串流主机:桌面与游戏画面实时编码后送到手机、平板、电视或另一台电脑,让你远程玩游戏不必坐在主机前,数据始终留在自己的设备里。这篇游戏串流教程带你走完从安装到调优的每一步。
搞懂原理:画面如何"跑"到另一块屏幕
这一节帮你在动手前建立完整心智模型,后面所有配置都会对号入座。
整条链路只有四步:
- 捕捉:从系统屏幕接口实时取帧——Windows 走桌面复制接口,Linux 走 KMS/DRM 或 Wayland,macOS 走系统屏幕捕获;
- 编码:由显卡硬件编码器压成 H.264 / HEVC / AV1 视频流,音频同步编码;
- 传输:通过低延迟网络协议,把视频流与你的输入指令双向传送;
- 渲染:Moonlight 客户端解码上屏,键鼠与手柄操作原路返回主机。
链路中编码环节决定延迟、网络环节决定清晰度——这也是后续调优的总纲。想深挖实现,可以看看 视频编码源码。
选一条安装路线装好它
这一节帮你按系统和使用习惯选安装方式,三条路线任选其一即可。
| 路线 | 适用人群 | 核心命令 | 优点 | 代价 |
|---|---|---|---|---|
| 包管理器 | Ubuntu/Debian/Arch/macOS 用户,求省事 | sudo apt install sunshine | 依赖自动解决、服务自动注册 | 版本可能不是最新 |
| 源码编译 | 想要最新功能或定制构建 | cmake .. && make | 完全可控、功能最前沿 | 需自备 FFmpeg 等依赖,见 安装文档 |
| Docker | 希望主机环境零污染 | docker run -d ... lizardbyte/sunshine | 卸载无残留、配置随卷迁移 | 需基础 Docker 知识 |
按路线给出最小命令:
包管理器(Debian/Ubuntu;macOS 用户改用brew install sunshine):
sudo apt install sunshine一条命令装完并注册为系统服务。
源码编译:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine && cd Sunshine拉取源码并进入目录。
mkdir build && cd build && cmake .. && make -j$(nproc)创建构建目录,配置并全核并行编译。
sudo make install安装到系统。
Docker:
docker run -d --name sunshine -p 47984-47990:47984-47990/tcp -p 48010:48010/udp -v /path/to/config:/config lizardbyte/sunshine:latest后台运行,端口映射覆盖管理台与串流端口(含 UDP 48010),挂载目录保存配置。
✅ 装好后用浏览器访问https://localhost:47990,能看到页面即代表服务正常。
完成首次串流:管理台、配对、加应用
这一节帮你按顺序完成三件事,串出第一块画面。
- 打开管理台并创建账户:浏览器访问
https://localhost:47990,首次进入会要求设置用户名和密码。⚠️ 这是管理台的唯一凭证且不会再次显示,务必记下。 - Moonlight 配对:在客户端设备上安装 Moonlight,局域网内通常能自动发现主机;选择"配对",把主机端弹出的四位 PIN 码填入客户端,互认完成,随后即可看到主机上的应用列表。
- 添加要串的应用:默认只有"桌面"和 Steam 大屏幕。进入 Applications 页点Add New,填名称、可执行文件路径与启动参数。⚠️ 应用列表仅在客户端重启时刷新,加完记得重启 Moonlight。
找不到对应平台的 Moonlight 客户端?管理台的Featured Apps页列出了官方推荐版本。
调出你的手感:编码器与三个关键参数
这一节帮你选定编码器、压低延迟,并给两种网络场景各留一条建议。
先按显卡选硬件编码(Sunshine 会自动识别并启用):
| 显卡 | Windows | Linux | macOS |
|---|---|---|---|
| NVIDIA | NVENC | NVENC | 软件编码 |
| AMD | AMD AMF | VAAPI / Vulkan Video | 软件编码 |
| Intel | QuickSync | VAAPI | VideoToolbox |
没有硬件编码器时会回退软件编码,功能可用但 CPU 占用明显上升。
三个关键参数,都在 Configuration 页可调(支持关键词搜索,直接输名字比翻菜单快):
- 分辨率与帧率:以客户端屏幕实际规格为准,不必硬上 4K;竞技类优先帧率,单机剧情类优先分辨率;
- 比特率:局域网有线可放开到 30Mbps 以上,无线或远程环境调低一档保稳定;
- 编码预设:竞技选低延迟预设,画质优先选高质量预设。
两种场景各一条关键建议:
- 局域网:主机插网线,并开启
local_network_only,避免把端口暴露到公网; - 远程:启用UPnP自动端口转发 +TLS加密,动态 IP 家庭再配动态 DNS,即可稳定实现低延迟串流。
串不动时的快查表:五个高频故障
这一节帮你跳过从头排查,直接定位最可能的原因。
Q:客户端搜不到主机?确认 Sunshine 服务在跑、两端在同一局域网、防火墙放行 47984–47990(TCP)与 48010(UDP);最稳妥是手动输入主机 IP,不依赖自动发现。
Q:画面卡顿、马赛克?降一档比特率试手感;网络优先有线;同时更新显卡驱动——硬件编码器对驱动版本很敏感。
Q:串流没声音?检查是否有程序独占音频设备,确认系统默认播放设备没被静音。
Q:操作不跟手?关掉无线外设的省电模式;确认客户端设备性能够用;关闭后台下载、视频等吃带宽的应用。
Q:多个客户端想各用各的画质?Sunshine 支持多客户端并发,每个客户端独立设置自己的串流参数,主机只提供最高规格画面源,无需在主机端折腾。
遇到编码器加载失败、断流一类问题,管理台的Logs页会记录完整运行日志,基本都能直接定位:
更多细节可参考 故障排查文档。
现在就可以做的三件事
- ✅ 按选定的路线装好 Sunshine,确认
https://localhost:47990能打开; - ✅ 在常用设备上装 Moonlight 完成 PIN 码配对,先串一次桌面;
- ✅ 添加一两款常玩游戏,局域网跑一局,再按手感微调分辨率、比特率与预设。
串流调优没有满分参数,只有适合你的那组。装好它,让画面跟着你走。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考