Sunshine 游戏串流:把书房电脑变成全家共享的游戏主机
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
晚上十点半,你窝在沙发里想打开那款刚推进到一半的大作,可主机还搁在书房桌上。与其搬电脑,不如打开 Sunshine——一个开源的自托管游戏串流服务器,它接管这台电脑的画面与声音,编码后通过局域网推到电视、平板或手机上,延迟低到几乎感觉不到画面是"传"过来的。整套服务跑在你自己的机器上,数据不出家门,也没有任何订阅费。
🎬 它是怎么把游戏画面送到客厅的
Sunshine 的工作流程可以拆成三步:先捕获屏幕画面,再交给显卡里的硬件编码器压缩,最后由 Moonlight 客户端在另一台设备上解码播放。硬件编码是关键——它把最耗性能的压缩工作从 CPU 挪到显卡上,这是低延迟的核心来源。
不同品牌的显卡走各自的路线,Sunshine 会自动检测并适配:
| 编码路线 | 适用硬件 | 说明 |
|---|---|---|
| NVENC | NVIDIA GTX 1650 及以上 | 最成熟的方案,N 卡优先使用 |
| AMF | AMD 独显 | 中端以上显卡体验不错 |
| QuickSync | Intel 核显/独显 | 核显串流的常用选择 |
| VAAPI | Linux 下各家显卡 | 依赖驱动支持 |
| 软件编码 | 任意 CPU | 无硬编时的兜底方案,吃 CPU |
NVENC 指的是 NVIDIA 显卡内置的硬件视频编码器。如果想看具体实现,可以翻一下 NVENC 编码器源码目录,对底层感兴趣的话会很有意思。
📦 三种系统,各自的装法
Windows:装完即用
从仓库发布页下载 MSI 安装包,双击运行向导,一路下一步。装好后 Sunshine 会自动启动并挂在系统托盘里,后面全程通过浏览器操作。
Linux:Flatpak 最省心
以下命令从 Flathub 安装 Flatpak 版,兼容性最好:
flatpak install flathub dev.lizardbyte.app.SunshineDebian/Ubuntu 系可以用发布版提供的 deb 包(sudo dpkg -i sunshine-*.deb),Arch 用户直接yay -S sunshine即可。各发行版之间的差异细节都写在 官方新手指南 里。
macOS 与 Docker
macOS 用 Homebrew 一行装好:
brew install sunshine熟悉 Docker 的话,也可以用容器方式拉起,注意把串流相关端口映射出来:
docker run -d --name sunshine --restart unless-stopped \ -p 47989-47990:47989-47990 \ -p 48010:48010/udp -p 47998-48000:47998-48000/udp \ -v /path/to/config:/config \ lizardbyte/sunshine:latest官方文档也提过一句:Docker 部署对多数用户不算首选,优先建议用平台原生安装包。
🖥️ 首次启动:在网页端完成初始化
首次启动页面,在这里创建管理员账户,记下用户名和密码
浏览器打开https://localhost:47990,就会看到上面的欢迎页。首次进入要求你创建管理员账户——用户名默认是sunshine,自己设一个强密码并记下来,后面忘了可以用命令行重置。
放行这几个端口
Sunshine 通信主要用到这几段端口,装完后记得在防火墙里放行,或者干脆启用 UPnP 让路由器自动做端口转发:
- 47990(TCP):Web 管理界面
- 47989(TCP):HTTP 服务
- 48010(UDP):主串流通道
- 47998–48000(UDP):音频与辅助数据
把游戏加进串流列表
应用管理页,每条记录对应一个可串流的程序或游戏
在左侧菜单点Applications,再点Add New,依次填入:显示名称、程序可执行文件路径、工作目录(可选)、启动参数(可选)。保存后,Moonlight 客户端的列表里就会出现这个条目。
🎮 Moonlight 配对:让电视和手机连上主机
Sunshine 只负责服务端,播放端是 Moonlight 客户端。它覆盖了 Windows、macOS、Linux、Android 和 iOS,树莓派这类小设备也有 Embedded 版本;iOS 端通过 TestFlight 获取。
精选应用页,展示官方推荐的 Moonlight 客户端
配对本身比想象中简单:在客户端上打开 Moonlight,点 "+" 添加主机,扫到同一网络里的 Sunshine 后输入网页端显示的 PIN 码,几秒内完成。之后每次启动游戏都只需在客户端点一下图标。
⚡ 码率、分辨率、帧率:按带宽调参
所有参数都在网页端的 Configuration 页调整,配置项很多时可以直接用搜索框定位,比如搜bitrate:
配置页支持搜索,码率、分辨率、帧率等参数都能快速找到
参数没有"最优点",只有和你带宽匹配的点。一个可用的基线:60 FPS、分辨率跟随客户端设备原生值、码率按下面这张表给:
| 网络环境 | 建议参数 | 大致延迟 |
|---|---|---|
| 千兆有线 | 4K/60FPS,50Mbps | 5–15ms |
| 5GHz WiFi | 1080p/60FPS,25Mbps | 15–30ms |
| 2.4GHz WiFi | 720p/30FPS,10Mbps | 30–50ms |
| 远程/公网 | 720p/30FPS,5Mbps | 50ms 以上 |
客厅大屏场景建议上 4K 加 HDR(游戏和显示器都要支持),音频选 5.1 声道,客户端尽量走有线。移动端就反过来做减法:5GHz WiFi、1080p、按游戏类型配好触控布局——动作游戏虚拟摇杆加按键,赛车游戏用方向盘布局。
🩺 连不上?先查这三样
网页端 Troubleshooting 页签,日志直接在线查看
排查的第一步永远先看日志:网页端有现成的Troubleshooting页签,日志直接在线看;本地文件在各平台的配置目录下(Linux/macOS 常见于~/.config/sunshine/,文件名sunshine.log),Windows 在程序安装目录的 config 子文件夹里。重点看编码器是否正常初始化、连接建立与断开的记录,以及错误级别的信息。
常见现象基本都能对号入座:
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 客户端找不到主机 | 防火墙拦了 | 放行 47990 等端口或开 UPnP |
| 串流中途频繁断开 | 无线链路不稳 | 换有线,或固定 5GHz 信道 |
| 画面明显卡顿 | 带宽或码率不匹配 | 降分辨率、降码率 |
| 手柄没反应 | 输入后端/驱动问题 | 更新手柄驱动,检查输入设置 |
忘记管理密码的补救办法
在服务器上用命令行重置,Flatpak 安装时命令前缀换成flatpak run --command=sunshine dev.lizardbyte.app.Sunshine:
sunshine --creds {新用户名} {新密码}🎨 进阶玩法与硬件门槛
主题支持深色、浅色与跟随系统三种模式
外观上,网页端提供深色/浅色/自动三种主题,夜猫子可以常亮深色模式。想更进一步的话,有两件事值得做:一是直接编辑apps.json给应用加启动前/退出后的自动命令(比如切分辨率、关游戏),仓库里 Linux 版应用示例 就是活教材;二是给家庭成员各自建账户,按需分配访问权限。全部可调项的含义可以参考 配置项手册。
串流主机的硬件门槛并不高:
| 组件 | 起步要求 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 6 核以上 |
| GPU | 支持硬件编码 | NVIDIA GTX 1650 以上 |
| 内存 | 8GB | 16GB 以上 |
| 网络 | 百兆有线 | 千兆有线 |
日常维护也简单:跟着发布节奏更新 Sunshine 和显卡驱动,定期备份sunshine.conf和apps.json就够了。
📚 继续深入:文档与社区入口
遇到问题时按顺序看三篇文档效率最高:新手指南 覆盖各平台安装细节,配置手册 解释每一个开关,故障排查文档 按症状归类了常见坑。更多讨论可以去项目的 GitHub 讨论区或 Discord 社区提问,反馈和贡献也在那儿进行。
Sunshine 的价值很朴素:它把一台高性能 PC 的能力摊到了家里的每一块屏幕上,而且数据始终留在自己的网络里。装好之后不妨先拿客厅电视试一场 1080p/60FPS 的游戏,感受完延迟再回来按上面的参数表慢慢磨——从 新手指南 开始,你需要的信息基本都能找到。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考