Sunshine 游戏串流主机:最短路径 + 选型表 + 故障速查三件套
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是自托管游戏串流主机,把电脑桌面与游戏实时编码推给 Moonlight 客户端。本文带你装上它、配好第一台接收端、按显卡选编码器、走出局域网,出问题时照速查表逐项对。
✅ 动手前的三分钟检查
先对照这张表,缺哪项先补哪项,再开始装。
| 检查项 | 标准 | 不满足怎么办 |
|---|---|---|
| 串流主机 | 一台常开的电脑,Linux/Windows/macOS 均可 | 无解,串流必须由一台主机发起 |
| 编码能力 | 有独立显卡最好;纯核显或无独显可跑 | 会自动退回软件编码,CPU 占用升高 |
| 接收端 | 手机、平板、电视或另一台电脑,可装 Moonlight | 先在接收端装好 Moonlight |
| 网络 | 两端同一局域网且能互通 | 跨网段先解决路由,再谈串流 |
这一步的意义是:把"装不上"和"装上了连不上"分开判断,省得混在一起排查。
🚀 第一次跑通的四步
装:Debian/Ubuntu 用一条命令装完,依赖与服务一起处理:
sudo apt install sunshine启:启用用户服务,让 Sunshine 自启并常驻:
systemctl --user --now enable app-dev.lizardbyte.app.Sunshine服务不跑,47990 端口的 Web 界面就不存在,后面全无从谈起。其他平台的安装方式见 docs/getting_started.md。
建账户:浏览器打开https://localhost:47990,自签证书警告直接忽略,首次访问设置用户名和密码。这组凭证是之后所有配置的入口,页面提示"不会再再次显示",当场抄下来,丢了只能重置配置找回。
配对:在 Moonlight 里找到主机(找不到就手输主机 IP),点配对,把 Web 界面显示的 PIN 码填进 Moonlight。PIN 建立双向信任,未配对的客户端连不进来。
验证:Applications 页默认已有 Desktop 条目,直接用它连一次。桌面能串通,就能把"链路断了"和"启动参数写错"两类问题分开处理。
🎮 按显卡选编码器
Sunshine 会识别显卡自动启用硬件编码,先用这张表确认你该落在哪一格:
| 显卡 | Windows | Linux | macOS |
|---|---|---|---|
| NVIDIA | NVENC | NVENC(CUDA) | 软件编码 |
| AMD | AMF | VAAPI / Vulkan Video | 软件编码 |
| Intel | QuickSync | VAAPI | Video Toolbox |
判断依据:在 Configuration 页看当前编码器是不是表里的 GPU 编码,而不是 Software Encoder。参数三条:
- 分辨率对齐接收端屏幕规格,别盲目上 4K;
- 有线局域网比特率给 30Mbps 起步,无线或远程降一档;
- 预设二选一:射击、竞速选低延迟预设,剧情向选高质量预设。
配置项多,用搜索栏按关键词直接定位,不必逐页翻。
逐项参数(含max_bitrate、upnp、预设)可在 docs/configuration.md 按条查;编码器为何没启用,源码在 src/video.cpp。
🌐 进阶场景
走出局域网
在 Network 页勾选 UPnP,Sunshine 会自动向路由器申请打开串流端口;路由器不支持,就手动转发 47984-47990/tcp 与 47998-48000/udp。公网链路把 TLS 打开,视频和输入都走加密;家用宽带是动态 IP,再给路由器配一个 DDNS 域名,Moonlight 里填域名,IP 变了不用改客户端。
Docker 起一个容器
不想动主机环境就用容器:把 47984-47990/tcp、47998-48000/udp 映射出去,配置目录挂到/config,GPU 设备节点/dev/dri/传入,DOCKER_README.md 给了可直接改值的 run 示例。
🩺 故障速查
客户端找不到主机:按序排查——
systemctl --user status app-dev.lizardbyte.app.Sunshine看服务在不在跑;- 确认两端同一局域网;
- 防火墙放没放行 47984-47990;
- 仍不行,Moonlight 里手动输入主机 IP。
卡顿、马赛克:先换有线,再降一档比特率,最后更新显卡驱动。顺序不能反,多数马赛克是比特率超出了带宽承受力,驱动只是少数情况。
没声音或输入延迟高:没声音先关主机上独占音频的程序,再在配置里切换音频输出设备;输入延迟高,把键鼠和手柄的省电模式关掉,接收端关占带宽的后台应用。
编码器起不来:
- 打开 Troubleshooting 页 Logs,找编码器加载失败的报错;
- 更新显卡驱动,硬件编码器对驱动版本敏感;
- 确认系统里确实有可用的硬件编码后端,没有就接受软件编码,性能会打折。
多客户端画质不一致:正常行为。主机按最高规格送画面,每个客户端在自己那端调压缩,互不影响。
下一步:进 Web 界面的 Featured Apps 页为你的接收端挑一款 Moonlight 客户端,拿一款游戏把链路完整走一遍。再出问题时,先打开 Troubleshooting 页的 Logs 读最近几条编码器与网络报错,读完再回到上面的速查表逐项对照。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考