Recording multiple camera angles, full-size, simultaneously, on a Mac

I've been doing a lot of video production work for the past few months, both for my YouTube channel, and in helping people with their live streams, and one thing that I miss by not having dedicated (and expensive!) video production system like a NewTek TriCaster is being able to record multiple camera angles at their full resolution simultaneously on my Mac.

There are a lot of little conveniences you get used to if you do professional live video production with high-end equipment that you often can't replicate in a budget studio... like my desk here at my house.

Multi camera setup on Desk at home

If all your cameras have their own storage, you can record on each of them, then bring the footage into your editor and sync the clips by audio afterwards. But this doesn't work with cameras that don't have onboard storage like webcams or PTZ cameras. Also, many cameras have recording time limitations. For example, my Sony a6000, which can only record 30 minute clips.

Wouldn't it be nice if you could record all the cameras immediately on your computer? I mean, you can put multiple camera angles into software like OBS, and have them on-screen at the same time or switch between them live, so why not be able to also save different camera angles at their full resolution (e.g. 1080p) as separate files, so you can re-mix or re-cut the video angles as you see fit?

Well, unfortunately OBS doesn't allow recording multiple cameras to separate files. So, during a livestream, unless you're willing to pay for somewhat expensive software like mimoLive, or dedicated video production hardware like the TriCaster, you're stuck recording one video feed (which can have multiple cameras, but not at full resolution in separate files).

OBS wide two camera angle recording hack

One quick hack is to record one super-wide canvas in OBS, and place one camera on one side, and one on the other, and then crop the video out in editing later, but that's not fun to set up, it eats up even more computer resources (many computers would drop frames while recording, especially at higher resolutions and frame rates), and for longer recordings the post-processing required would take forever.

There was a utility for the Mac that used to be supported and allowed easy multi-camera recording, called CaptureSync, but it was unmaintained as of 2019, and likely won't work with newer Macs. It also cost a pretty penny, but as with most things in video production, it was well worth it if you needed this functionality frequently!

Update: You can also use ISO recording (ISO for 'iso'lated recording of camera inputs) in Wirecast on Mac or Windows, or vMix on windows. Those apps are even more pricey, but if you rely on this functionality, they are solid options.

Now, on to the meat of this post: you may not know this, but QuickTime Player—an app that comes free with every Mac since forever—has had the capability to record clips from any attached camera for years. I often use it to capture video when I just need a quick clip. All you do is open QuickTime Player, then choose File > New Movie Recording, select a camera and sound source, and click the big red 'Record' button.

But something else you might not realize is you can run more than one instance of QuickTime Player at the same time! Here's how:

  1. Go into your Applications folder and find QuickTime Player.
  2. Right-click or control-click on it and choose 'Duplicate'.
  3. Open the original QuickTime Player:
    1. Choose File > New Movie Recording.
    2. Choose a camera and audio source. Make the window smaller so you can preview it alongside the next camera source you're about to open.
  4. Back in your Applications folder, open the new 'QuickTime Player' copy:
    1. Choose File > New Movie Recording.
    2. Choose a camera and audio source. Make the window smaller and move it alongside the other QuickTime video preview window.
  5. Click record in both instances of QuickTime.
  6. After you're done, click stop in both instances, and save the files.
  7. In software like Final Cut Pro, you can now sync the files using a multicam clip.

Recording two camera angles in QuickTime

Nice! One major drawback is you need to have a Mac that can handle the demand recording and saving two simultaneous streams requires. My brand new beefy MacBook Pro can handle two 1080p webcams (Logitech C920) without an issue. But toss 4K in the mix, and things get a little more dicey. Also, the longer the recording, the more chance you can get some dropped frames or delays, so this is not a great solution for multi-hour lectures or time-lapses.

But can you do three cameras with the same setup? Yep! Just make another copy of QuickTime Player, launch it, and you're off to the races!

Recording three camera angles in QuickTime

When I was testing with my Sony a6000 at 60 frames per second through a Cam Link 4K, along with the two aforementioned Logitech C920 webcams, my CPU got a bit toasty, at almost 100°C, and the fans were on at full blast—but the recording still worked!

The limit here is really how many instances of QuickTime Player your Mac can run while recording the video and not melt down.

Technically, you could do the same thing with multiple instances of OBS, but OBS is a lot more heavyweight and prone to exploding, and I fear I'd end up with a melted blob of aluminum on my desk.

Comments

With using of FFMpeg you'll be able to capture cameras without unneeded reencoding, so limit will be your harddrive / usb bus speed and not CPU.
Also you can do recording to one file with multiple tracks at the same time.
With AVFoundation you can grab cameras on MacOS.
More information https://trac.ffmpeg.org/wiki/Capture/Webcam and in google ofc ;)

Unfortunately I don't have MacOS, but here is command that I'm using for capturing without re-encoding on Linux:
ffmpeg -y -f v4l2 -input_format mjpeg -video_size 1280x720 -i /dev/video0 -c:v copy recoding.mkv

Nice! I'll have to look into this and see if it will pick up the Cam Link 4K input as well—if it does, and I can grab the two Webcams, it will be even quicker to start the recording, because it can just be a bash function!

Hi Jeff and thank you for sharing your trials.
I don't use QuickTime, but I'm surprised that your CPU is so occupied by just recording three streams (even 4K, its quite heavy but just a download). Does it decode / re-encode them by software by default ?
Have you tried VLC (https://www.videolan.org/vlc/download-macosx.html) ? It also allows you run concurrent sessions and "convert" each stream on the fly or just save the raw stream, by displaying it or not as needed.
In a future version of your studio you could record the streams from the mac and share the folder to three RPI that would decode/display'em on second hand screens behind the cams.
Regards

Lol I found your article having exactly the same problems. Thanks for sharing. It's super strange that there no stable solutions which will work out of the box even if they are pricy.

Wow! What an amazing trivia. I was amazed that Quicktime can do all of this things. I am not even aware of it! Normally I am downloading another screen recorder to do that. One of them is Acethinker Screen Grabber Premium which captures the screen and audio without any hassle. For this, I will definitely try Quicktime. Thanks!

Hi, I came across your in depth and helpful article while looking for ..a simple option to switch camera's while recording.. I can't find the answer anywhere so I am asking here; I have 2 wide-angle webcams and a mic, simply usb connected to my MacbPro & I want to be able to switch camera's while recording; No need to have a recording in a recording. I use this set up with Zoom and it's possible in Zoom but I cannot find a Macbook App or software in witch I can switch camera's while recording. I now use zoom for recording but it's a pity the recordings loose quality. Mic & Cams are simply usb, I don't really want to extend my hardware, rather keep it simple as I am not a recording tech. Any suggestions would be really helpful. Greetings from The Netherlands.

Thanks Jeff! I just tested this option briefly and it looks good. I appreciate it and look forward to trying it out for guitar videos. I also sync up a separate audio track that I record with my Izotope Spire Studio so I'm less dependent on the quality of audio through Quicktime. I'll report back! I tried Logitech Capture and it was unfortunately bad. I'm hoping this will allow for my Logitech Streamcam and 920c to work together for quality multi view guitar instruction, backing tracks, and reviews. I'm using a 5 year-old iMac, so here's hoping it's got the juice I need.

Thank you for sharing how to record from Multiple Camera in one PC. There is the Windows application for recording from Screen Capture and Webcam simultaneously, also have simple editing feature to sync up your recorded videos by audio tracks, simply adding Overlay track, Title then export your guide video or your performance, practice videos to show for others or just keep your own. Now you can download the 180days Trail version to have a try. :) => https://www.pinnaclesys.com/en/pages/intel-multicam-capture/

Hey Jeff This is great! Quick question if you are able to share a bit of advice, I am streaming with 3 webcams and needed a bit of insight on the best way to run 3 cams off one macbook. Looks like you are using all USB as well, is there any additional software you use to ensure all 3 cams get a realiable feed? THANKS!

Can or is it possible to take pics from a phone thats set face down take several pics from different angles around a person sleeping in bed?thanks

I like the post and your experiments.
After my research, I found this is interesting terminal command to open many instance of QuickTime player.

$ open -n -a QuickTime\ Player

The duplicate of QuickTime Player tells me: "Failed to open the system screen capture utility." when choosing "New Screen Recording".

I believe you can only capture the screen in one instance of QuickTime player (e.g. you couldn't have one instance capturing one display and another on a 2nd display).

For that, I wonder if something like iShowU Instant or OBS could do it?

Hi Jeff. I have a question. Is it possible to record a screen recording from my Ipad directly into iMovie while I'm filming myself talk on the laptop camera into Imovie? There's this astrologer who does it, i think, and I want to know how to do it.
Check her out: https://www.youtube.com/watch?v=qec4OpimnZs&t=820s

How do you do audio while running 3 webcams? Are you saving 3 audio streams (or 4) and then picking and choosing in post-edit?

Sometimes I do that, but most of the time I just record audio on one, or through my Mac directly using Sound Studio depending on the mic setup.

But with QuickTime, you can choose the same or a different sound input for each video recording.

on my macOS box I use this one simple ffmpeg terminal command for simultaneous two webcams capturing:

ffmpeg \
-f avfoundation -video_size 1920x1080 -framerate 24  -pix_fmt uyvy422 -probesize 12M -thread_queue_size 512 -i "0:1" \
-f avfoundation -video_size 1920x1080 -framerate 24  -pix_fmt uyvy422 -probesize 12M -thread_queue_size 512 -i "1:1" \
-map "0" -c:v libx264 -preset ultrafast -crf 22 -y webcam1.mov \
-map "1" -c:v libx264 -preset ultrafast -crf 22 -y webcam2.mov

here list of devices command:

ffmpeg -f avfoundation -list_devices true -i ""

example of output:

ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.5 (clang-1205.0.22.9)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
[AVFoundation indev @ 0x152f0f490] AVFoundation video devices:
[AVFoundation indev @ 0x152f0f490] [0] HD Pro Webcam C920
[AVFoundation indev @ 0x152f0f490] [1] HD Pro Webcam C920 #2
[AVFoundation indev @ 0x152f0f490] [2] Capture screen 0
[AVFoundation indev @ 0x152f0f490] [3] Capture screen 1
[AVFoundation indev @ 0x152f0f490] AVFoundation audio devices:
[AVFoundation indev @ 0x152f0f490] [0] Steinberg UR22C
[AVFoundation indev @ 0x152f0f490] [1] HD Pro Webcam C920
[AVFoundation indev @ 0x152f0f490] [2] HD Pro Webcam C920

Maybe using an BlackMagicDesign ATEM Mini Pro ISO would be an option? It will cost you about EUR 840,- but will record 4 HDMI A/V inputs and 2 additional audio inputs simultaneously to external USB-C SSD as Mp4 and Wav and it wil save a DavinciResolve project with the edit which you can convert to e.g. Adobe Premiere Pro.

Jeff, Thank you for this informative video. We successfully followed every step today and it worked out great! Two cameras set up and I'm ready to record some videos for my Effortless Music Instruction Youtube channel and social media. Yay! Nothin' to it but to do it! Best wishes in '22 and beyond!

Hi Jeff, thank you so much for this solution! It was exactly what I was looking for. I'm curious -- what were the specs on the MBP you mentioned in the video and on this page? Was it an M1? Since this original post, have you changed your hardware specs and if so, have you noticed any difference?

It was an Intel i9, 2019 model. I have upgraded to an M1 Max Mac Studio since then, and it can handle everything a lot better, and I never even hear the fans now!

One thing you said here, "One major drawback is you need to have a Mac that can handle the demand recording and saving two simultaneous streams requires. My brand new beefy MacBook Pro can handle two 1080p webcams (Logitech C920) without an issue. But toss 4K in the mix, and things get a little more dicey," really wants an answer as to "why?!" I know there are such limits, but I'm struggling to find out what causes them and why. I don't have exactly the same scenario, but I sometimes have to monitor multiple video feeds at once, and I usually do it via Firefox with each feed in a Picture-in-Picture window. It works fine for a small number at once but then as more are added, it starts to drop the frame rate or drop frames, gets jerky, sometimes the whole thing starts to collapse as windows close here and there. I watch the Activity Monitor and see that the CPU is maxing out at 200% (due to using multiple cores I guess), but the GPU is standing at 0%. This surprises me and I'm trying to figure out why the GPU isn't handling some of this load. I can't seem to find an answer to this use case, but your scenario seems somewhat akin to this, so I'm wondering of you know what it is that's causing the bottleneck in your specific case.

FYI... it looks like they changed "Duplicate" to "Make Alias."

I am producing video to support my online guitar method. This really helps, Thank you.

Jeff, huge fan of your channel. On Sonoma I ran into the problem of not being able to duplicate system applications. I was able to get around this by using the terminal to open a second instance of the app (open -n -a “QuickTime Player”). Now if only I could get AppleScript to do all this for me…