Hello everyone,
I'm the developer of FrameMate, a Mac app for macOS 14 or later. With it you can record yourself on camera in landscape or portrait, record your whole screen or a single window, record the screen of an iPhone or iPad connected by cable, or record audio only. You can include your microphone and your Mac's system sound, and show yourself in a box on top of the screen or the phone. A spoken Frame Coach helps you stay in the camera frame without seeing the preview. I'm a VoiceOver user myself, and I built it so that I always know what is being recorded and what is happening during a take.
FrameMate is available on the Mac App Store in more than 40 languages: https://apps.apple.com/app/id6762084840
Recordings are saved on your Mac. There is no account, no cloud upload, no ads, and no tracking. The first 7 days are unlimited; after that you can keep recording with FrameMate Pro, as a lifetime purchase or a yearly or monthly subscription.
I wrote a full user guide for VoiceOver users, with headings for the headings rotor. It explains what you hear and what each shortcut does, step by step: https://recepgur07-bot.github.io/en/framemate/guide/
## What you can record
Camera
- Landscape (1920x1080) for YouTube and presentations, or portrait (1080x1920) for Reels, Shorts and TikTok.
- Your Mac's camera, an external camera, or your iPhone as a camera through Continuity Camera.
- Your microphone in automatic, mono or stereo, and optionally your Mac's system sound.
- Auto reframe keeps you in the middle of the picture for single-person recordings.
Screen
- The whole display or one window, as a 1080p MP4.
- Microphone and system sound, each with its own level.
- A camera box over the screen: three sizes and nine positions, so you can put yourself in a corner, at the middle of an edge, or in the center.
- Cursor and click highlighting for sighted viewers.
- If the screen or window turns completely black, for example a minimized window, FrameMate tells you while you are still recording.
Phone screen
- Connect an iPhone or iPad with a cable, unlock it, and accept the Trust prompt the first time. FrameMate tells you when the phone is ready.
- Five video layouts: keep the phone's own proportions, 1080x1920 portrait, 1920x1080 landscape, or side by side in landscape with you on the left or on the right.
- Phone sound can go into the recording. If you use VoiceOver on the phone, its speech is recorded too, which is useful for app demos. You can turn it off.
- With "Hear phone through speakers" you keep hearing the phone, including VoiceOver, through your Mac while you record. This does not change what is recorded. Headphones are recommended, otherwise the phone sound can echo into your microphone.
- If the picture is black, FrameMate tells you. A common reason is VoiceOver's Screen Curtain on the phone; a three-finger triple tap turns it off.
Audio only
- Microphone, system sound and phone sound, alone or together, saved as M4A. Useful for podcasts and voice notes.
## Frame Coach
Frame Coach speaks to you while you set up your camera: "Face not detected, look at the camera", "You are partly out of frame, move slightly right", "Too close, move back", "Low light, illuminate your face", and "Frame is good". It also handles two or three people. You can choose speech, directional tones, or both: with headphones, the ear you hear the tone in is the direction to move. It stays silent while a recording is running, so it never ends up in your video. You can turn it on and off from any app with Command-Option-O.
## Changing the layout while recording
During a screen or phone recording with the camera box on, you can change what the finished video shows without stopping:
- Command-Option-V: you fill the whole frame.
- Command-Option-E: the screen (or the phone) fills the whole frame.
- Command-Option-G: back to the default layout.
Each change is announced by name, and it appears in the exported video, not in the live preview.
## Knowing the state at any time
Command-I (in the app) or Command-Option-B (from any app) reads the current state. Before recording it tells you the settings of the next take. During recording it tells you the mode, the elapsed time, the layout, and which sounds are on. Other global shortcuts: Command-Option-R start or stop, Command-Option-5 audio recording, Command-Option-P pause, and Command-Option-S, F and M for system, phone and microphone sound. If a shortcut can't do something, it tells you why.
## A note from me
I have tested FrameMate for many hours with VoiceOver, including real recordings with the camera, the screen and a cable-connected iPhone. Even so, there are many combinations of Macs, cameras, microphones and phones, and some things may still need improvement. If something doesn't work as expected, a label or announcement is unclear, or you have an idea, please tell me in this thread. I read every comment.
Thank you for reading.
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