把 PC 游戏白嫖上电视:Sunshine+Moonlight 十分钟出画面
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是免费、自托管的游戏串流服务器:装在 PC 上,配一台 Moonlight,游戏画面直送电视。捕获、编码、推送全在你家局域网内,不花订阅费,数据不出门。
适不适合你?30 秒自测
产出:看一眼就知道该不该装,硬件与网络底线一次摸清。
| 情形 | 结论 |
|---|---|
| 该装的人 | 想把 PC 游戏上大屏、又不想付订阅费:主机装 Sunshine,电视盒子/平板/手机装 Moonlight |
| 建议绕道 | 用 macOS 主机串手柄(实验版暂无虚拟手柄);长期在外、网络不稳定(能走端口转发,但更折腾) |
| 系统支持 | Windows 11+、Ubuntu 22.04+/Debian 13+/Fedora 43+、FreeBSD、macOS 14.2+(实验性) |
| 硬件底线 | 带硬件编码的显卡即可:N 卡 NVENC、A 卡 AMF、Intel 核显 QuickSync,编码全在 GPU 上跑,CPU 基本不沾 |
| 网络底线 | 两端同一局域网;官方无线基线是 5GHz 802.11ac,低于这个规格调优容易碰天花板 |
| 捕获通道 | Windows 走 DXGI(直接读桌面合成画面);Linux 有 X11/Wayland/KMS(内核态直接抓取显示输出);macOS 用 ScreenCaptureKit |
| 提前一个坑 | AppImage 与 Flatpak 包不支持 KMS 捕获,需要它就走发行版官方包 |
整条链路只有四步:Sunshine 抓画面 → 显卡硬件编码器压流 → 视频流推给 Moonlight → 你的按键回传主机。全部发生在局域网里,这就是它免费且延迟低的原因。
出首帧:从装服务到点开游戏
装服务:把 Sunshine 落到主机上
产出:Sunshine 以常驻服务跑起来,浏览器能打开https://localhost:47990,管理员账号建好。
Windows:从项目发布页下载Sunshine-Windows-AMD64-installer.msi双击安装(ARM64 机器下 ARM64 包)。装完服务常驻后台,浏览器自动弹出配置页,提示"不安全"是本地自签证书所致,点继续访问。
Linux:
sudo apt update sudo apt install sunshineFedora 用sudo dnf install Sunshine,openSUSE 用sudo zypper install Sunshine。没有发行版包时下载 AppImage 执行./Sunshine_{version}_{arch}.AppImage --install。
拉起服务并设开机自启:
systemctl --user enable --now app-dev.lizardbyte.app.SunshinemacOS(14.2+,实验性):
brew tap LizardByte/homebrew brew install sunshine首次启动会弹授权框,把"屏幕录制"和"麦克风"都允许。
FreeBSD:
sudo pkg install ./Sunshine-{version}-{arch}.pkg⚠️ 首次访问网页时创建的用户名和密码,是后续登录网页、配对设备的唯一凭证,丢了无法找回,当场记下来。
配设备:把 Moonlight 绑上 Sunshine
产出:电视/平板/手机上的 Moonlight 能扫到主机,PIN 配对通过。
- 接收端装 Moonlight(Android、iOS、macOS、Windows 都有官方客户端),确认与主机同一局域网。
- 客户端自动扫描,跑着 Sunshine 的主机会直接出现在设备列表里。
- 发起配对,屏幕弹出 PIN 码。
- 登录网页端,点顶部导航的"PIN",输入码、给设备起名、保存。
⚠️ 两端千万别落在不同网段(比如手机连了 2.4G 访客网络、主机在 5G 主网络),扫描必失败。
开游戏:选上 Desktop 看画面亮
产出:大屏画面实时推流,按键、鼠标、手柄动作回传主机。
- 网页端打开"Applications"页,默认有一条
Desktop记录——串它就是整个桌面。 - 单独串某个游戏:点"Add New",填名称和启动命令,保存。
- 回到 Moonlight,应用列表选
Desktop,点开始串流。
画面亮起来后,你在大屏上按下的每个键都会实时执行在主机上,到此收工。
还能怎么串?客厅之外的 3 种布法
产出:对号入座挑一种布法,不用再自己琢磨组网。
| 布法 | 硬件放法 | 换来的体验 |
|---|---|---|
| 书房主机 + 客厅电视 | 主机放书房常驻,电视盒子装 Moonlight | 全家围着 65 寸大屏玩,局域网延迟基本无感 |
| 出差回连家里主机 | 家里路由器做端口转发,手机走稳定移动网络 | 在高铁上把家里主机的游戏拉起来接着刷 |
| 多设备接力 | 游戏进程始终挂在主机上 | 上午电视、下午切平板,换设备游戏不用重开 |
卡住了?按症状定位原因
产出:30 秒内把现象对上根因,动作列全是能直接执行的命令或点击路径。
| 症状 | 根因 | 解决动作 |
|---|---|---|
| Moonlight 扫不到主机 | 防火墙拦了47990端口,或两端不在同一网段 | 防火墙放行47990;确认同网段后执行systemctl --user restart app-dev.lizardbyte.app.Sunshine(Windows 重启 Sunshine 服务) |
| 网页配置页打不开 | 地址或端口不对,卡在自签证书警告 | 访问https://localhost:47990,换设备时把 localhost 换主机内网 IP,证书警告点继续访问 |
| 画面卡顿、帧率上不去 | 带宽不足或码率超出网络承载 | 主机改有线或 5GHz WiFi;Moonlight 里降一档分辨率/帧率;网页端 Configuration 页下调max_bitrate |
| Linux 鼠标键盘手柄无响应 | 运行用户不在input组,虚拟输入设备建不出来 | 执行sudo usermod -aG input $USER,重新登录系统生效 |
| macOS 手柄配置缺失 | macOS 版仍属实验性,暂不支持虚拟手柄 | 手柄场景把 Sunshine 装到 Windows 或 Linux 主机;macOS 主机先串桌面和应用 |
表里兜不住时,打开网页端 Troubleshooting 标签:全部运行日志在那,逐条点开红色警告按提示修。
再榨一点性能
产出:卡顿、发糊、帧率上不去,各对应一个具体旋钮。
- 编码器没选对 → 在 Configuration 页搜
encoder:N 卡encoder = nvenc,A 卡encoder = amdvce,Intel 核显encoder = quicksync - 画面发糊 →
max_bitrate(单位 Kbps)偏低,示例写法max_bitrate = 5000,按家里带宽往上加 - 帧率有天花板 → 先保网络(有线或 5GHz 802.11ac),再降一档分辨率/帧率,把
max_bitrate回调到与带宽相称的档位 - 想冲 4K 60fps → 主机和客户端都要过下面的线
| 部件 | 最低规格 |
|---|---|
| 显卡 | NVIDIA GTX 1080 及以上 / AMD Video Coding Engine 3.1 及以上 / Intel HD 510 及以上 |
| CPU | AMD Ryzen 5 或 Intel Core i5 及以上 |
| 网络 | CAT5e 及以上有线,两端一致 |
继续往下挖
产出:4 个官方文档入口,外加重装系统前必备的一份备份动作。
- 完整参数清单(
max_bitrate、encoder等全在这):docs/configuration.md - 快捷键、多显示器与入门细节:docs/getting_started.md
- 编码器细节与系统级优化(如 N 卡 Fast Sync):docs/performance_tuning.md
- 常见故障问答:docs/troubleshooting.md
- 重装系统前先备份配置目录:Linux / macOS / FreeBSD 在
~/.config/sunshine/,Windows 在%LOCALAPPDATA%\LizardByte\Sunshine,整个目录拷走就是备份
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考