Sunshine 游戏串流实战:零成本把 PC 游戏库搬上客厅电视和手机
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款完全免费、开源的自托管游戏串流服务器,装在你自己的 PC 上,搭配 Moonlight 客户端,就能把游戏画面实时串流到手机、平板和智能电视,手柄输入原路传回。不经过第三方服务器,不花月费,十分钟就能搭好。
动手之前:两分钟搞懂 Sunshine 是什么
一句大白话:Sunshine 把你的电脑变成一座"游戏视频转播站",它实时抓取屏幕,用显卡(GPU)压成视频流推到你手里的设备,你的按键和鼠标操作再原路传回电脑。
打个比方:这就像在家里拉了一条专线——搬的不是游戏,是画面。游戏本体始终留在 PC 里,画面信号不经过任何人的中转站,账号和存档都在你自己手里。
技术结论:串流画质和延迟,取决于你家网络的带宽和显卡的编码能力。所以整件事拆开来只有三步:装服务端、配客户端、按场景调参数。
服务端其实只做两件事
- 编码:把屏幕画面实时压成 H.264/HEVC(两种视频压缩格式)帧,显卡干活,CPU 基本不累;
- 输入:把 Moonlight 传回来的手柄、键盘操作,变成系统认识的真实按键事件。
想翻底层实现,NVIDIA 编码器代码集中在 src/nvenc/ 目录。
你的显卡够不够用
Sunshine 会根据显卡自动选编码器,不用手动指定:
| 显卡 | 使用的编码器 | 体验参考 |
|---|---|---|
| NVIDIA | NVENC | GTX 1050 及以上表现良好 |
| AMD | AMF / Vulkan | RX 550 及以上 |
| Intel 核显 | QuickSync | HD 600 及以上 |
| Linux 环境 | VAAPI | AMD/N 卡均可用 |
通用硬件底线:4 核 CPU + 8GB 内存 + 上面这些带硬件编码的显卡,老机器也能跑。
Sunshine 安装教程:按系统挑一条命令
确定好当服务端的机器,一条命令装好,哪行匹配你的系统用哪行:
winget install LizardByte.Sunshine # Windows flatpak install flathub dev.lizardbyte.app.Sunshine # Linux brew install sunshine # macOS docker pull lizardbyte/sunshine # NAS/软路由(Docker)这步在做什么:把串流服务端装进游戏主机,装完它以系统服务常驻后台,等着客户端上门。走 Docker 的话,记得映射 47984–48010(UDP)和 47990(TCP)端口并挂载配置目录。想从源码编译、定制参数,先拉仓库:
git clone https://gitcode.com/GitHub_Trending/su/Sunshineclone 下来之后按 docs/building.md 自己构建。
装完先打开管理页,把门锁设好
浏览器访问https://localhost:47990,这是 Sunshine 的 Web 管理控制台。证书是自签名的,浏览器提示不安全时点"继续访问"即可。
第一屏就三件事:
- 用户名默认
sunshine,不改也行; - 设一个 12 位以上、大小写加数字加符号的密码,这是整个串流系统的钥匙;
- 存好凭证,之后每次进后台都要用它。
后台顶部有搜索框,输入功能名直接跳到对应配置项,不用一页页翻菜单;深浅主题随时能切,客厅大屏上看深色更护眼。
Moonlight 配对只需四步
服务端就绪,轮到客户端。Moonlight 是 Sunshine 的官方搭档,Android、iOS、Windows、macOS、智能电视上都有。
- 在要玩的设备上装 Moonlight,应用商店搜名字就能找到;
- 确认两台设备在同一个局域网;
- 打开 Moonlight,它会自动发现名为 "Sunshine" 的主机;
- 把 Sunshine 后台显示的 PIN 码输进 Moonlight,配对完成。
配对成功后,客户端里默认就有两个入口:"Desktop"(整个桌面串流)和 "Steam",点哪个都能直接开玩。到这里,"装—配—玩"的闭环已经通了。
按场景调优:码率帧率跟着屏幕走,延迟跟着你走
参数不用全调,只调影响你玩法的那几项。
码率帧率怎么配
一句大白话:码率决定每秒视频带多少信息,帧率决定画面多流畅。打个比方:码率像水管粗细,管越粗塞得进的画面越清楚;但管子粗过你家网络带宽,传输就堵。技术结论:码率要和两端设备的实际带宽匹配。
HEVC 编码速查:
| 使用场景 | 分辨率 | 帧率 | 码率 |
|---|---|---|---|
| 手机通勤玩 | 720p | 60 | 5–10 Mbps |
| 客厅电视标准体验 | 1080p | 60 | 15–25 Mbps |
| 高刷桌面显示器 | 1440p | 120 | 25–50 Mbps |
| 4K 大屏(建议有线) | 4K | 60 | 50–100 Mbps |
所有参数都在后台 "Configuration" 页,改完点 Save 即时生效,不用重启服务。全部参数说明在 docs/configuration.md。
串流低延迟的三条规矩
射击、格斗这类吃手感的游戏,按这三条来:
- 网络优先走有线,实在用 WiFi 就选 5GHz,离 2.4GHz 远一点;
- 路由器开 QoS,把串流流量的优先级拉满;
- 两端 HDR 开关保持一致,一边开一边关,画面会发灰。
编码器预设等更深的调法,见 docs/performance_tuning.md。
多设备玩法:给每个游戏建专属入口
想让每个设备上的游戏列表都干净,就别只靠内置入口。后台 "Applications" 页点 "Add New",填名称和启动命令:
- Steam 大屏模式:
steam://open/bigpicture; - 独立游戏:直接指向可执行文件路径;
- 模拟器:指向 RetroArch 主程序,核心参数写进启动参数里。
走出家门:虚拟局域网比端口转发省心
两条路:一是在路由器上把 UDP 47984–48010 和 TCP 47990 转发到主机;二是用 ZeroTier、Tailscale 这类工具把设备拉进同一个虚拟局域网。推荐后者——不暴露公网端口,延迟和局域网几乎没差别。
串流翻车了怎么办:四个高频故障一次修好
配置顺利也会翻车,按"现象 → 原因 → 解法"对号入座。
🖥️搜不到 Sunshine 主机原因:防火墙拦了,或两台设备不在同一网段。 解法:放行 47990 与 47984–48010 端口;确认两台设备同网段;路由器开 UPnP 或手动做端口转发。
🎮卡顿、掉帧原因:码率超过网络实际带宽,或带宽被别的应用抢走。 解法:码率降一档试试;暂停下载和直播;更新显卡驱动,编码器性能常随驱动提升。
🌈串流花屏怎么办:先查 HDR原因:两端 HDR 设置不一致,或编码格式不兼容。 解法:把两端 HDR 设置对齐,再把编码器从 HEVC 切回 H.264 对比一下。
🕹️手柄完全没反应原因:Windows 主机缺 ViGEmBus 驱动——它是把客户端手柄"翻译"成系统虚拟手柄的桥梁。 解法:后台 "Troubleshooting" 页一键安装,装完即好。
还不行就读日志:后台日志界面自带搜索和错误高亮,"Encoder not found" 这类报错直接标红,比翻文件快。日志位置:Windows 在%ProgramFiles%\Sunshine\config\sunshine.log,Linux/macOS 在~/.config/sunshine/sunshine.log,Docker 用docker logs sunshine。完整手册见 docs/troubleshooting.md。
常见疑问速答
支持哪些系统?Windows 10/11、主流 Linux、macOS 10.15+、FreeBSD。
能几个客户端同时连?支持多客户端,实际数量看显卡编码能力,一般 1–2 路体验最好。
要不要付费?一分钱不用,Sunshine 完全免费开源。
显卡要很高配吗?不必,4 核 CPU + 8GB 内存 + 支持硬件编码的显卡即可。
今晚就能动手的清单
- 按系统挑一条命令装好 Sunshine
- 浏览器打开
localhost:47990,设好强密码 - 手机/平板装 Moonlight,完成首次配对
- 给主力屏幕调一档码率和帧率
- 先玩起来,多设备和跨网玩法后面再说
从今晚开始,你坐在家里哪个位置,同一个游戏库都在一按之间。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考