三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Sunshine 游戏串流零基础实战:1 小时搭好你的私人云游戏平台

Sunshine 游戏串流零基础实战:1 小时搭好你的私人云游戏平台

Sunshine 游戏串流零基础实战:1 小时搭好你的私人云游戏平台

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

Sunshine 是一款开源免费的自托管游戏串流服务器,专门为 Moonlight 客户端设计。把它装在你常玩游戏的电脑上,手机、平板、电视、另一台电脑就能随时接手你的 3A 大作——不用订阅费,不用把游戏库搬到云端,所有画面都在你自己的网络里完成编码与传输。这篇 Sunshine 游戏串流零基础实战,会陪你把从安装到成功串流第一局游戏的完整流程走通一遍。

当游戏被锁在书房电脑里,Sunshine 游戏串流就是那把钥匙

晚上十一点,boss 只剩最后一格血,可你明天还要早起,只能恋恋不舍地关掉游戏;周末想窝在沙发上对着大屏打游戏,主机却只肯待在书房那张桌子底下;出差回来想用平板续上进度,进度却跟着台式机"休假"了。

这些场景的共同点不是"没有游戏设备",而是"游戏被困在了某一台电脑上"。Sunshine 要解决的,恰恰就是这件事:让一台电脑的游戏画面和操作,像水一样流到家里任何一块屏幕上。

一句话看懂:Sunshine 游戏串流服务器到底是什么

Sunshine 是自托管的游戏串流服务端(host),配套的客户端是开源的 Moonlight。你在主力电脑上运行 Sunshine,它负责把游戏画面实时编码、通过网络推给客户端,同时把客户端传来的手柄、键鼠操作回传给游戏。听起来复杂,体验上却只有一个直觉:屏幕在别处,游戏依旧跟手。

几个关键能力先亮个底:

能力说明
硬件编码NVIDIA NVENC、AMD AMF、Intel QuickSync,也支持软件编码兜底
平台支持Windows、Linux、macOS、FreeBSD
客户端生态Moonlight 覆盖 PC、Android、iOS、macOS、嵌入式设备
配置方式浏览器访问 Web 界面即可完成配置与配对
隐私与成本完全免费,数据不出本地网络

从安装到配对成功:Sunshine 游戏串流 5 分钟上手路线

第一次成功串流,通常只需要三个步骤:装好服务端、完成首次设置、用 Moonlight 配对。

第一步:选一种最顺手的安装方式

Sunshine 的安装方式覆盖了几乎所有主流系统,下面这段命令按需取用即可:

# 想从源码自己构建,克隆官方仓库后按文档编译 git clone https://gitcode.com/GitHub_Trending/su/Sunshine winget install LizardByte.Sunshine # Windows 用户 brew install sunshine # macOS 用户 flatpak install flathub dev.lizardbyte.app.Sunshine # Linux 用户

Linux 用户也可以直接下载官方提供的 AppImage 或 .deb 安装包;FreeBSD 则用pkg install。容器用户要注意:Docker 镜像虽然存在,但官方明确提示它"不适合大多数用户",因为显卡直通和网络配置的门槛较高,新手优先用原生安装。

第二步:打开浏览器,完成首次设置

安装完成后,在浏览器访问http://localhost:47990,会看到欢迎页面,要求你创建 Web 界面的用户名和密码(用户名默认是sunshine,可以自己改)。这一步相当于给整个串流平台上了把锁,请务必设置一个强度足够的密码。

首次设置检查清单:

  • ✅ 浏览器能打开http://localhost:47990
  • ✅ 用户名密码已创建并妥善保存(只显示一次)
  • ✅ 页面顶部导航能正常切换各个功能页

第三步:用 Moonlight 客户端配对并开始串流

在手机、平板或另一台电脑上安装对应的 Moonlight 客户端,确保它与 Sunshine 主机处于同一局域网。打开客户端后通常会自动发现服务器,点击进入,Sunshine 的 Web 界面会弹出一个 4 位 PIN 码,输入即完成配对。配对之后,你配置的应用就会出现在客户端里,点一下,游戏开流。

设备连接速查:

设备类型推荐客户端特点
Android 手机/平板Moonlight Android支持触控虚拟手柄
iOS 设备Moonlight iOS移动端体验完整
Windows PCMoonlight PC高码率、高刷新率支持好
macOS 设备Moonlight macOS原生流畅
智能电视/树莓派Moonlight Embedded适合嵌入式设备接大屏

三个让人惊艳的细节:Sunshine 游戏串流的用心之处

用久了你会发现,Sunshine 的很多设计不是为了"能用",而是为了"好用"。

应用管理:把桌面、Steam 与模拟器收进同一个游戏库

在 Web 界面的 Applications 页,你可以给每个游戏或程序单独建一条启动配置:桌面、Steam 大屏模式、某个游戏的可执行文件、RetroArch 模拟器,都能并列在库里,客户端里选谁开谁。

值得留意的是页面上的那句提示:应用列表只在客户端重启后刷新。你改了配置却发现客户端没变化,不用慌,重启一下 Moonlight 就好。

配置搜索:几百个参数,输入关键词一搜就到

Sunshine 的配置项非常丰富,从网络、音频、视频到各家显卡的编码器都有独立标签页。真正贴心的是顶部的搜索框——输入upnphdr这类关键词,立刻定位到对应选项并高亮,再也不用在长列表里翻找。

比如搜索upnp找到的那项,作用是自动配置路由器端口转发,勾上它,走互联网串流时就省去了手动开端口这一步。

日志面板:把"编码器找不到"这类报错翻译成人话

遇到问题最怕两眼一抹黑,Sunshine 的 Troubleshooting 页面直接展示服务端日志,错误用红色高亮,连显卡型号、显存大小这些硬件信息都一并列出。配合搜索与复制按钮,你可以把问题日志直接发给社区求助,别人一眼就能定位。

三类用户,三种 Sunshine 游戏串流使用场景

客厅党爸爸:把 Steam 大屏搬到 4K 电视上

陈先生家里有台 4K 电视和一台装游戏的台式机。他给 Sunshine 配置了 Steam 大屏应用,客厅电视装上 Moonlight Embedded,手柄一键开机、选中游戏、开玩。游戏本体和存档始终留在书房的电脑上,电视前只剩一个轻量客户端,大屏体验却一点不打折。

睡前玩家:平板接着书房里没打完的 RPG

小林的主力游戏机是台式机,但晚上经常想在床上用平板玩两把。她在 Sunshine 里把 RPG 的分辨率和码率调低,平板上用触控虚拟手柄操作。进度跟着台式机走,人却可以躺着,这是她放弃云游戏订阅之后最满意的事。

极客用户:把串流生态玩成研究课题

程序员阿泽把 Sunshine 的官方文档和源码目录翻了个遍,他在 Featured Apps 页面发现官方会持续更新推荐客户端与工具清单,连更新时间和文档入口都列得清清楚楚。他据此给树莓派刷了 Moonlight Embedded,还自己编译了一版带自定义编码参数的服务端。

新手避坑:Sunshine 游戏串流最常见的 5 个问题与解法

客户端找不到服务器

九成是网络或防火墙的问题:确认两台设备在同一个局域网;检查系统防火墙是否放行了 47990 端口;最后再重启一次 Sunshine 服务和路由器。按这个顺序排查,通常到第三步之前就能解决。

画面卡顿、掉帧

先从"降"字入手:降低分辨率和码率,关掉后台占带宽的下载任务,把无线换成有线或 5GHz WiFi。如果还卡,再检查主机 CPU/GPU 占用率——编码本身也吃硬件。

日志里报"Encoder not found"

这通常意味着 Sunshine 没找到可用的硬件编码器,最常见的诱因是显卡驱动过旧或不完整。更新到最新驱动后重启服务,绝大多数情况立刻恢复;部分机器也可以先切到软件编码兜底。

改了应用列表,客户端里却没变化

记住前面那条提示:应用列表在客户端重启后才会刷新。这不是 Bug,是设计。

想在外网串流却连不上

先给路由器开启 UPnP(或手动转发 47989–47990 的 TCP/UDP 端口),再考虑 ZeroTier、Tailscale 这类内网穿透工具。注意:走公网时延迟与画质都会明显受网络质量影响,优先保证上行带宽。

进阶技巧:把 Sunshine 游戏串流体验再提一档

按分辨率和网络对号入座调码率

码率不是越大越好,而是匹配"分辨率 + 网络余量":

分辨率帧率推荐码率典型场景
720p60fps5–10Mbps移动端、弱网
1080p60fps15–25Mbps标准体验
1440p120fps25–50Mbps高刷显示器
4K60fps50–100Mbps客厅大屏

在配置文件中可以直接写入这些参数:

# 编辑 Sunshine 配置文件(Linux/macOS 默认在 ~/.config/sunshine/sunshine.conf) bitrate = 50000 # 码率,单位 Kbps,这里约等于 50Mbps fps = 60 # 目标帧率 hevc_mode = 2 # 同时支持 HEVC 主档与 Main10,为 HDR 预留

显卡驱动里那两个被忽略的延迟开关

NVIDIA 用户可以在驱动设置里开启 Fast Sync,AMD 用户可以开启 Enhanced Sync,官方性能调优文档指出这两个选项能各帮你省下约一帧的延迟。代价很小,收益稳定,值得一试。

用虚拟显示器稳定分辨率与 HDR

串流时显示器分辨率和游戏实际输出不一致,是画质忽好忽坏的常见原因。进阶玩法是让 Sunshine 配合虚拟显示器设备固定输出分辨率;需要 HDR 串流时,确认客户端与主机都启用了 HDR,并把编码协议调整到支持 HDR 的档位(如 HEVC Main10、AV1)。

资源导航:Sunshine 官方文档与源码目录一览

想深入探索,官方仓库里的这几处是最高效的入口:

  • docs/getting_started.md:安装与首次启动的权威流程
  • docs/configuration.md:全部配置项的详细说明
  • docs/troubleshooting.md:常见问题的官方排障思路
  • docs/performance_tuning.md:AMD、NVIDIA 的低延迟专项调优
  • src/video.cpp:视频编码与推流的核心流程,看它是怎么调度编码器的
  • src/nvenc/:NVIDIA 编码器的完整实现,理解硬件编码细节的最佳教材
  • src/input.cpp:客户端输入如何被转成主机操作,手柄与键鼠逻辑都在这里
  • src_assets/common/assets/web/:Web 配置界面的前端源码,想魔改界面看这里

现在就动手:把第一局游戏串到另一块屏幕

从下载安装到完成配对,你离第一次成功串流其实只差这十分钟。找个周末下午,挑一台闲置的平板或电视,装好 Moonlight,然后打开 Sunshine——当游戏画面在另一块屏幕上亮起来的那一刻,你会觉得这一切都值得。去试试吧,你的私人云游戏平台,现在就可以开工。🎮

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

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

← 返回列表