Hello everyone,
I'm the developer of FrameMate, a Mac-only app for macOS 14 and later that records your screen, your camera, the screen of an iPhone connected by cable, and audio. I built it because I'm a VoiceOver user myself, and I wanted a recorder where I always know what is being recorded, how I look in the camera, and what is happening during a take, without needing to see the screen.
In short: you choose a mode (Camera, Screen, Phone, or Audio), choose what you want to include, and press one shortcut to start. FrameMate announces every important state through VoiceOver, even while it is in the background, and a spoken Frame Coach helps you keep your face in the camera frame. Everything is recorded and saved locally on your Mac. There is no account, no cloud upload, no ads, and no tracking.
FrameMate runs on macOS 14 Sonoma or later and is available on the Mac App Store. Version 1.1 is now available, and it is the biggest update since the first version.
## Recording modes
FrameMate has four recording modes. Each one is described below.
### Camera mode
- Record camera video in standard landscape (1920×1080) for YouTube and presentations, or in portrait (1080×1920) for Reels, Shorts, and TikTok. The orientation is chosen inside camera mode and remembered.
- Use your Mac's built-in camera, an external camera, or your iPhone as a camera through Continuity Camera.
- Choose your microphone, and record it in automatic, mono, or stereo.
- Optionally add system audio, so the sound playing on your Mac is included in the video.
- Auto reframe keeps you in the middle of the picture if you move sideways. It is designed for single-person recordings.
- Frame Coach works in this mode (see the Frame Coach section below).
### Screen mode
- Record your whole display or a single window as a 1080p MP4 file.
- Add your microphone and, optionally, system audio. Each has its own volume control.
- Add a camera box, so that your face appears over the screen recording. You can choose its size (small, medium, or large) and one of nine positions, such as top left, center, or bottom right.
- Highlight the cursor and clicks, so sighted viewers can follow each step.
- If the screen or window you are capturing turns completely black, for example because the window was minimized or does not draw, FrameMate warns you while the recording is still running. You don't find out only after you have finished.
### Phone mode
This is the part I'm most excited about. You can record the screen of an iPhone connected to your Mac with a cable.
- Connect the phone with a cable, unlock it, and accept the Trust prompt the first time. FrameMate tells you when the phone is ready.
- Record the phone's sound into the video. If you use VoiceOver on the phone, VoiceOver's speech is recorded too. This is great for demonstrating an app with VoiceOver. If you don't want VoiceOver in the recording, you can turn phone sound off.
- While the phone is connected by cable, its sound goes to the Mac and does not play from the phone. With the "Hear phone through speakers" option, you keep hearing the phone, including VoiceOver, through your Mac. This means you can control the phone with VoiceOver normally while you record. This setting does not change what is recorded.
- Choose how the phone's picture is placed in the video:
- Keep the phone's own aspect ratio, with no borders.
- Standard portrait, 1080×1920.
- Standard landscape, 1920×1080.
- Side by side in landscape: the phone at full height on one side and you, large, on the other, with the camera on the left or on the right.
- Add a camera box over the phone screen, just like in screen mode.
- If the phone's screen is completely black, FrameMate tells you. A common reason for VoiceOver users is Screen Curtain, which blacks out the recording too. The warning reminds you that a three-finger triple-tap turns it off. When the picture comes back, FrameMate tells you that too.
- If you rotate the phone, FrameMate announces it and fits the picture to the recording.
### Audio mode
- Record only audio: your microphone, your Mac's system audio, and the sound of a connected phone, each on its own or together.
- Choose automatic, mono, or stereo for the microphone.
- It is useful for podcasts, voice notes, or recording VoiceOver and app sounds from your iPhone.
## Live shortcuts: change things during a recording and hear what changed
FrameMate's keyboard shortcuts work before and during recording. Every shortcut announces what it changed, by name. If a shortcut cannot do something, it tells you why. For example, it says that the recording has no camera box, or that no microphone was found.
Recording:
- Command-Option-R: start or stop recording.
- Command-Option-5: start or stop an audio recording.
- Command-Option-P: pause or resume. Pausing keeps the recording timeline, so you don't end up with separate files.
During an active screen or phone recording, you can change the layout without stopping:
- Command-Option-V: the camera fills the whole frame.
- Command-Option-E: the screen or the phone fills the whole frame.
- Command-Option-G: return to the default layout.
- Command-Option-K: turn the camera box on or off before recording.
The recording continues as one take. Each change is announced, and the selected layout is reflected in the exported video.
Sound:
- Command-Option-S: system audio on or off.
- Command-Option-F: phone sound on or off.
- Command-Option-M: microphone on or off.
A sound that was off when you started can be turned on during the recording. The same keys also work before recording to set how the next take starts.
Status and Frame Coach:
- Command-Option-B: from any app, speaks the current status. Before recording, it tells you the next take's settings. During recording, it tells you the mode, elapsed time, layout, and which sounds are on.
- Command-Option-O: from any app, turns Frame Coach on or off.
Shortcuts that work from other apps are optional. They need macOS Accessibility permission, which FrameMate asks for only when you turn this feature on. The core recording features do not need it. The status badge shown during recording never appears in the recorded video.
## Frame Coach: spoken guidance for your camera framing
Frame Coach is the feature I most wanted as a blind person. It tells you where you are in the camera frame, so you can set up your camera and sit correctly without seeing the preview.
- It uses clear spoken phrases such as "Move slightly left", "Too close, move back", "Raise the camera slightly", "Face not detected, look at the camera", "Low light, illuminate your face", and "Frame is good".
- It can also handle two or three people, such as a two-person podcast, with phrases like "The group is a little left, move slightly right" or "You are too far apart, move closer together".
- You can choose speech, directional tones, or both. With spatial tones, the sound comes from the direction you need to move. If you hear it in your right ear, move right. If you hear it in your left ear, move left. You can also choose mono, if you prefer centered sound.
- An optional confirmation sound plays when your face reaches the center.
- You can adjust how often it gives guidance, its repeat interval, and whether it shows on-screen text. It can also use VoiceOver announcements when VoiceOver is on.
- It works in camera mode and with the camera box in screen and phone modes.
- Frame Coach can continue providing spoken guidance while FrameMate is in the background, helping you set up your shot before a recording or video call. It is intended for framing before recording and remains silent during an active recording. Turn it on, switch to FaceTime, Zoom, Teams, or another recording app, and check that you are well framed before the call or recording begins. Command-Option-O turns it on or off from any app.
## Settings that help you stay oriented
- Countdown before recording starts.
- Recording duration: unlimited, a preset maximum, or a custom limit from 5 seconds to 60 minutes. An optional end-of-recording warning plays a countdown sound and speaks a countdown before time runs out.
- Sounds for recording start, stop, pause, and resume.
- Elapsed-time announcements at a frequency you choose. They can be spoken through VoiceOver or played as a short tick sound, which is less likely to be picked up by your microphone.
- A confirmation sound when you change the layout or audio during a recording. This sound is not recorded.
- Hide the FrameMate window when recording starts and bring it back when recording stops. Run FrameMate in the Dock or in the menu bar, and optionally launch it at login.
- Choose the default recording folder. FrameMate remembers your last setup, including the phone video layout, for the next session.
## Knowing what you are recording
For me, this was one of the most important parts. A switch whose source is not ready does not turn on silently. If no phone is on the cable, no microphone is found, or a permission is missing, FrameMate shows a warning and VoiceOver reads it. When you plug in or remove a microphone, it is announced by name.
The recording file is also protected at regular intervals while you record. If something unexpected happens and the app quits, you don't lose the whole take.
After recording, you can open the file, rename it, show it in Finder, or save a copy elsewhere with Save As. Command-Shift-O opens the latest recording.
## Accessibility and privacy
FrameMate is designed for VoiceOver and keyboard use from the start. Recording start, pause, error, and completion states are announced live, even while FrameMate is in the background. There is also a Quick Help window that explains every feature in English and Turkish.
Recordings are processed and saved on your Mac. FrameMate does not require an account, does not upload your recordings to the cloud, and does not include advertising, analytics, or tracking.
## Pricing
The first 7 days include unlimited recording, with no account needed. After that, you can keep recording with FrameMate Pro. Pro is available as a one-time lifetime purchase, a yearly subscription, or a monthly subscription. Restore Purchases is included.
## A note from me
I have tested FrameMate for many hours myself with VoiceOver, including real recordings with the camera, the screen, and a cable-connected iPhone. Even so, there are many possible combinations of Macs, cameras, microphones, phones, and settings, and some things may still need improvement. If something doesn't work as expected, if a label or announcement is unclear, or if you have an idea for a feature, please let me know here. I read every comment and will do my best to fix problems quickly.
You can find FrameMate on the Mac App Store here:
https://apps.apple.com/app/id6762084840
Thank you for reading, and thank you in advance for your feedback.
Comments
autosplit recordings, esp audio ones?
Hi,
If possible, what about a setting to autosplit recordings, especially audio ones where the phone is the source. My case is niche, but I OFTEN use quicktime player to route my old iPhone's audio through the mac, and record that audio with audio Hijack, so it can split every 10 minutes, 30 minutes, whatever, I record long documents being read by the siri voices. Sure, I could use document readers for that, but I just like mp3's better, or audio better. Like I said, it's a niche use case, so I'd understand if you didn't implement it. If you did, I wouldn't have to use quicktime and audio hijack anymore, frame mate could just record the audio and split every so often.
Re: autosplit recordings, esp audio ones?
Hi Moopie,
Thank you very much for taking the time to describe your workflow and this use case in such detail. It is very helpful to understand how you are using an old iPhone, QuickTime Player, Audio Hijack, and Siri voices to record long documents.
FrameMate currently has a maximum recording duration setting. You can choose unlimited recording, several preset durations—including 10, 30, and 60 minutes—or set a custom duration between 5 seconds and 60 minutes. When the selected limit is reached, FrameMate announces it and stops the recording automatically. There is also an optional sound and spoken countdown before the recording ends.
This is currently a recording time limit rather than automatic file splitting, so FrameMate does not yet continue recording into sequentially numbered files without interruption. However, if the duration setting is useful for your workflow, you could use it to create separate recordings manually for now.
I will look into what could be done to support automatic splitting, especially for long audio recordings and recordings where the connected iPhone is the source. I would also want to make sure that the transition between files is reliable, that no audio is lost, and that the resulting files are named clearly.
I cannot promise a specific release or timeline yet, but your detailed example gives me a much better understanding of the feature and why it could be useful. Thank you again for the thoughtful suggestion.
Best regards,
Recep
Is it possible to separate Voiceover sounds?
It’s an awesome idea to create an app with these features!
Is it possible to cut Voiceover sounds from the recording in real time, just like on a Facetime call?
Is it possible to split the system sounds from VoiceOver to redirect voiceover to my AirPods?
is it possible to record Zoom calls that way?
Re: Is it possible to separate Voiceover sounds?
Hi eyesfreesight,
Thank you for these questions. FrameMate currently lets you choose system audio and microphone audio separately for a Mac screen or window recording. However, it does not currently have a way to remove only VoiceOver from the system-audio recording, or to route VoiceOver to AirPods separately while recording the other system sounds. I don't want to suggest that it works like a FaceTime call in that respect.
You can select a Zoom window or the full display and include system audio and your microphone. I have not yet verified a complete Zoom-call recording with this setup, including how VoiceOver is handled, so I would recommend making a short test recording and listening to the result before relying on it for a call.
Separating VoiceOver from the rest of the Mac's audio is a useful request. I will investigate what is technically possible, but I cannot promise a feature or timeline yet.
Best regards,
Recep
Re: Is it possible to separate Voiceover sounds?
You can set a specific output device for VoiceOver in VoiceOver Utility, which may fix your problem in the mean time if it differs from the default output device.
For the developer, while I'm not sure what API you are using, I know from personal experience that CoreAudio makes it possible to choose exactly which applications to record from, either by only including specific applications or by excluding specific applications from audio taps. Before macOS 15, it was only possible to specify apps by their process identifiers, but since macOS 15 it's also possible to specify apps by their bundle identifiers, like com.apple.VoiceOver.
Confusing button labeling
Hi,
cool App. Works great at first glance.
The buttons for System sounds and Microfone are labled confucingly. On means off and the other way round.
You could better lable as Systemsounds mute on / off or Microfone mute on / off.
All the best
Jürgen
Re: Confusing button labeling
Hi Jürgen,
I'm very happy to hear that you like the app. I put a lot of time and hard work into developing FrameMate, so your kind words mean a lot to me.
Your suggestions are very valuable. Thank you for pointing out the confusing labels for system audio and the microphone. I will work on making these labels clearer and easier to understand.
Thank you very much for taking the time to share your feedback!
Best regards,
Recep
Re: Is it possible to separate Voiceover sounds?
Hi Choom,
Thank you so much for this very helpful guidance! I really appreciate you taking the time to explain both the VoiceOver output-device setting and the CoreAudio options for including or excluding individual applications.
The details about process identifiers and bundle identifiers are especially useful. I will look into these options and work on improving how FrameMate handles VoiceOver and system audio.
Thank you again for sharing your experience and pointing me in a helpful direction!
Best regards,
Recep