ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

不花钱把游戏 PC 变成 Moonlight 串流服务器:Sunshine 3 步跑通 + 避坑速查

不花钱把游戏 PC 变成 Moonlight 串流服务器:Sunshine 3 步跑通 + 避坑速查 不花钱把游戏 PC 变成 Moonlight 串流服务器Sunshine 3 步跑通 避坑速查【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是一个自托管的游戏串流主机self-hosted game stream host装在 Windows / Linux / macOS / FreeBSD 游戏机上把桌面画面用 GPU 硬编码后推给任意设备上的 Moonlight 客户端。完全免费开源唯一代价是一台带可用显卡或愿吃软编的常开 PC。关键信息说明主机平台Windows 11、Linux、macOS实验性、FreeBSD客户端任意设备上的 Moonlight 客户端电视、手机、平板、PC硬件编码NVENCNVIDIA、VAAPILinux 三家通吃、QuickSync / AMFWindows、VideoToolboxmacOS另有 CPU 软编兜底管理入口浏览器 Web UI默认https://localhost:47990串流端口47998游戏流 UDP、47999TCP 控制等随port配置偏移授权开源免费无订阅费10 分钟跑通第一次串流第 1 步安装 Sunshine按系统选一种方式# Windows官方推荐 winget install LizardByte.Sunshine # LinuxDebian/Ubuntu从官方源 sudo apt install sunshine # macOS brew tap LizardByte/homebrew brew install sunshine各发行版的其他安装包AppImage、RPM、copr、pkg 等见 docs/getting_started.md。✅ 验证终端执行sunshine --help能打印参数列表说明装好了。第 2 步启动并打开 Web UILinux 上建议直接启用用户级服务开机自启systemctl --user --now enable app-dev.lizardbyte.app.Sunshine非服务方式就在终端跑sunshine。然后浏览器访问https://localhost:47990。浏览器会提示不安全网站因为证书是自签名的忽略即可。首次进入会要求创建 Web UI 用户名和密码——当场记下来忘了只能走命令行重置见下文避坑。✅ 验证能看到欢迎页且已用刚建好的账号登录成功。第 3 步用 Moonlight 配对并拉流打开任意设备上的 Moonlight 客户端添加这台主机局域网一般自动发现找不到就手动填内网 IP客户端会显示一个 PIN回到 Sunshine Web UI点顶部导航的PIN页面输入该 PIN 回车给设备起个名字在 Moonlight 里选默认自带的 Desktop 应用启动✅ 验证Moonlight 弹出 Success 提示客户端几秒内出现主机桌面画面此时鼠标键盘在客户端侧操作即可控制主机。它到底能干什么能力在哪改入口选编码器、分辨率、码率、音频设备Web UI → AudioVideo 页签https://localhost:47990添加/管理串流应用Web UI → Applications 页签同上端口、UPnP、日志级别Web UI → Advanced / Network 页签同上任意配置项快速定位顶部搜索框直接搜同上虚拟手柄客户端手柄自动映射到主机无需配置主机侧由 src/platform/virtualhid_input.cpp 实现HDR 串流主机系统开 HDR Moonlight 客户端开 HDRWindows 正式支持Linux 实验性应用管理是最值得玩的一块默认列表来自 src_assets/linux/assets/apps.json已内置 Desktop 和 Steam Big Picture。加新游戏时填名称、可执行文件路径、工作目录可选prep-cmd指定启动前命令。三条行为规则要记住启动新应用会先终止正在串流的应用prep-cmd失败则放弃启动应用退出串流随之结束。手柄方面Windows 和 Linux 支持最全通用、DS4/DS5、Switch Pro、Xbox 360/One/SeriesmacOS 暂不支持。Windows 主机可用 Virtual HID Driver付费获得完整虚拟手柄免费方案 ViGEmBus 只覆盖 Xbox 360 和 DS4且已停止维护。实战场景场景 1把 Steam 大屏串到客厅电视目标电视上的 Moonlight 直接进 Steam 大屏。Web UI → Applications 页签确认 Steam Big Picture 存在默认自带没有就手动添加命令用steam steam://open/bigpictureAudioVideo 页签把分辨率改成电视原生如 3840×2160码率按 docs/performance_tuning.md 和你的网络调整电视端 Moonlight 选 Steam Big Picture 启动成功判断电视出现 Steam 大屏界面手柄按键 1 帧内响应无持续花屏。场景 2无头主机经 SSH 远程拉起串流目标游戏机不接显示器人在别处通过 SSH 拉流Linux/X11 示例来自 docs/getting_started.md。# 远程一键启动X11 环境 ssh user主机IP export DISPLAY:0; sunshineNVIDIA 显卡在 X11 下走 NvFBC 捕获不接显示器时可能需要 HDMI 欺骗器或 EDID 模拟器让显卡保持输出状态。成功判断Sunshine 进程在远程主机上正常运行客户端能连上并出画面黑屏但可连也算通接欺骗器后应有内容。场景 3串流前先量一次网络瓶颈目标用 iPerf3 判断卡顿是网络问题还是编码问题方法来自 docs/troubleshooting.md。# 主机 iperf3 -s # 客户端60 秒 UDP 反向测试50Mbps 打流 iperf3 -c {主机IP} -t 60 -u -R -b 50M成功判断客户端输出中丢包 5%、抖动 1ms。不达标就先换 5GHz Wi-Fi 或改有线再谈调码率。出问题先查这里现象忘了 Web UI 账号密码进不去后台原因首次设置创建的凭据只存在本地没有找回入口。 解法停掉 Sunshine 后执行sunshine --creds 新用户名 新密码Flatpak 用flatpak run --commandsunshine dev.lizardbyte.app.Sunshine --creds 新用户名 新密码。现象浏览器访问 47990 打不开原因防火墙挡了端口或 Sunshine 根本没在运行。 解法先systemctl --user status app-dev.lizardbyte.app.Sunshine确认服务活着再查防火墙规则放行 47990。现象画面卡顿、丢包严重原因Sunshine 每 16ms 突发发一帧60fps主机网卡远快于路径上最慢的一段时中间设备缓冲溢出丢包典型如主机 2.5Gb 有线、客户端只有 1Gb 或 Wi-Fi。 解法先跑场景 3 的 iPerf3 测试定位确认是速率差就降主机网卡速率2.5G→1G或升级到 0.23.1 之后的版本改进了突发传输。现象Linux 上连上后键鼠/手柄没反应原因运行 Sunshine 的用户没有 uinput 权限。 解法把该用户加进input组并重新登录FreeBSD 为pw groupmod input -m $USER。现象主机开了 HDR串出的画面发白过曝原因Moonlight 客户端侧没开 HDR流按 SDR 解码。 解法客户端设置里启用 HDR主机确认 HDR 已激活必要时接 EDID 模拟器。Linux 上还要求 KMS 捕获后端NvFBC/X11 捕获不支持 HDR。任何异常先看 Web UI 的 Troubleshooting 页每条 warning/error 都能点开看细节深入资料docs/getting_started.md各平台安装、首次设置、SSH 启动、快捷键CtrlAltShiftN隐藏光标、CtrlAltShiftF1/F12切显示器——刚装完或跨平台部署时翻docs/configuration.md全部配置项port、编码器、音频设备、audio_sink…逐项说明——想改默认行为、搜某个具体选项时翻docs/troubleshooting.md凭据重置、iPerf3 网络测试、丢包处理——连不上、卡顿时翻docs/performance_tuning.mdNVIDIA Fast Sync、AMD Enhanced Sync 等编码侧调优——追求更低延迟时翻src/platform/各平台屏幕捕获与编码实现KMS、NvFBC、WGC、VAAPI、VideoToolbox…——想搞清楚画面从哪来、怎么编码时翻src/nvenc/NVENC 编码器核心实现——研究 NVIDIA 硬编路径时翻tests/单元测试与集成测试——想了解某模块内部行为时翻【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表