ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Sunshine 游戏串流 3 步跑通完整指南

Sunshine 游戏串流 3 步跑通完整指南

Sunshine 游戏串流 3 步跑通完整指南

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

想在电视上玩电脑里的 3A 大作?Sunshine 游戏串流就是干这个的:它装在你的电脑上,把画面和声音实时编码推给 Moonlight,把输入送回电脑。本教程带你从装包、Moonlight 配对到串流延迟调优,一次跑通。

🛣️ 串流链路:画面、声音、输入各走哪条路

Sunshine 是中转站:它把三类数据分到三条独立通道上跑。

通道做什么流向
画面捕获屏幕并硬件编码电脑 → 客户端
声音采集系统音频随流发送电脑 → 客户端
输入键鼠手柄事件注入本机客户端 → 电脑

客户端按下的键鼠手柄由 Sunshine 注入系统,变成真实的虚拟输入事件。这个坑先记着:Sunshine 同一时间只维持一条活跃串流,第二台设备连上来,前一个会话会被顶掉。

🧰 开工前备齐三样东西

先给结论:硬件、网络、客户端三样齐了再动手,缺一样都会卡住。

电脑端硬件

一台常开的电脑,装官方预编译包,别急着从源码编译。显卡要有硬件编码能力:NVIDIA 用 NVENC,AMD/Intel 走 VA-API,兜底还有 Vulkan 编码。

网络环境

串流延迟对网络质量极其敏感:主机插网线,客户端至少 5 GHz Wi-Fi,最好也走有线。

Moonlight 客户端

电视、手机、平板上的接收端就是 Moonlight。Sunshine 的 Featured Apps 页列全了 Android、iOS、macOS、Windows、Linux 和 TV 各端入口,照着装就行。

🕹️ 跑通第一局:按时间线走

安装教程只敲必要命令,每步按"做什么 → 会看到什么 → 下一步"推进。

第一步 装包

  • Windows:官方 MSI 装完即服务化,防火墙规则自动配好。
  • macOS:把Sunshine.app拖进 Applications,首次启动按弹窗授权屏幕录制、键鼠控制、麦克风。
  • Linux:装包,再用一条命令完成自启加立即运行:
sudo apt update && sudo apt install sunshine
systemctl --user --now enable app-dev.lizardbyte.app.Sunshine

会看到:服务在后台跑起来。下一步:打开管理页。想从源码构建,先git clone https://gitcode.com/GitHub_Trending/su/Sunshine,再执行bash scripts/linux_build.sh(macOS 换成scripts/macos_build.sh)。

第二步 管理页设密码

浏览器访问https://localhost:47990。会看到:自签证书警告,点继续即可。首次登录要建管理员账号,把密码写下来。下一步:去 Moonlight 配对。

第三步 Moonlight 配对

在 Moonlight 里手动添加主机(填局域网 IP)并发起连接。会看到:Moonlight 弹出一串 PIN。到网页 PIN 页输入它并给设备起名,批准即完成;这台设备之后被记住。下一步:加游戏。

第四步 添加游戏应用

Applications 页点 Add New,填名字和命令。命令支持$(HOME)展开,steam://rungameid/xxx这类 Steam URI 也能跑。会看到:新应用出现在列表顶部。注意两种类型:cmd类应用一退出串流就断;detached类启动后独立存活。Steam 本体必须填detached,拿它当cmd跑会秒断。想要整屏串流就用内置的 Desktop 应用。

💊 按症状下药:只动该动的参数

调参原则:一次只改一个,改完立刻验证。完整参数在 docs/configuration.md 都有说明,配置页顶部搜索框直接输参数名跳转。

画面糊:先查带宽再提码率

先查:主机是否挤在 2.4 GHz 网络里,或有人抢带宽。改:搜max_bitrate,默认 0 表示完全跟随 Moonlight 客户端请求;想自己兜底就填5000Kbps。怎么确认:1080p60 起步,画面干净且帧率不跌就说明够用了。帧率比分辨率更影响手感,先保帧率再谈 4K。

手感拖:网络优先,编码档位跟上

先查:主机是否插网线、客户端是否 5 GHz 以上,这是串流延迟的大头。改:NVIDIA 卡再动nvenc_preset,默认 1,档位数字越大压缩越紧凑、编码延迟越低,拖沓就调到 4 或 5。怎么确认:改完开同一场景对比,输入响应跟手即修好。AMD、Intel 卡各有对应参数,配置页搜一下就有。

没声音:把 audio_sink 指对设备

先查:audio_sink当前指向哪个设备。改:macOS 受系统限制只能采麦克风,要传系统声音需装 BlackHole 之类的回环设备再指定;Linux 用pactl info | grep Source查回环设备名后填入;Windows 用安装包自带的tools\audio-info.exe查设备名。怎么确认:串流中放一段有声视频,客户端出声即好。

外网进不来:让端口转发落地

先查:路由器是否支持 UPnP。改:Web 界面搜upnp勾上,配置文件里即upnp = enabled,路由器会自动开端口。路由器不给力就手动转发TCP 47984-47990与UDP 48010。怎么确认:外网设备能连上即通;光猫加路由的双层 NAT 是外网连不上的重灾区。

🔍 连不上时按序排查

顺序不能乱:日志 → 端口 → 权限,先定位层级再动手。

  1. 日志:打开网页 Troubleshooting 页,实时日志里每条 warning/error 都带上下文,绝大多数问题在这里就能指认。

  1. 端口:确认 TCP 47984-47990 与 UDP 48010 没有被防火墙拦下;Windows 的 MSI 装完自带规则,Linux 用户检查本地防火墙。
  2. 权限:Linux 下把运行 Sunshine 的用户加进input组再重新登录;macOS 确认首次弹窗的屏幕录制、键鼠控制、麦克风三项都给了;Windows 若用非 MSI 安装,手动跑防火墙脚本。

三样都对还是连不上,把日志打包带上下文去官方文档反馈:docs/troubleshooting.md。

先照时间线把第一局跑通,再按症状只动对应的那一个参数:改一个,验证一个。串流这件事有个体感甜区——当你忘了自己在串流,说明延迟已经小到不碍事了。

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进