ScreenKite vs OpenScreen:原生 macOS 录屏工具 vs 开源 Electron 应用
OpenScreen 是一款在 GitHub 上爆红的免费开源 Electron 应用。ScreenKite 是基于 Swift 和 Metal 构建的原生 macOS 录屏工具。当你真正坐下来做产品演示时,它们的差距到底有多大。
OpenScreen 在 GitHub 上获得了 10k+ 星标,定位很吸引人:一个免费、开源的 Screen Studio 替代品,没有水印,没有订阅。如果你在寻找录屏工具时发现了它,你可能想知道它是否能用于实际工作。
我们决定一探究竟——并与 ScreenKite 进行正面对比。
OpenScreen 是什么
OpenScreen 是一款开源 Electron 应用,使用 React、Vite、TypeScript 和 PixiJS 构建。它通过 Electron 的 desktopCapturer API 录制屏幕,通过 Web API 捕获音频,并通过基于 JavaScript 的管线导出视频。
开发者很坦诚地描述它:"这还处于非常早期的测试阶段,可能到处都有 bug" 以及 "我是开源新手,我也不知道自己在干什么 lol。"
这种坦诚令人耳目一新。但它也准确地告诉你这个项目的状态:这是一个意外走红的学生/业余项目,不是为日常专业使用而构建的产品。
ScreenKite 是什么
ScreenKite 是一款原生 macOS 应用,用 Swift 构建。它通过 Apple 的 ScreenCaptureKit 进行捕获,在 Metal 上渲染,通过 VideoToolbox 导出——全部在 GPU 上,全部硬件加速,全部在 Apple Silicon 上原生运行。
架构差距
| 层面 | ScreenKite | OpenScreen |
|---|---|---|
| 运行时 | 原生 Swift 二进制 | Electron (Chromium + Node.js) |
| 捕获 | ScreenCaptureKit(直接) | Electron desktopCapturer(Chromium 桥接) |
| 渲染 | Metal GPU 管线 | PixiJS(Chromium 中的 WebGL) |
| 导出 | VideoToolbox + Metal(GPU) | WebM → mp4box → JS 管线(CPU) |
| 音频 | CoreAudio(原生) | Web Audio API(浏览器沙箱) |
实际差别:ScreenKite 的导出是 GPU 加速的,几秒钟完成。OpenScreen 的导出通过 JavaScript 运行——这就是为什么用户报告导出失败和编解码器崩溃。
功能对比
| ScreenKite | OpenScreen | |
|---|---|---|
| 架构 | 原生 Swift + Metal | Electron + React + PixiJS |
| 屏幕录制 | ✅ | ✅ |
| 窗口录制 | ✅ | ⚠️(用户报告失败) |
| 点击自动缩放 | ✅ | ✅ |
| 光标平滑 | ✅ | ❌ |
| 投影和圆角 | ✅ | ❌ |
| 变速(逐段) | ✅ | ⚠️(上限 2x) |
| 暂停/恢复录制 | ✅ | ❌ |
| 笔记本框架 | ✅ | ❌ |
| 云端分享 | ✅ | ❌ |
| 标注 | ❌ | ✅ |
| Metal 加速 | ✅ | ❌ |