Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Quicktime Hangouts Recording (using soundflower for audio)

Short link to this page: caseywatts.com/quicktime

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

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
Owner

caseywatts commented Feb 22, 2017

Screenshots

1

image

2

image

3

image

4

image

5

image

Owner

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)

@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?

Owner

caseywatts commented Aug 17, 2017

@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 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?

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

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 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. :(

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