仅支持 macOS 15.2 及以上,旧系统无法安装;通过 URL scheme 触发录制前需先完成内容选择;提交功能请求前需先讨论,否则 issue 或 PR 会被直接关闭

BetterCapture
jsattlerMIT活跃维护一款免费开源的 macOS 原生屏幕录制工具,支持 HEVC、ProRes 编码和音频录制,界面贴合系统风格,适合日常录屏和教学演示。
The macOS screen recorder for the rest of us - always free and open source with a native look and feel 📺
brew install bettercapture需要 macOS 15.2 (Sequoia) 或更高版本;README 未说明其他硬件要求
macOS 原生录屏工具,免费开源,菜单栏常驻,支持专业编码
一款免费开源的 macOS 原生屏幕录制工具,支持 HEVC、ProRes 编码和音频录制,界面贴合系统风格,适合日常录屏和教学演示。
核心能力
- 用 SwiftUI 和 ScreenCaptureKit 构建,常驻菜单栏
- 支持 ProRes 422/4444、HEVC、H.264 编码及 alpha 通道与 HDR
- 可同时录制系统音频和麦克风
- 支持排除指定内容不录入画面
- 提供 URL scheme 供 Raycast、快捷指令等外部工具调用
容易踩的坑
- v2026.4最新正式版2026-09-13 · 2026-09-13 17:42 UTC
What's Changed
- fix: add entitlement for
com.apple.audioanalyticsdby @jsattler in https://github.com/jsattler/BetterCapture/pull/155 - Add bettercapture:// URL scheme for external automation by @qlaffont in https://github.com/jsattler/BetterCapture/pull/170
- fix: reject recording when the selected display is disconnected by @krishna2206 in https://github.com/jsattler/BetterCapture/pull/185
- chore: improve handling of start failures by @jsattler in https://github.com/jsattler/BetterCapture/pull/187
- feat(automation): add toggle-copy URL scheme by @qlaffont in https://github.com/jsattler/BetterCapture/pull/175
- 181 screen recording timecode not sequential by @jsattler in https://github.com/jsattler/BetterCapture/pull/191
- fix(settings): persist auto update check toggle by @jsattler in https://github.com/jsattler/BetterCapture/pull/194
- fix(capture): fix window crop on stacked displays by @jsattler in https://github.com/jsattler/BetterCapture/pull/195
- fix(audio): fix missing system audio on window/application scoped rec… by @jsattler in https://github.com/jsattler/BetterCapture/pull/197
- fix(camera): fix camera permission issues by @jsattler in https://github.com/jsattler/BetterCapture/pull/200
- fix(shortcuts): register global shortcuts at launch by @jsattler in https://github.com/jsattler/BetterCapture/pull/201
- chore(deps): update Sparkle to 2.9.6 by @jsattler in https://github.com/jsattler/BetterCapture/pull/202
- chore(deps): update KeyboardShortcuts to 3.0.1 by @jsattler in https://github.com/jsattler/BetterCapture/pull/203
- chore(deps): update website dependencies within semver range by @jsattler in https://github.com/jsattler/BetterCapture/pull/204
- Chore/upgrade astro 7 by @jsattler in https://github.com/jsattler/BetterCapture/pull/205
New Contributors
- @qlaffont made their first contribution in https://github.com/jsattler/BetterCapture/pull/170
- @krishna2206 made their first contribution in https://github.com/jsattler/BetterCapture/pull/185
Full Changelog: https://github.com/jsattler/BetterCapture/compare/v2026.3...v2026.4
- fix: add entitlement for
- v2026.4-beta.1pre-release2026-08-30 · 2026-08-30 19:34 UTC
查看更新说明
What's Changed
- fix: add entitlement for
com.apple.audioanalyticsdby @jsattler in https://github.com/jsattler/BetterCapture/pull/155 - Add bettercapture:// URL scheme for external automation by @qlaffont in https://github.com/jsattler/BetterCapture/pull/170
- fix: reject recording when the selected display is disconnected by @krishna2206 in https://github.com/jsattler/BetterCapture/pull/185
- chore: improve handling of start failures by @jsattler in https://github.com/jsattler/BetterCapture/pull/187
- feat(automation): add toggle-copy URL scheme by @qlaffont in https://github.com/jsattler/BetterCapture/pull/175
- 181 screen recording timecode not sequential by @jsattler in https://github.com/jsattler/BetterCapture/pull/191
- fix(settings): persist auto update check toggle by @jsattler in https://github.com/jsattler/BetterCapture/pull/194
- fix(capture): fix window crop on stacked displays by @jsattler in https://github.com/jsattler/BetterCapture/pull/195
- fix(audio): fix missing system audio on window/application scoped rec… by @jsattler in https://github.com/jsattler/BetterCapture/pull/197
- fix(camera): fix camera permission issues by @jsattler in https://github.com/jsattler/BetterCapture/pull/200
- fix(shortcuts): register global shortcuts at launch by @jsattler in https://github.com/jsattler/BetterCapture/pull/201
- chore(deps): update Sparkle to 2.9.6 by @jsattler in https://github.com/jsattler/BetterCapture/pull/202
- chore(deps): update KeyboardShortcuts to 3.0.1 by @jsattler in https://github.com/jsattler/BetterCapture/pull/203
- chore(deps): update website dependencies within semver range by @jsattler in https://github.com/jsattler/BetterCapture/pull/204
- Chore/upgrade astro 7 by @jsattler in https://github.com/jsattler/BetterCapture/pull/205
New Contributors
- @qlaffont made their first contribution in https://github.com/jsattler/BetterCapture/pull/170
- @krishna2206 made their first contribution in https://github.com/jsattler/BetterCapture/pull/185
Full Changelog: https://github.com/jsattler/BetterCapture/compare/v2026.3.1-beta.1...v2026.4-beta.1
- fix: add entitlement for
- v2026.3.1-beta.1pre-release2026-03-29 · 2026-03-29 12:01 UTC
查看更新说明
- v2026.32026-03-28 · 2026-03-28 22:32 UTC
查看更新说明
What's Changed
- fix: call
startAccessingOutputDirectorybefore opening output folder by @jsattler in https://github.com/jsattler/BetterCapture/pull/108 - chore(landing): improve seo and add privacy policy by @jsattler in https://github.com/jsattler/BetterCapture/pull/110
- docs: add audio, video and sck concepts by @jsattler in https://github.com/jsattler/BetterCapture/pull/114
- docs: add recallai sponsor blurb by @jsattler in https://github.com/jsattler/BetterCapture/pull/115
- docs: update brew install instructions by @jsattler in https://github.com/jsattler/BetterCapture/pull/120
- feat: add settings to adjust bitrate/quality by @jsattler in https://github.com/jsattler/BetterCapture/pull/112
- chore: add linting and fix serious violations by @jsattler in https://github.com/jsattler/BetterCapture/pull/129
- chore(deps): upgrade Sparkle to 2.9.0 by @jsattler in https://github.com/jsattler/BetterCapture/pull/130
- feat: add overlay panel with live preview after content selection by @jsattler in https://github.com/jsattler/BetterCapture/pull/131
- feat: show disabled settings when recording is active by @jsattler in https://github.com/jsattler/BetterCapture/pull/133
- feat: support HDR with HEVC and revise existing HDR settings by @jsattler in https://github.com/jsattler/BetterCapture/pull/135
- feat: add support for choosing between Logical (1x) and Native (Retina) capture resolutions by @samandeep-singh in https://github.com/jsattler/BetterCapture/pull/134
- test: add tests for setting combinations and more by @jsattler in https://github.com/jsattler/BetterCapture/pull/139
- feat: support keyboard shortcuts by @jsattler in https://github.com/jsattler/BetterCapture/pull/140
- fix(quality): increase medium bpp for better screen content clarity by @jsattler in https://github.com/jsattler/BetterCapture/pull/141
New Contributors
- @samandeep-singh made their first contribution in https://github.com/jsattler/BetterCapture/pull/134
Full Changelog: https://github.com/jsattler/BetterCapture/compare/v2026.2.1...v2026.3
- fix: call
- v2026.3-beta.1f90e5cpre-release2026-03-28 · 2026-03-28 19:59 UTC
查看更新说明
What's Changed
- fix: call
startAccessingOutputDirectorybefore opening output folder by @jsattler in https://github.com/jsattler/BetterCapture/pull/108 - chore(landing): improve seo and add privacy policy by @jsattler in https://github.com/jsattler/BetterCapture/pull/110
- docs: add audio, video and sck concepts by @jsattler in https://github.com/jsattler/BetterCapture/pull/114
- docs: add recallai sponsor blurb by @jsattler in https://github.com/jsattler/BetterCapture/pull/115
- docs: update brew install instructions by @jsattler in https://github.com/jsattler/BetterCapture/pull/120
- feat: add settings to adjust bitrate/quality by @jsattler in https://github.com/jsattler/BetterCapture/pull/112
- chore: add linting and fix serious violations by @jsattler in https://github.com/jsattler/BetterCapture/pull/129
- chore(deps): upgrade Sparkle to 2.9.0 by @jsattler in https://github.com/jsattler/BetterCapture/pull/130
- feat: add overlay panel with live preview after content selection by @jsattler in https://github.com/jsattler/BetterCapture/pull/131
- feat: show disabled settings when recording is active by @jsattler in https://github.com/jsattler/BetterCapture/pull/133
- feat: support HDR with HEVC and revise existing HDR settings by @jsattler in https://github.com/jsattler/BetterCapture/pull/135
- feat: add support for choosing between Logical (1x) and Native (Retina) capture resolutions by @samandeep-singh in https://github.com/jsattler/BetterCapture/pull/134
- test: add tests for setting combinations and more by @jsattler in https://github.com/jsattler/BetterCapture/pull/139
- feat: support keyboard shortcuts by @jsattler in https://github.com/jsattler/BetterCapture/pull/140
New Contributors
- @samandeep-singh made their first contribution in https://github.com/jsattler/BetterCapture/pull/134
Full Changelog: https://github.com/jsattler/BetterCapture/compare/v2026.2.1...v2026.3-beta.1f90e5c
- fix: call
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Features
- Native macOS integration: Built with SwiftUI and ScreenCaptureKit, lives in your menu bar
- Professional encoding: ProRes 422/4444, HEVC (H.265), and H.264 codecs with support for alpha channel and HDR
- Flexible audio capture: Record system audio and microphone simultaneously
- Content filtering: Exclude specific content from recordings
- Privacy-focused: No tracking, no analytics, all recordings stored locally
- MIT licensed: Free and open source
Installation
Homebrew
brew install bettercapture
Direct Download
Download the latest release from GitHub Releases and open BetterCapture.dmg.
Requirements: macOS 15.2 (Sequoia) or later
Automation
BetterCapture supports a custom URL scheme for external tools (Raycast, Shortcuts, Alfred):
| URL | Action |
|---|---|
bettercapture://toggle | Stop recording if active; otherwise open content selection (Pick Content or Select Area) before recording |
bettercapture://toggle-copy | Same as toggle, but copies the saved recording to the clipboard when stopping |
bettercapture://open-recordings | Open the output folder in Finder |
Example:
open "bettercapture://toggle"
Contributing
We welcome contributions of all kinds! Please see our Contributing Guidelines for more details on how to get involved.
Note: Any issues or pull requests for feature requests submitted without prior discussion will be closed immediately.
Acknowledgments
Special thanks to these projects for their excellent work and inspiration:
License
This project is licensed under the MIT License - see the LICENSE file for details.