Sunshine 自托管游戏串流主机:10 分钟搭好低延迟串流服务器
Sunshine 自托管游戏串流主机10 分钟搭好低延迟串流服务器【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是一款自托管的游戏串流宿主程序配合 Moonlight 客户端使用。装好它它会在游戏主机上抓取屏幕画面、调用 GPU 硬件编码压缩成 H.264/HEVC/AV1再通过 UDP 推给你的手机、电视或另一台 PC。跟完本文你能用 1080p/60 帧把书房 PC 接到客厅大屏串流延迟控制在个位数帧。一、它凭什么被选择整条链路很短抓帧 → GPU 硬件编码 → UDP 推给 Moonlight 解码显示。60fps 下主机每 16ms 发出一组数据没有中间商。内容不限不限 Steam 库整块桌面、任意可执行文件、普通应用都能推。硬件不限NVIDIA 走 NVENCAMD 走 AMF/VAAPIIntel 走 QuickSyncmacOS 走 VideoToolbox全都用不上时还有 CPU 软件编码兜底。平台不限Windows、Linux、macOS、FreeBSD 都能当主机端商业方案普遍做不到。完全自托管画面只在自己网络里流动无月费、无云端中转。二、从安装到第一次成功装用对应系统的预编译包Windows 装.msi、Debian/Ubuntu 装.deb、Fedora/OpenSUSE 装.rpm、macOS 拖入.dmg。需要自己编译时才克隆仓库git clone https://gitcode.com/GitHub_Trending/su/Sunshine开Windows 安装包默认已注册为后台服务直接运行Linux 可执行systemctl --user --now enable app-dev.lizardbyte.app.Sunshine开机自启。浏览器访问https://localhost:47990网站不安全的警告来自自签名证书忽略即可。配首次打开要求创建用户名和密码记好它——以后每次配对设备都要用。转到Applications页添加串流内容内置的 Desktop 条目推整块桌面新增记录可填 Steam 或任意游戏的启动命令。连播放设备上装 Moonlight 客户端添加主机同局域网通常自动发现提示输入 PIN 时到 Web 端导航栏的 PIN 处填相同数字并给设备起名配对完成。选一个应用画面即出现在设备上键鼠和手柄输入会反向传回 PC。Windows 主机建议装好虚拟手柄驱动Xbox、DualSense、Switch Pro 等手柄都能被正确模拟出来。三、关键参数怎么选编码器在 Audio Video 分组里选。默认自动挑当前显卡支持的最优项一般不用动。手动原则NVIDIA 选 NVENCAMD 在 Windows 选 AMF、Linux 选 VAAPI 或 VulkanIntel 在 Windows 选 QuickSync。码率与分辨率配置页搜索框输入 bitrate 即可定位max_bitrate单位 Kbps设 0 则跟随 Moonlight 请求值。有线局域网1080p/60 给 20–30Mbps 足够清晰冲 4K/60 主机和客户端都走 Cat5e 以上网线码率 50Mbps 以上GPU 需满足 4K 编码NVIDIA 为 RTX 20 系或 GTX 1080 起。5GHz Wi-Fi双方都接 5GHz 网络文档最低要求 802.11ac先降到 1080p卡顿再降码率。跨公网10Mbps 起步720p/30 帧往往比 4K60 更稳。串流体验对网络的敏感度不在带宽而在稳定性主机跑iperf3 -s客户端跑iperf3 -c 主机IP -t 60 -u -R -b 50M目标是丢包低于 5%、抖动低于 1ms达不到先查网络再调参数。四、进阶玩法远程访问Web 端 Network 分组把upnp设为 enabledSunshine 通过路由器自动完成端口映射。路由器不支持就在路由器手动转发——基础端口默认 47989视频、音频、输入端口在其上方偏移Web UI 用 47990。前置条件给主机配固定内网 IP否则重启后客户端找不到设备。多设备每接一个新客户端都按上一节的配对流程走一次PIN 处给设备起不同名字便于识别同一时间只维持一个活跃串流会话。Linux 抓取后端KMS/DRM 抓取需要提权Flatpak 和 AppImage 包不支持请用发行版原生包Wayland 下用 XDG Portal 抓取首次会弹 Remote Desktop 授权提示。降低延迟NVIDIA 主机可在控制面板关掉vsync:fast缓解卡顿AMD 在 Windows 开 Enhanced Sync 还能再省一帧。更多开关见 性能调优文档。五、出问题先查这里日志入口在 Web 端 Troubleshooting 标签页滚动输出 Sunshine 日志每条 warning/error 都带说明定位从这里开始。忘 Web 端账号凭据只显示一次运行sunshine --creds 新用户名 新密码直接重置。输入不生效Linux/FreeBSD把运行 sunshine 的用户加入input组后重新登录。手柄在 Steam 能用、游戏里不能Steam 设置里只保留 Generic 手柄支持。游戏收不到键盘/鼠标Windows 上确认虚拟手柄驱动已装好并重启电脑驱动缺失时输入会回退到 SendInputRaw Input 类游戏收不到。画面卡顿按第三节先降码率和分辨率确认主机 CPU/GPU 没满载主机尽量走有线。六、延伸资源docs/getting_started.md各平台安装、权限与首次配置全流程docs/configuration.md全部配置项的默认值与取值说明docs/performance_tuning.mdAMD/NVIDIA 驱动层的低延迟开关docs/troubleshooting.md分平台的已知问题与修复命令src/video.cpp编码主逻辑看编码器如何被选中src/network.cppUDP 传输与端口映射实现【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考