Skip to content

Instantly share code, notes, and snippets.

@caseywatts
Last active February 14, 2024 02:18
Show Gist options
  • Star 57 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save caseywatts/1046ec6fd908d7d76f07e5ea8ef40b32 to your computer and use it in GitHub Desktop.
Save caseywatts/1046ec6fd908d7d76f07e5ea8ef40b32 to your computer and use it in GitHub Desktop.
Quicktime Hangouts Recording (using soundflower for audio)

Short link to this page: caseywatts.com/quicktime

Other gists & tricks: http://caseywatts.com/gists-and-tricks

Unrelated update: my book is out! Debugging Your Brain is an applied psychology / self-help book

Quicktime + Hangouts Recording

Scenario: You want to talk with someone over google hangouts (like for a user study), and you want to record BOTH:

  • the system output audio (from them)
  • the microphone audio (from you)

(screenshots below in a comment)

General Setup (do this once)

1 Install Soundflower

brew cask install soundflower

(if you don't have/use brew, then google soundflower and install it from their site~)

2 Make an aggregate device (for quicktime input)

This is for Quicktime to be able to record audio from both you and the other person.

  • open the OSX system app Audio Midi Setup
  • Create Aggregate Device
  • Include both inputs:
    • Built-in Microphone
    • Soundflower (2ch)
  • Name this one Dual Input for Quicktime (optional)

3 Make a multi-device output (for output)

This is so both you and quicktime (via the aggregate device^) can hear what's going on.

  • open the OSX system app Audio Midi Setup
  • Create Multi-Output Device
  • Include all both outputs:
    • Built-in Output
    • Soundflower (2ch)
  • Name this one Dual Output (optional)

Specific Setup (do this for each screen recording)

4 Choose system output

  • alt-click on the volume icon in the taskbar
  • choose your system
    • input = External Microphone (hangouts only needs one - quicktime will get both on its own)
    • Output = Dual Output (hangouts should output to both quicktime and your headphones)

5 Quicktime screen record

  • Open Quicktime Player
    • (you may need to close and re-open this after configuring inputs)
  • File -> New Screen Recording
  • In the dropdown next to the record button
    • Microphone = Dual Input for Quicktime
@caseywatts
Copy link
Author

caseywatts commented Feb 22, 2017

Screenshots

1

image

2

image

3

image

4

image

5

image

@caseywatts
Copy link
Author

caseywatts commented Feb 22, 2017

this diagram is complex and just scary - but it's what's going on here haha

diagram 3

digraph g {
    "Built-In Input\n(your mic)\n(set as system input)" -> Hangouts
    "Built-In Input\n(your mic)\n(set as system input)" -> "Dual Input"
    "Other system sounds\n(youtube, etc)" -> "Dual Output\n(set as system output)"
    "Dual Input" -> "Quicktime Player\nScreenRecording"
    "Dual Output\n(set as system output)" -> "Built-In Output\n(your headphones)"
    "Dual Output\n(set as system output)" -> "Soundflower (2ch)"
    "Soundflower (2ch)" -> "Dual Input"
    "Hangouts" -> "Dual Output\n(set as system output)"
}

(made with http://graphviz.it)

@lucasm-iRonin
Copy link

@caseywatts does it work for you on Sierra? I've tried it as it's described (exactly the same setup as on your screenshots) and I'm not able to record the output sound (QT recorder can only hear my voice). Any idea what can be wrong?

@caseywatts
Copy link
Author

@lucasm-iRonin I haven't tried it on anything but my machine - I'm on El Capitan.
You've probably done this already but: maybe make sure everything involved is up to date, and maybe restart the computer? Soundflower is the part I'd suspect would have issues more than the other parts - maybe try to confirm that that part is working in isolation somehow?

@mathewtrivett
Copy link

mathewtrivett commented Sep 27, 2017

Lucasm, did you manage to successfully figure out how to get it working on osSierra? I'm having the same problem. Were you using headphones?

@mathewtrivett
Copy link

If you don't use headphones then it works. Its likely because headphones are a separate channel to the built in output?

@guybowden
Copy link

Great gist.. are you able to adjust the speaker output volume when you have the output device set as 'Dual Output'? macOS doesn't let me adjust the volume - though it's left at the setting before you switch to the dual output mode, so not all bad

@scudelletti
Copy link

scudelletti commented Nov 3, 2017

Thanks for the tutorial. 🎉

I can confirm that without headphones it works it also works with my headset that is not apple.
Making it work is a real pain. :(

@caseywatts
Copy link
Author

meet.google.com (Google's "Hangouts" for business) has a recording feature built-in that accomplishes all of this now 🎉
That's what I've been using lately, since we use gmail (etc) at Heroku 🙂

@reinisb
Copy link

reinisb commented Apr 17, 2018

I installed soundflower and configured everything according to instructions, but unfortunately quicktime will only record my mic.

@transfabulation
Copy link

Wow. I have Soundflower installed on my Mac but never got to try this. I have been looking for a way to record two-way audio like this to no avail. Thank you so much for such clear and detailed guide. I set it up and it worked! Didn't know Soundflower is such an amazing tool. I confirm this works on Mac OS Sierra 10.12.6. The voice chat app I used is LINE, and I used earphones for my voice input.

I wonder if a similar tool/solution exists for Windows.

Again, I am so thrilled to have found this solution. Thank you for sharing your guide!

@moguelor
Copy link

Thank you!!! It works on my macbook pro with headphones.

@param0859
Copy link

I want to use microphone + system audio (playing audio file) into Google Hangout Microphone Input. I also want to record Google Hangouts audio output + system audio output (audio file) + microphone on QuickTime. I want to be able to hear the audio file and the Google Hangout output. How can I achieve this on a Mac using SoundFlower. Any suggestions?

@austospumanto
Copy link

Works with Skype on Mac (Mojave) as well (using "Default Device" for input and output) 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment