一个第三方视频壁纸工具,最反常的地方不是能播放 MP4,而是能出现在 macOS 的 System Settings → Wallpaper 里,和苹果自己的 Aerials 并列。
开发者 kageroumado 开源的 Phosphene 做到了这一点。用户导入 MP4、MOV 或 AVFoundation 能读的视频后,可以把它设为桌面壁纸,也可以用于锁屏。
但别误会。苹果没有公开一个“视频壁纸 API”。Phosphene 靠的是私有 WallpaperExtensionKit、反射和运行时补丁。能力很原生,地基很不原生。
Phosphene 到底做了什么
Phosphene 不是那种盖在桌面上的播放器。
它由两部分组成:菜单栏 App + Wallpaper Extension。菜单栏 App 管视频库、偏好设置、预览和变体生成;扩展运行在系统 WallpaperAgent 里,负责真正给系统壁纸输出画面。
压缩成一张表,最清楚:
| 维度 | Phosphene 的做法 | 对用户意味着什么 |
|---|---|---|
| 接入位置 | 出现在 System Settings → Wallpaper | 像系统壁纸集合,不像外挂播放器 |
| 视频来源 | 支持自选 MP4/MOV 等 | 不限于苹果素材 |
| 使用场景 | 桌面、锁屏、休眠与空闲生命周期 | 能接近 Aerials 的系统体验 |
| 多桌面 | 支持多显示器与 per-Space | 多屏用户不用反复手动调整 |
| 性能策略 | 电源、温度、Game Mode、遮挡暂停 | 尽量少耗电、少发热 |
| 画面处理 | 无缝循环、锁屏渐变、低规格变体 | 观感更顺,低配场景也能降级 |
它还处理了一些真正麻烦的细节。
视频循环不是简单播完重来,而是通过 PTS/DTS 偏移维持时间线递增,减少卡顿。渲染也没有直接用 AVPlayerLayer,因为它在远程 CAContext 里会失败;项目改用 AVSampleBufferDisplayLayer 手动喂帧。
这已经不是玩具级实现。
限制也很硬:macOS Tahoe 26.0+、Apple Silicon、Xcode 17+。这不是普通用户点两下就能长期安心用的壁纸软件,更像给 macOS 高级用户和独立开发者看的系统缝隙样本。
所以最适合尝试的人很窄:愿意折腾、能接受系统升级后失效、看得懂构建要求的人。只想要一个稳定漂亮壁纸的普通用户,应该先观望,不要把它当日常基础设施。
真正有意思的是私有框架
Phosphene 的看点不在“视频壁纸”。视频壁纸早就不新鲜。
看点在于:它能把第三方视频塞进系统壁纸选择器,但这条路不是官方给的。
项目通过 dlopen 加载 WallpaperExtensionKit,用 Swift Mirror 反射解析苹果没有公开的 XPC 类型。它还做了运行时 swizzle:系统 snapshot 编码器检查 coder 类型过死,可能导致快照编码为空,不补这一刀,就会出现灰色锁屏过渡。
这类工程很聪明,也很脆。
脆弱点不在安全漏洞意义上。材料里没有证据显示它是在破解系统或绕过安全边界。更准确地说,它是在调用私有接口,并做运行时适配。
问题是,私有接口不承诺稳定。
苹果只要在一次大版本里改字段名、改 XPC 类型、改框架行为,Phosphene 就可能断。作者也明说:Apple could change this at any major OS release。
《左传》里那句“皮之不存,毛将焉附”放在这里很准。Phosphene 的毛很漂亮,皮在苹果手里。
对开发者来说,这里有一个很现实的选择题:
| 路线 | 好处 | 代价 |
|---|---|---|
| 做普通桌面播放器 | 稳定、少碰私有接口 | 体验不像系统功能,锁屏和生命周期难追平 |
| 接入私有框架 | 更接近 Aerials,体验高级 | 系统升级可能断,难做长期商业承诺 |
| 等苹果开放 API | 风险最低 | 目前没有材料显示这条路已经存在 |
这就是苹果平台最熟悉的张力:系统级体验很好,但入口握得很紧。
苹果不是没有能力开放。它已经给自己的 Aerials 做了播放、锁屏过渡、生命周期管理。问题是,这套能力没有以稳定公共 API 的形式交给第三方。
于是开发者要么做一个差半截的 App,要么像 Phosphene 一样钻缝。不是开发者不努力,是门开得太窄。
需求不小,但生意不好算
作者说,Phosphene 原本是商业项目,后来开源。原因也很直白:macOS 视频壁纸市场比想象中更拥挤。
这句话比技术细节更现实。
桌面个性化不是没需求。多显示器、锁屏、动态壁纸、个人素材库,这些场景都真实存在。问题是,需求真实,不等于生意好做。
做得粗糙,用户觉得不值钱。做得原生,就要碰私有框架,维护成本和系统风险一起上来。
独立开发者最难受的地方就在这里:用户会拿你和系统功能比体验,但平台不会给你同等接口。你要卖钱,就得承担苹果改接口后的售后压力;你要开源,至少能把风险摊开,让愿意折腾的人自己判断。
这对两类人影响最直接。
macOS 高级用户可以试,但要把它当实验工具。系统升级前,最好默认它可能坏。不要把工作展示机、固定场景锁屏、长期部署环境押在它身上。
独立开发者更该看它的工程路径,而不是照抄商业模式。私有框架能带来体验优势,也会带来维护债。拿它做作品集、研究样本可以;拿它做稳定订阅产品,就要先想清楚升级断裂时谁来付账。
接下来最该观察的变量也很明确。
一个是 macOS 后续版本会不会改 WallpaperExtensionKit 的内部类型和行为。只要一改,Phosphene 的维护压力就会立刻浮出水面。
另一个是苹果会不会把视频壁纸相关能力做成公共 API。只要不开,第三方就仍然在两难里打转:体验不够原生,用户不买账;体验追上系统,稳定性又不归自己。
这事不适合拔高成什么平台战争。它更像一个小切口,照出苹果生态的老规则:最好的体验往往贴着系统内壁生长,第三方只能在缝里找位置。
Phosphene 开源的价值,恰恰不在多一个视频壁纸选择。它把那条缝照亮了。
门开一寸,风景很好。门一动,项目就得重新找钥匙。
