news 2026/9/2 14:04:57

把 PC 游戏串到客厅电视:Sunshine 自托管游戏串流 15 分钟上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把 PC 游戏串到客厅电视:Sunshine 自托管游戏串流 15 分钟上手

把 PC 游戏串到客厅电视:Sunshine 自托管游戏串流 15 分钟上手

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

晚上窝在沙发上,用电视当屏幕、手柄当控制器,把电脑上的 3A 大作直接串过来玩——这就是 Sunshine 干的事。它是一款免费、开源、自托管的游戏串流服务器(self-hosted game stream host),本身不显示画面,需要搭配 Moonlight 客户端来解码播放;所有数据都留在你自己家里,不经过任何第三方云端。

它是怎么工作的,以及谁适合用

这一节回答"东西到底怎么传过来"和"要不要装它"。

Sunshine 和 Moonlight 是分工关系:装在游戏主机上的 Sunshine 负责抓取屏幕、用显卡把画面实时编码成视频流,再把你的键盘、鼠标、手柄操作反向传回去;装在看端设备上的 Moonlight 负责解码并显示,你操作 Moonlight 就像在直接操作那台主机。两者之间只有一条视频流,不上传、不落地到云端,延迟主要取决于你家的网络和主机的编码能力。

几类典型场景都能覆盖:

  • 客厅大屏:把主机串到电视或盒子(Moonlight TV / 机顶盒客户端)上,沙发玩 3A。
  • 移动设备:手机、平板在地铁或床上接着玩同一存档。
  • 轻量盒子:树莓派 + Moonlight Embedded 接 HDMI 投屏,变成一台廉价串流终端。

Windows、Linux 都正式支持,macOS 是实验性支持且手柄暂不可用,装之前先留意这一点。

跑通第一次串流:从安装到点亮第一个应用

这一节是一条时间线,跟着做完就能看到画面。

第一步:按系统装主机端 Sunshine。官方二进制包最省心,去对应系统取包即可。Windows 下选 AMD64/x64 的.msi安装程序,装完会自动注册成系统服务并开机自启(ARM64 版偏实验性,不推荐日常用)。Linux 上 Debian/Ubuntu 用.deb装:

sudo dpkg -i ./sunshine-{distro}-{version}-{arch}.deb

Fedora 可以走 copr 仓库装;macOS 则把.dmg里的Sunshine.app拖进"应用程序",首次启动要授予屏幕录制和麦克风权限。装好后 Sunshine 以后台服务形式常驻。

第二步:打开管理界面建账户。浏览器访问https://localhost:47990(把localhost换成主机的局域网 IP 也行)。首次打开会提示证书不受信任,这是自签证书,忽略即可。跟着向导设置管理员用户名和密码——这套凭证只出现这一次,务必记下来。

第三步:在 Moonlight 端配对。客户端默认会自动发现局域网里的 Sunshine;如果列表里没出现,就手动添加主机 IP。Moonlight 弹出配对请求时,回 Sunshine 界面顶部导航栏的PIN一项,把它显示的数字填进客户端,再给这台设备起个名字,配对即完成。PIN 会定期刷新,始终以 Sunshine 界面当前显示的数字为准。

第四步:启动第一个应用。管理界面里默认就带一个 "Desktop" 应用,它不启动任何程序、直接串整个桌面,最适合验证链路;也可以点 "Add New" 添加具体游戏:填名称、可执行文件路径(可选工作目录和启动参数),再传一张约 600×800 的图标,保存后就会出现在 Moonlight 列表里。

Moonlight 客户端去哪下,界面 "Featured Apps" 标签里也整理好了。

把画质和延迟调到位

这一节解决"画面不糊、操作不卡"。串流质量基本由三样东西决定:编码用什么、网络给多少带宽、分辨率压到多少。

先挑编码器。编码器就是把原始画面压成视频的部件,能硬编就别软编。有 NVIDIA 独显优先用 NVENC;Intel 核显在 Windows 上走 QuickSync,Linux 上走 VAAPI;AMD 显卡在 Linux 上同样走 VAAPI;实在没有可用的硬件编码器,再退回 x264/x265 软编,兼容性好但要吃 CPU。

再按网络环境定分辨率和比特率。比特率可以理解为每秒要传多少画面数据,给少了发糊,给多了发卡:

网络环境建议分辨率 / 帧率建议比特率
有线局域网1080p–1440p / 60fps20–50 Mbps
5GHz WiFi1080p / 60fps10–25 Mbps
远程宽带1080p / 30–60fps5–15 Mbps

默认情况下 Sunshine 按 Moonlight 请求的比特率来编;如果想压一个上限,可在配置里设max_bitrate(单位 Kbps)。

音频与网络各留一句。音频默认用 Opus,低延迟、质量也好,一般不用动。网络侧,主机和看端都尽量走有线或 5GHz 频段;如果要从外网访问,可以在配置里启用 UPnP(默认关闭),让 Sunshine 自动去路由器打开串流端口,省得手动做端口映射;不跑外网就别开。串流相关的端口集中在 47984–47990 这一段,基础端口默认是 47989。

常见卡点实录

这一节把四个高频问题的"现象—原因—解法"讲清楚,对照自查。

客户端搜不到服务器。通常是两端不在同一局域网,或主机防火墙挡住了。先确认两台设备在同一网段,再放行上面那段串流端口;仍不行就在 Moonlight 里用主机 IP 手动添加,绕开自动发现。

画面卡顿、延迟高。多半是带宽和编码没匹配上。优先切回有线,把分辨率或比特率降一档,确认走的是硬件编码而不是软编,再关掉占带宽的后台下载。

忘记管理员密码。用命令行重置即可,把用户名密码换成新值:

sunshine --creds 用户名 密码

手柄不识别。Windows 上 Sunshine 靠 Virtual HID 驱动做虚拟手柄,装好驱动后建议重启一次;Linux 上要把运行 Sunshine 的用户加进input组才能创建虚拟输入设备;macOS 目前不支持手柄。

排查卡在哪一步时,管理界面 "Troubleshooting" 标签里的日志会逐条给出警告和报错,是最快的定位入口。

写在最后

先跑通局域网里的 "Desktop" 串流,确认链路没问题,再按上面的表微调画质,基本就能稳定用了。更细的选项、各平台的采集方式和进阶调优,仓库里都有现成文档:入门看 docs/getting_started.md,逐项配置查 docs/configuration.md,延迟优化看 docs/performance_tuning.md,出问题翻 docs/troubleshooting.md。

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 14:03:22

STM8S标准外设库V2.3.1实战:工程搭建与外设配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 14:01:46

电子取证实战:BitLocker加密磁盘的无损固定与解密分析

简介:面向网络空间安全专业学生与电子取证初学者,华中科技大学《Peter泄密案》教学资源包以真实化泄密案例为主线,串联现场保护、数据固定、镜像分析、证据链构建等关键环节,兼顾课程实验与课后自学两种使用场景。压缩包共743个文…

作者头像 李华
网站建设 2026/9/2 13:59:23

STM32与迪文屏串口通信例程详解:协议解析与工程实践

简介:STM32与迪文屏通信例程是一份面向嵌入式开发者的Modbus RTU通信实战工程。工程以STM32为主机、迪文屏为从机,通过RS485串口4实现双向数据交换,完整覆盖初始化、请求帧构建、CRC校验、响应解析与异常处理等流程,并附带DMA优化…

作者头像 李华
网站建设 2026/9/2 13:57:57

AI图像生成工具Grok Imagine实战评测:从环境部署到批量生产

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 13:57:14

Claude Code实战:Vibe Coding与MCP扩展开发指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/2 13:54:16

Python GUI自动化实战:从同花顺获取期货历史行情数据并导出CSV

简介:这是一份面向量化交易初学者与期货数据分析人员的Python自动化工具,解决手动下载同花顺期货历史行情费时易错的问题。脚本通过模拟操作流程,在启动同花顺客户端、关闭广告后自动选取合约、设置周期与时间范围,抓取原始XLS数据…

作者头像 李华