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 sunshinesystemctl --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 是外网连不上的重灾区。
🔍 连不上时按序排查
顺序不能乱:日志 → 端口 → 权限,先定位层级再动手。
- 日志:打开网页 Troubleshooting 页,实时日志里每条 warning/error 都带上下文,绝大多数问题在这里就能指认。
- 端口:确认 TCP 47984-47990 与 UDP 48010 没有被防火墙拦下;Windows 的 MSI 装完自带规则,Linux 用户检查本地防火墙。
- 权限: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),仅供参考