English | Русский
MeetRec is a free, open-source macOS menu bar app that records meetings and calls — the screen, your microphone and the other side's audio — and transcribes them on your Mac with Parakeet and speaker diarization. No bot joins your call and nothing is uploaded. It also takes screenshots with annotations and OCR, Shottr-style.
It started as a lightweight OBS alternative (a 9 MB download, ~40 MB of memory) for one job: pressing "record" in Microsoft Teams, Google Meet, Zoom (in a browser) or Telegram calls, without scenes, sources and encoder settings.
English and Russian. MeetRec follows the system language; another one can be chosen in Settings →
Recording → Language. Translations to other languages are
welcome (MeetRec/Localizable.xcstrings).
- One click or ⌃⌥⌘R to record the screen, microphone and system audio into a crash-safe
fragmented
.mov(separate tracks plus a mixed one; ~0.5 GB/hour at 1440p HEVC). - Automatic meeting recording: starts when Microsoft Teams takes the microphone and stops when it lets go; calls in browsers and Telegram ask first; browser tab rules record known calls without asking.
- Live status: level meters for both sides,
⚠️ in the menu bar when a source goes silent, disk space guard, crash watchdog. - Markers, pause and chapters: ⭐ markers become chapters in the video and lines in the transcript; pause works like in OBS.
- Local transcription with speaker names (Parakeet Ultra on the Neural Engine + pyannote, nothing leaves the Mac; Whisper as an option): your own speech is found through the microphone track, other voices are recognised from enrolled samples.
- Screenshots (⇧⌘4) with a frozen screen, window shots on wallpaper, an annotation editor (arrows, boxes, steps, blur, crop), OCR (⇧⌘2) and reverse image search.
- Window recording, display picker with live thumbnails, a recording island at the notch, a camera mirror to check yourself before a call.
Measured on the same Mac (Apple Silicon, macOS 26), same job: the built-in display at 2216×1440,
HEVC, 15 fps, microphone and system audio; OBS with the window minimized to the tray. Memory is the
footprint Activity Monitor shows, CPU is % of one core averaged over 60 s
(scripts/profile.py, details in PROFILING.md).
| MeetRec 0.7.0 | OBS Studio 32.2.2 | |
|---|---|---|
| App size | 13 MB | 438 MB + a virtual camera system extension |
| Idle: memory | 41 MB | 193 MB |
| Idle: CPU | 0.1% | 7.3% |
| Recording: memory | 36–50 MB | 339 MB |
| Recording: CPU | 12% | 21% |
| Idle wake-ups | 0.1/s | 1/s (+124/s in the camera extension) |
MeetRec does nothing between meetings: no preview, no scene rendering. While recording, unchanged frames are skipped and video is encoded in hardware; most of the remaining CPU is AAC encoding of the two audio tracks and receiving frames from ScreenCaptureKit. The camera mirror runs in its own process, so its 200–350 MB leave with its window. Transcription runs after the recording at background priority, one model at a time.
MeetRec is small and does one thing end to end: a video of the meeting, both sides' audio and a local transcript with names. If you need something else, the others below are good at it.
| MeetRec | OBS Studio | Otter.ai | Granola | MacWhisper | |
|---|---|---|---|---|---|
| Records the screen (video) | ✅ | ✅ | — | — | — |
| Records your mic and the other side | ✅ separate tracks | ✅ with setup | ✅ | ✅ | ✅ |
| Starts and stops with the meeting | ✅ Teams, browser, Telegram | — | ✅ (calendar bot) | Asks, stops by itself | ✅ |
| Joins the call as a bot | No | No | Yes (OtterPilot) | No | No |
| Transcription | On your Mac | — | Cloud | Cloud | On your Mac |
| Speaker names | ✅ from voice samples | — | ✅ | ✅ | ✅ (Pro) |
| AI summaries | — | — | ✅ | ✅ | ✅ (your API key) |
| Screenshots, annotations, OCR | ✅ | — | — | — | — |
| Price / source | Free, MIT | Free, GPL | Subscription | Subscription | Paid |
Compared with the screenshot apps: like Shottr and CleanShot X, MeetRec freezes the screen, captures an area or a window on its wallpaper, and annotates (arrows, boxes, numbered steps, blur, crop) with OCR and reverse image search. It has no scrolling capture, cloud upload or video annotations; those apps are the better choice if you need them.
Based on the vendors' public descriptions as of October 2026; corrections welcome.
- macOS 15 or later, Apple Silicon (transcription runs on the Neural Engine and GPU).
- To build from source only: Xcode and XcodeGen
(
brew install xcodegen). - For transcription: uv (
brew install uv) and a Hugging Face account (below).
Download MeetRec-<version>.dmg from Releases,
open it and drag MeetRec to Applications. No Xcode needed.
MeetRec is not notarized (no Apple Developer account), so macOS blocks the first launch: open it once, then System Settings → Privacy & Security → "Open Anyway". Or in Terminal:
xattr -dr com.apple.quarantine /Applications/MeetRec.appOn first start macOS asks for Screen Recording and Microphone access; start MeetRec again after granting Screen Recording. Releases are all signed with the same certificate, so the permissions are kept when you install a newer one.
Updates: MeetRec checks GitHub Releases a minute after launch and every 6 hours (settings → "Запись" → "Обновления", where it can be turned off or checked by hand). When a newer version is out, the panel shows "Доступна версия X" with "Обновить": MeetRec downloads the release, installs it only if it is signed with the same certificate as the running copy, and restarts. It waits while a recording or a transcription is running. A copy built from source (another certificate) does not update itself; MeetRec also has to be in a folder it can write to (Applications, not the disk image).
Releases are built by GitHub Actions (.github/workflows/release.yml, scripts/make-release.sh)
when a tag vX.Y.Z matching MARKETING_VERSION is pushed.
git clone https://github.com/ProteinR/MeetRec.git
cd MeetRec
./scripts/install.shThis builds a Release copy, signs it, installs it to ~/Applications/MeetRec.app and starts it.
On first start macOS asks for Screen Recording and Microphone access; start MeetRec again after
granting Screen Recording.
Builds from source are signed on your Mac (no Apple Developer account). Without a stable signature every rebuild looks like a new app to macOS and the permissions have to be granted again. To avoid that, create a self-signed code signing certificate once:
- Keychain Access → Certificate Assistant → Create a Certificate…
- Name:
MeetRec Local Code Signing, Identity Type: Self-Signed Root, Certificate Type: Code Signing.
install.sh finds it by that name (or set MEETREC_SIGN_IDENTITY to another one). Without it the
app is ad-hoc signed and still works.
If permissions get stuck (granted but the app keeps asking):
tccutil reset ScreenCapture com.dmemruk.MeetRec
tccutil reset Microphone com.dmemruk.MeetRec- Accept the conditions of pyannote/speaker-diarization-community-1 on Hugging Face.
- Log in once in the terminal:
uvx --from huggingface_hub hf auth login(stores the token in~/.cache/huggingface). - In MeetRec: Settings → Recording → Transcription → Download models (~2 GB, once).
Everything then runs locally at background priority.
All settings are user defaults; SETTINGS.md lists every key, its values and the
JSON formats (browser rules, transcript copy rules, shortcuts), so an agent can set MeetRec up with
defaults write. AGENTS.md describes how the app works for agents changing the code.
xcodegen generate
xcodebuild test -project MeetRec.xcodeproj -scheme MeetRec -destination 'platform=macOS' -derivedDataPath build/dd-test
python3 -m unittest discover -s TestsDoes MeetRec work with Zoom, Google Meet or Slack huddles? Calls in a browser (Chrome, Safari, Arc, Edge, Firefox, Brave and others) are detected and MeetRec asks whether to record; a tab rule can record a site without asking. Microsoft Teams and Telegram desktop apps are detected too. The Zoom, Slack, Webex and FaceTime apps are not detected yet, but you can always start a recording by hand (⌃⌥⌘R).
Is anything sent to the cloud? No. Recording and transcription run on your Mac; the only network access is the one-time model download from Hugging Face (and image search, when you click it).
Which Macs? macOS 15 or later; transcription needs Apple Silicon (Parakeet on the Neural Engine, pyannote; Whisper via MLX). It is built and used on Apple Silicon only.
- Image search buttons use the services' public upload pages (no official APIs) and may break when a site changes. Only Google Lens is on by default; others can be turned on in settings.
- Recording other people may require their consent where you live. MeetRec does not notify participants.





