Sunshine游戏串流上手记:把客厅电视变成第二块游戏屏幕
Sunshine游戏串流上手记:把客厅电视变成第二块游戏屏幕
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
周日晚上的客厅,电视开着,我却盯着书房电脑里打到一半的存档发呆——游戏明明很好玩,但窝在椅子上,总觉得少了点"大屏的爽"。搬到电视上重开?进度不互通,从头再打又太累。就在那个晚上,我遇见了 Sunshine:一款开源的、自托管的游戏串流服务器,专门配合 Moonlight 客户端使用。它能把电脑正在渲染的画面和声音,实时"快递"到局域网里的任何一块屏幕上——电视、平板、手机都行,不用重新装游戏,也不用掏一分钱订阅费。对既想躺沙发、又舍不得进度的人来说,它几乎是量身定做的。
如果你也正面临同样的纠结,这篇文章就当是我陪着你走一遍全程的记录:怎么装、怎么配、怎么让体验更顺滑,以及我踩过的坑。
先说清楚:Sunshine 到底是干什么的
串流这件事,说白了就是把"显卡渲染的画面加声音"打包编码、通过网络送出去,另一端解码显示。你可以把它理解成一条专门运送游戏画面的"实时快递线"——快递员是编码器,包裹是每一帧画面,收件人是你的手机或电视。
市面上大多数云游戏服务走的是"租服务器"的路子:游戏库由平台决定,存档在云端,还得按月付费。Sunshine 的思路完全相反——它住在你自己的电脑里,串流的是你自己的游戏库、你自己的存档、你自己的网络。数据全程在局域网里打转,延迟低、隐私干净,而且完全免费。
它也不挑平台:Windows、Linux、macOS、FreeBSD 都支持。只要你手里有一台能跑游戏的主机,它就能当"发射台"。
把发射台装起来:各平台的安装姿势
Sunshine 的安装基本是"各回各家、各找各妈",按你的系统挑一条命令执行就行:
# Windows winget install LizardByte.Sunshine # macOS(Homebrew) brew tap LizardByte/homebrew && brew install sunshine # Linux 桌面(Flatpak) flatpak install flathub dev.lizardbyte.app.Sunshine # Debian/Ubuntu sudo dpkg -i ./sunshine-ubuntu-24.04-amd64.deb # Docker(适合服务器或不想污染宿主环境) docker run -d --name sunshine \ -p 47984-47990:47984-47990/tcp \ -p 47989-47990:47989-47990/udp \ lizardbyte/sunshine想从源码自己折腾的,也可以git clone https://gitcode.com/GitHub_Trending/su/Sunshine之后按文档构建,但对绝大多数人来说,直接装二进制包就够了,省心。装完启动服务,这台电脑就算正式"上岗"。
第一次握手:浏览器里的 47990 欢迎页
Sunshine 的所有配置都藏在一个网页里。打开浏览器访问http://localhost:47990,你会先看到一个设置用户名和密码的欢迎页:
默认用户名是sunshine,密码由你自己设——千万别用弱密码,因为它将来掌管的是这台电脑的"画面输出权"。设完密码,这个欢迎页就退场了,剩下的管理工作(添加应用、调码率、看状态)都在同一个界面里完成。更妙的是手机浏览器也能进,人坐在客厅就能顺手改配置。
配对那一下,比想象中简单
接下来是关键时刻:在手机、平板或另一台电脑上装一个 Moonlight 客户端。只要设备和 Sunshine 主机在同一个局域网里,Moonlight 会自动发现这台服务器,点进去输入屏幕上显示的四位配对码,就算"绑定"成功了。
从这一刻起,你看到的就不再是"电脑的另一个窗口",而是货真价实的游戏画面:手机上弹出虚拟手柄,电视上显示桌面,进度、存档、设置全都是原机的,一个都没少。
别让好显卡闲着:编码器在背后悄悄打工
很多人第一次串流会担心"画面糊、延迟高",其实大部分锅不在网络,而在编码环节。Sunshine 的聪明之处在于:它会根据你的显卡自动挑最合适的编码方案——NVIDIA 的卡走 NVENC,AMD 的卡走 AMF,Intel 的核显走 QuickSync,苹果设备还有 Video Toolbox 可用;万一没有硬件编码器,还有 CPU 软件编码兜底。
说人话就是:你几乎不用操心"我的显卡支不支持",它自己会选擅长干活的家伙上场。硬件编码由显卡里的专用电路来压缩画面,几乎不占用 CPU 资源,游戏本体照样流畅。想深入了解这些编码模块的实现,可以在src/nvenc/目录里翻翻源码。
把游戏库搬进网页里:从桌面到 Steam 大屏
Sunshine 的"应用"功能,决定了客户端那边能看到什么、能启动什么。你可以在 Web 界面里添加应用——比如直接把桌面串出去(适合多游戏来回切换),或者单独指定某个游戏的可执行文件,还可以用steam://open/bigpicture这种路径把 Steam 大屏模式直接端上来:
每个应用都能单独设置启动参数。家里有人玩模拟器、有人玩独立游戏,各配各的入口,互不干扰。界面上还有一个"精选应用"区域,相当于官方帮你整理好的"串流生态工具包",从各平台的 Moonlight 客户端到配套工具都有介绍,不知道从哪儿下客户端的,先来这里逛一圈准没错:
让体验更顺滑的隐藏细节
串流稳定之后,真正拉开体验差距的往往是细节。
手柄这件事,Sunshine 想得很周到。它能在主机端"模拟"出 Xbox、PlayStation、Switch Pro 等多种手柄。也就是说,你在手机上用虚拟手柄操作,主机端的游戏会以为你插了个实体手柄,键位、震动全都正常。Windows 下依赖 ViGEmBus 驱动,Linux 走 inputtino,安装时按提示装好对应驱动即可。
配置项多但好找。Web 界面支持配置搜索,输入关键词就能定位到对应选项,不用在一长串菜单里翻找:
日志会说话。万一出了问题,别急着卸载重装,先看一眼日志。Windows 上一般在%ProgramFiles%\Sunshine\config\sunshine.log,Linux/macOS 在~/.config/sunshine/sunshine.log,里面会记录编码器加载、连接建立等关键信息,多半能帮你定位问题:
网络这关,值得多花五分钟
串流对网络的敏感程度,比你对咖啡的依赖还高。我的经验就三条:能插网线就别用 Wi-Fi,网线是串流最稳的底座;客户端尽量走 5GHz 频段,2.4GHz 干扰多、容易卡;路由器开启 QoS,让游戏流量优先通行。至于码率,别一上来就拉满——1080p 60 帧从 15Mbps 起步,画面糊了再往上加,帧率不稳就往下调,找到自家网络的"甜蜜点"最重要。更详细的参数说明可以翻翻docs/configuration.md和docs/performance_tuning.md。
如果画面还是偶尔抽风,先分清问题出在哪一环:丢包、延迟高多半是网络,画面糊、掉帧则八成是编码或硬件负载。对症下药,比盲目调参数有效得多。
现在,轮到你动手了
从安装到配对,其实用不了十分钟;但当你真正躺在沙发上,用电视玩着书房电脑里的游戏时,那种"全屋都是我的游戏机"的感觉,是订阅云游戏给不了的。
Sunshine 是免费的、开源的,社区活跃,文档齐全。它不挑设备、不挑系统,也不挑你钱包的厚度——它只挑一样东西:你愿不愿意花十分钟,把游戏从书房那块屏幕里解放出来。
打开浏览器,输入localhost:47990,你的第一块"第二屏幕"正在等你。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考