三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

三步把游戏从书房搬上任意屏幕:Sunshine自托管游戏串流完整指南

三步把游戏从书房搬上任意屏幕:Sunshine自托管游戏串流完整指南

三步把游戏从书房搬上任意屏幕:Sunshine自托管游戏串流完整指南

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

深夜想窝在客厅沙发上打游戏,电脑却在书房;出差想用平板接着昨天的存档,进度却锁在自家主机上。这种"好游戏被固定在一台显示器前"的别扭,Sunshine 能彻底解决。作为一款开源免费的自托管游戏串流服务器,Sunshine 负责把 PC 画面实时编码、发送给任意设备,配合 Moonlight 客户端即可实现低延迟游戏串流。这篇指南用三步走完全流程:装好服务器、完成配对、调好画质,全程不花一分钱,也不需要折腾云服务器。

与其按月交云游戏会员费,不如把游戏库攥在自己手里

先看一组对比,你就明白为什么越来越多人选择"自建"而不是"订阅":

对比维度传统云游戏平台Sunshine 自托管串流
费用按月订阅,长期是一笔开销开源免费,一次部署长期使用
游戏库平台给什么玩什么你 PC 上装了什么就串什么
延迟数据绕行云端机房数据走局域网,延迟最低
隐私存档、画面都经过第三方所有数据只在自家网络里转
设备限制部分平台挑设备Windows / Linux / macOS / FreeBSD 全支持

说白了,Sunshine 干的事和云游戏平台一样,只是把"云"换成了"你家书房那台电脑"。游戏本体不动,画面被编码后实时送到客厅电视、床头平板、办公室笔记本上。这就是它存在的全部意义:把 PC 变成一台只属于你的私人云游戏主机

看懂三个关键词,串流原理不再神秘

第一次接触串流的朋友,常被一堆名词劝退。其实只需要理解三件事:

  • 游戏串流:把主机画面压缩成视频流"直播"给客户端,同时把你的操作指令传回主机。可以粗暴理解成"打游戏版的视频通话"。
  • 硬件编码:由显卡而不是 CPU 来完成画面压缩,又快又省电。NVIDIA 的 NVENC、AMD 的 AMF、Intel 的 QuickSync 都是干这活的,Sunshine 会自动挑最合适的那个。
  • Moonlight:运行在手机、平板、电视上的"接收端"软件,负责解码画面并把你的按键传回主机。Sunshine 和 Moonlight 是搭档关系,缺一不可。

不同显卡能发挥的上限大致如下,供你心里有个数:

显卡阵营编码技术推荐分辨率上限推荐码率上限
NVIDIANVENC4K@120Hz100 Mbps
AMDAMF1440p@90Hz50 Mbps
IntelQuickSync1080p@60Hz25 Mbps
无独显CPU 软编码720p@30Hz10 Mbps

编码器的具体实现在源码的 src/nvenc/ 目录里,感兴趣可以翻翻,不感兴趣跳过也完全不影响使用。

开播前完成体检,避开一半的坑

串流出问题的原因,七八成出在硬件不达标或网络没到位。先花两分钟自查一遍:

硬件清单

  • ✅ CPU:4 核以上,玩游戏本来就够用的配置即可
  • ✅ 内存:8 GB 起步,16 GB 更从容
  • ✅ 显卡:NVIDIA GTX 1050 及以上 / AMD RX 550 及以上 / Intel HD 600 及以上,支持硬件编码最好
  • ✅ 手柄:Xbox、PlayStation、Switch Pro 等主流手柄都认

网络清单

  • ✅ 主机尽量插网线,别让 WiFi 成为瓶颈
  • ✅ 客户端和主机处在同一个局域网(后续想外网访问再说)
  • ✅ 路由器别开太激进的省电模式,避免间歇性掉包

体检通过,就可以进入正题了。

挑一条安装路线,十分钟跑起来

Sunshine 的安装方式很多,按"省事程度"给你排了三档:

第一档:包管理器直接装(推荐新手)

# Windows winget install LizardByte.Sunshine # macOS brew install sunshine # Linux(Flatpak 方式) flatpak install flathub dev.lizardbyte.app.Sunshine

第二档:Docker 一键跑(适合爱整洁的人)

docker pull lizardbyte/sunshine

第三档:源码编译(适合想折腾的玩家)

git clone https://gitcode.com/GitHub_Trending/su/Sunshine

编译前记得先看官方文档 docs/building.md 里的依赖说明,避免在环境上卡壳。

配好密码与网络,迈出串流第一步

装完后打开浏览器访问https://localhost:47990,你会看到欢迎页面:

首次进入时有几件事务必照做:

  1. 用户名保持默认的sunshine即可,重点是把密码设得足够强壮(12 位以上,大小写字母 + 数字 + 符号混搭)。
  2. 密码只出现这一次,页面会提示"之后再也不会看到它",请立刻记到密码管理器里。
  3. 顺手确认主机 IP,记下来,后面配对和排查都要用。

小技巧:万一密码忘了,不用重装。在终端执行sunshine --creds 新用户名 新密码就能重置凭据。

完成设备配对,让手机"认领"你的电脑

接下来在要玩的设备上装 Moonlight 客户端。打开后它会自动扫描局域网内的 Sunshine 主机,找到后输入电脑屏幕上显示的 4 位配对码,一次握手就算完成。整个过程也就三十秒。

不同设备怎么选客户端,直接对照下表:

设备推荐客户端备注
Android 手机/平板Moonlight Android支持触控虚拟手柄
iPhone / iPadMoonlight iOS需用 TestFlight 尝鲜版
Windows / macOS 电脑Moonlight PC功能最全,支持 4K HDR
智能电视 / 树莓派Moonlight Embedded适合客厅大屏

搭好游戏菜单,想玩哪个点哪个

配对成功后,客户端里看到的其实是 Sunshine 的"应用列表"。在 Web 界面的 Applications 页面,你可以把想串流的东西都摆上来:

几个实用的"上架"思路:

  • 桌面串流:把整块桌面当应用,适合频繁切换游戏、或者干脆只想远程操作电脑的场景。
  • Steam 大屏模式:配置项填steam://open/bigpicture,一键进入客厅友好的手柄界面。
  • 独立游戏:直接填游戏可执行文件的路径,启动参数照抄游戏快捷方式里的即可。
  • 模拟器:把 RetroArch 这类前端配进来,一套界面玩遍全机种。

如果你懒得自己配,Sunshine 还内置了一个"精选应用"页面:

这里官方帮你筛选好了各平台的 Moonlight 客户端、网络诊断和性能监控工具,点进去就能看介绍,比自己满网找靠谱得多。

照抄三套配置,不同屏幕都能流畅

串流画质不是越高越好,而是"刚好够用"最好。下面是按分辨率整理的码率参考:

场景分辨率帧率推荐码率说明
手机/低速网络720p60fps5–10 Mbps省流量,稳字当头
标准游戏体验1080p60fps15–25 Mbps大多数人的甜点区
高刷显示器1440p120fps25–50 Mbps对网络要求明显变高
客厅大屏4K60fps50–100 Mbps需要千兆有线加持

在 Web 界面的 Configuration 页面可以逐个参数微调,搜索框能帮你快速定位:

客厅 4K 电视的推荐配置:

{ "resolution": "3840x2160", "fps": 60, "bitrate": 80000, "encoder": "hevc", "hdr_enabled": true }

平板/手机的便携配置:

{ "resolution": "1280x720", "fps": 60, "bitrate": 15000, "touch_controls": true, "battery_saver": true }

无线场景再补两条锦囊:优先用 5GHz 频段,别跟微波炉抢 2.4GHz;有条件的话在路由器里给游戏设备开 QoS 优先级。

翻车自救手册:五个高频问题对号入座

串流是典型的"环境问题",大多数故障都能靠对号入座解决:

症状最可能的原因先试这招
客户端找不到主机防火墙拦了端口放行 47989–47990 端口,或重启 Sunshine 服务
画面卡顿、掉帧码率设太高或 WiFi 不稳降一档码率,主机改插网线
画面黑屏显卡驱动太老更新到最新驱动,重启再试
延迟突然飙升有人在下大文件检查网络占用,开 QoS
声音断断续续无线带宽被占满优先保证 5GHz,减少同频干扰

真遇到讲不清的问题,直接看日志比瞎猜快得多。Web 界面的 Troubleshooting 页面就内置了日志查看器:

日志文件的具体位置:

系统日志路径
Windows%ProgramFiles%\Sunshine\config\sunshine.log
Linux / macOS~/.config/sunshine/sunshine.log
Dockerdocker logs sunshine

如果日志里出现错误码,记住这条捷径:30大概率是编码器没找到(查驱动),100一般是网络连接问题(查防火墙),200通常是权限不足(用管理员/root 跑)。更完整的排查思路在 docs/troubleshooting.md 里都有。

解锁进阶玩法,把体验再拉高一个台阶

基础跑通之后,这几个玩法值得一试:

  • 多显示器切换:主机接了多个屏幕时,可以在配置里指定串流哪一块,并开启自动跟随分辨率,切来切去不用手动改参数。
  • 手柄自定义映射:Sunshine 支持把不同手柄的按键重新映射,Xbox、PlayStation、Switch Pro 手柄都能按你的习惯来。
  • 外网远程串流:想在公司连家里的电脑,需要在家用路由器上做端口转发(重点放行 47989–47990 的 TCP/UDP),或者更省心一点,直接用 ZeroTier / Tailscale 组个虚拟局域网,连端口都免了。
  • 多客户端同时串流:Sunshine 支持多个客户端连接,但画面要编码多份,性能吃紧时建议控制在 1–2 个客户端。

新手最常问的五个问题

Q:Sunshine 对操作系统挑剔吗?A:不挑,Windows、主流 Linux 发行版、macOS 和 FreeBSD 都有官方支持,安装方式也各不相同,选适合你的即可。

Q:我的老显卡能用吗?A:只要支持硬件编码基本都能用,只是分辨率上限不同。没有独显也能跑,代价是 CPU 编码画质和帧率都会打折。

Q:支持 HDR 串流吗?A:支持,但需要主机端、客户端两头都开启 HDR,并且用支持 HDR 的显示设备。

Q:一定要局域网才能玩吗?A:不是。局域网体验最佳,但配好端口转发或用内网穿透工具后,公网也能玩,只是对上行带宽和延迟要求更高。

Q:会占用我玩游戏时的性能吗?A:硬件编码器是显卡里独立的电路,几乎不抢游戏性能,这也是它比 CPU 软编码体验好的原因。

写在最后:今晚就能开播

回头看,整个过程其实就三步:装好 Sunshine、完成 Moonlight 配对、按设备调参数。不需要云服务器,不需要订阅费,你的 PC 就是游戏库,你的屏幕可以无处不在。

动手前再对照这份清单检查一遍:

  1. 已安装 Sunshine 并访问 Web 界面
  2. 已设置强密码并妥善保存
  3. 已在目标设备装好 Moonlight 并完成配对
  4. 已添加至少一个游戏应用
  5. 已按设备分辨率调好码率

五项都打钩,就去客厅把游戏开起来吧。从书房到沙发,从桌面到掌心,Sunshine 要做的,就是让好游戏不再被一块屏幕困住。

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

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

← 返回列表