Sunshine macOS 安装配置全流程:6 步跑通游戏串流,3 个报错一次讲透

发布时间:2026/11/4 11:26:36
Sunshine macOS 安装配置全流程:6 步跑通游戏串流,3 个报错一次讲透

Sunshine macOS 安装配置全流程:6 步跑通游戏串流,3 个报错一次讲透

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

想在 Mac 上把 Mac 当串流主机,让 Moonlight 客户端低延迟拉流,却不想啃 CMake 报错?本文带你把 Sunshine macOS 安装这条路一次走通:跑通 Web UI、搞定系统权限、把编码器调到顺手,报错时直接对号入座,全程不用翻源码。

动手前,先把这几项过一遍

装之前花两分钟核对下环境,省得中途反复返工:

检查项最低要求备注
系统版本macOS 11.0(Big Sur)及以上系统音频原生采集需 macOS 14+
芯片架构Apple Silicon 或 Intel两者均走 VideoToolbox 硬编
依赖工具Homebrew 或 MacPorts 二选一官方构建脚本默认走 Homebrew
构建工具CMake 3.25+、Ninja装源码构建时才需要
编译器Apple Clang 15+(C++23)Xcode Command Line Tools 自带
端口47990(HTTP)、48010(RTSP)被占用需改配置,见后文

从 0 到 1 跑通:两条路任选

路线 A:不想编译的,直接拿现成的。

  1. 下载与你芯片对应的 DMG(arm64 给 Apple Silicon,x86_64 给 Intel)。为什么:预编译包已含签名,跳过所有构建坑。
# 按芯片二选一,下载 Sunshine-macOS-arm64.dmg 或 Sunshine-macOS-x86_64.dmg
  1. 打开.dmg,把Sunshine.app拖进Applications,弹出镜像。为什么:macOS 应用标准安装姿势。如果这步卡住 → 见下方"应用被拦截"那条。

  2. 首次启动,依次放行"屏幕录制""输入监控(键鼠)"权限;macOS 15+ 还会弹"本地网络"。为什么:采集画面和注入输入都靠这些权限。如果这步卡住 → 见下方"权限已给但仍被拒"那条。

  3. 浏览器打开https://localhost:47990,记下首次生成的用户名密码,浏览器警告"不安全"属正常(自签证书)。为什么:Web UI 是后续所有配置的入口。

路线 B:想自己编译的,三步搞定。

  1. 克隆仓库并装齐依赖(构建文档里的 macOS 依赖清单):
git clone https://gitcode.com/GitHub_Trending/su/Sunshine.git --recurse-submodules cd Sunshine brew install boost cmake ninja node openssl@3 opus pkgconf qtbase qtsvg miniupnpc

为什么:这些就是官方 scripts/macos_build.sh 脚本用的同一套公式。如果这步卡住 → 见下方"cmake 阶段报错"那条。

  1. 配置并编译,产物在build/目录:
cmake -B build -G Ninja -S . -DCMAKE_BUILD_TYPE=Release cmake --build build -j 4 # -j 后的数字可换成你的 CPU 核数

为什么:Ninja 比默认生成器快,Release 保证串流性能。

跑起来后,Web UI 里加你的应用(参考 macOS 应用清单模板),Moonlight 客户端输入 PIN 配对,就能开始串流了。

跑通之后,把它调好用

配置集中在~/.config/sunshine/sunshine.conf,也可以直接在 Web UI 里搜着改(详见 配置文档)。Mac 上最常被动的几项:

配置项作用推荐值
vt_softwareVideoToolbox 是否允许回退软编auto(硬件不够用时自动兜底)
vt_coder熵编码方式auto;画质优先可试cavlc
audio_sink系统音频采集设备macOS 14+ 留空走原生采集;老系统填 BlackHole 设备名
max_bitrate码率上限(Kbps)0(跟随 Moonlight 请求),弱网可设5000
ping_timeout客户端心跳超时(ms)跨设备串流不稳时适当调大
min_log_level日志级别排查时改trace,平时info

Apple Silicon 用户加分项:M 系列的 VideoToolbox 硬编足够应付 1080p60,保持vt_software = auto即可;真要压帧数时优先动max_bitrate,别动编码器本身。

报错了?先对号入座

症状:浏览器打不开 47990,或提示"无法访问"

  • 根因:首次启动时权限没给全,服务没起来;或者 47990 被别的程序占了。看 Web UI 的 Troubleshooting 页或终端日志里有没有Permission denied字样,能直接定位。
  • 解法:先补权限再重启 Sunshine;确认端口用lsof -i :47990,被占就改配置里对应端口号。

症状:权限明明都给了,仍提示采集被拒

  • 根因:macOS 的隐私开关和 Sunshine 的条目对不上——常见于重装或更新后旧条目失效,日志里表现为反复"access denied"。
  • 解法:到"系统设置 > 隐私与安全性"里删掉 Sunshine 的旧条目,重新添加当前安装的应用,然后选 macOS 给出的"退出并重新打开",让它带着新权限重启。

症状:源码构建在 cmake 阶段就炸(找不到头文件或库)

  • 根因:通常是依赖没装全,或 OpenSSL 是 keg-only、头文件没被找到;看报错第一行缺的是哪个路径,基本能对上号。
  • 解法:对照第 5 步把brew install重跑一遍;仍缺 SSL 头文件时,按芯片补一个符号链接:
# Apple Silicon ln -s /opt/homebrew/opt/openssl/include/openssl /opt/homebrew/include/openssl

Intel 用户把路径换成/usr/local/前缀即可。

装好后每两周跑一次brew outdated sunshine(源码构建用户就git pull看看),有新版再更新,别等串流卡了才想起来。

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

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