Skip to content

About

The macOS screen recorder for the rest of us - always free and open source with a native look and feel 📺

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

237 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BetterBetterCapture Header

The macOS screen recorder for the rest of us - always free and open source with a native look and feel 📺

Website · Installation · Features · Contributing

Sponsored by

Recall.ai

If you're looking for a hosted desktop recording API, consider checking out Recall.ai,
an API that records Zoom, Google Meet, Microsoft Teams, in-person meetings, and more.

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

After Stop, audio processing runs in the background with a per-file elapsed timer; you can start another recording once capture shutdown completes. After an interruption, use Open Output Folder to find the -unprocessed.mov original and matching -recovery folder. Its system/microphone CAF fragments are playable audio, with starting offsets in their filenames and instructions in README.txt. They remain across restarts; processing does not resume automatically. Abrupt power loss may lose the most recent unsynchronized audio (normally about two seconds), while storage failure can affect more data.

Installation

Homebrew

brew install bettercapture  # original BetterCapture package

Direct Download

Download the latest release from GitHub Releases and open BetterCapture.dmg (original app).

Requirements: macOS 15.2 (Sequoia) or later

Automation

BetterBetterCapture supports a custom URL scheme for external tools (Raycast, Shortcuts, Alfred):

URL Action
betterbettercapture://toggle Stop recording if active; otherwise open content selection (Pick Content or Select Area) before recording
betterbettercapture://open-recordings Open the output folder in Finder

Example:

open "betterbettercapture://toggle"

Local development

Recurring workflows use the repository Makefile and keep Xcode build state outside the checkout under ~/construction_side/better-better-capture/:

make install
make build
make check

Project truth is routed through:

  • BUSINESS.md — purpose, concepts, invariants, numbers, and module map;
  • business/PRODUCT.md — recording, privacy, and automation behavior;
  • business/ENGINEERING.md — Swift, SwiftUI, testing, and build boundaries;
  • business/OPERATIONS.md — fork ownership, GitHub, and release behavior;
  • AGENTS.md — short context router for coding agents;
  • CHANGELOG.md — notable unreleased and released behavior.

Refresh committed shared operating rules with make vibe-pull. If the kernel checkout moved, run make vibe-kernel-set first. Submit reusable agent-workflow feedback with make vibe-propose; keep product rules local.

Release flow

After explicit release approval, run make release and enter the exact MAJOR.MINOR.PATCH version at its prompt. It verifies the project, updates Xcode marketing versions and CHANGELOG.md, creates the release commit, and adds the annotated tag without pushing.

Run make release-push after review. This pushes only origin/main and tags. Publishing the corresponding GitHub Release is a separate explicit action; that publication triggers the signed, notarized DMG workflow.

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.

Voxray calls and recovery

Choose a call name and destination in the menu before recording, or keep it unassigned. Recording works when Voxray is unavailable. Final audio processing runs before the native handoff; transcript failure keeps the saved recording and offers retry. Finished audio and video files appear in the selected output folder. Originals, PCM fragments and session metadata remain in its _CaptureData folder until explicit deletion. Interrupted captures retain their originals and recovery fragments for manual recovery. See integration and recovery for ownership, contracts, required Voxray capabilities and verification limits.

About

The macOS screen recorder for the rest of us - always free and open source with a native look and feel 📺

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages