Sunshine串流指南:从配对到远程畅玩,三步跑通
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
晚上十点在沙发上,存档打到一半的主角就停在卧室那台电脑前。把主机搬来搬去太折腾,云游戏会员又得排队、还要把存档交到别人手里。Sunshine 解决的就是这件事:它是完全开源免费的自托管游戏串流服务器,专门给 Moonlight 客户端用,装在你自己的 Windows、Linux 或 macOS 电脑上,把游戏画面实时送到手机、平板或电视上。电脑还是你的电脑,只是画面会"搬家"了。
图:Sunshine 游戏串流 Web 管理欢迎界面,首次访问会引导你设置账户
它到底在"流"什么
Sunshine 的链路拆成四步:① 捕捉——用系统级屏幕捕获接口把桌面画面实时截下来,Windows 走 DXGI,Linux 走 KMS/DRM 或 Wayland;② 编码——显卡自带的硬件编码器(NVENC 就是 N 卡的这种)把画面压成 H.264/HEVC/AV1 视频流,音频一并编进去;③ 传输——优化的网络协议把视频和你的键鼠、手柄指令双向传递;④ 渲染——Moonlight 客户端拆包播放,你的操作原路传回主机。就像寄快递:显卡是仓库负责打包,网络是物流,Moonlight 负责拆包。想深挖的话,编码环节的实现都在 src/video.cpp 里。记住一句话:编码速度决定延迟,网络质量决定清晰度,后面所有调优都围着这两件事转。
装好它:一条命令的事
安装方式按系统选就行,差异很小:
| 平台 | 推荐方式 |
|---|---|
| Windows | 官方安装包,一路下一步 |
| Linux | 包管理器(apt/dnf 等) |
| macOS | 下载安装包拖进 Applications |
前置条件很简单:
- 有管理员/ root 权限
- 显示器正常在线
- Moonlight 客户端在同一局域网
以 Linux 为例,两条命令装完,依赖自动解决,服务会自动注册成后台进程:
sudo apt-get update sudo apt-get install sunshine装完打开浏览器访问https://localhost:47990进入 Web 界面。浏览器会警告"不安全",那是自签名证书,忽略即可,官方 docs/getting_started.md 里也有同样提示。
配好这三步就能跑
🔑 第一步,建账户。首次访问会要求设置用户名和密码,这是 Web 界面的钥匙。用强密码并存好,它也是后面配对安全的一环。
📺 第二步,配对 Moonlight。在 Moonlight 里添加主机(局域网内通常自动发现),选择配对,屏幕会弹出四位 PIN。回到 Web 界面的 PIN 页把 PIN 输进去、给设备起个名字,提示 Success 就成功了。此时客户端里会列出主机上配好的应用。
⚙️ 第三步,加应用。默认只有桌面和 Steam 大屏幕模式。在 Applications 页面点 Add New,填名称、可执行文件路径和启动参数,客户端重启后列表刷新,新游戏就出现了。
图:Sunshine 应用管理界面,在这里添加可串流的游戏
剩下就是调参。Configuration 页面顶部有搜索框,想改什么直接搜,比翻菜单快得多:
图:Sunshine 配置搜索界面,关键词直达目标设置
几个关键参数的推荐值:
| 参数 | 推荐值 |
|---|---|
| 分辨率与帧率 | 按客户端屏幕实际规格,1080p/60 起步 |
| 比特率 | 局域网有线 30Mbps 起,远程无线 10–15Mbps |
| 编码预设 | 竞技游戏选低延迟,看桌面选高质量 |
调优的逻辑是条件式的:如果客户端屏幕不支持 4K,就别开 4K;如果画面开始花屏,就降一档比特率;如果打竞技游戏感觉拖,就把预设切到低延迟。改完跑一局试试手感,比对着参数表硬背有用得多。
换个场景,换个思路
局域网串流:主机插网线,客户端连 5GHz 频段,这是延迟最低的组合,参数可以放心给高。
远程串流:确认路由器开了 UPnP 做端口转发,家里是动态 IP 就配个动态 DNS;比特率降一档换稳定,公网的延迟和抖动远高于局域网,硬拉高只会更卡。
反直觉的一条:竞技游戏别直接拉满 4K。1440p 配 120fps 的手感往往比 4K 30fps 好得多,串流看的是跟手,不是壁纸级画质。另外 Moonlight 各平台客户端都能在 Featured Apps 页面找到,老机器没有硬件编码时,Sunshine 会自动退回软件编码兜底,能跑就是胜利。
常见翻车,对号入座
图:Sunshine 日志排查界面,编码器加载失败这类问题日志里都写得很清楚
- 找不到主机:确认服务在跑、两端同一局域网、防火墙放行 47984–47990 端口,最稳是手动输 IP
- 画面卡顿、马赛克:先降一档比特率,再看网络是否有线、显卡驱动是否太旧
- 串流没声音:检查有无程序独占音频设备,换一下默认播放设备
- 操作延迟高:关掉键鼠手柄省电模式,清掉后台吃带宽的应用
四步行动清单:
- 选一种方式装好 Sunshine,让服务跑起来
- 手机或平板上装 Moonlight,完成 PIN 配对
- 添加一个游戏,从桌面串流开始试水
- 局域网、远程各跑一局,按手感微调参数
主机从此随叫随到,游戏跟着你走,而不是你跟着电脑走。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考