Capture both audio and video from iOS device via USB in OBS

I want to record both screen and audio from iOS device using my MacBook, so I connected the device to my computer using cable. I then opened QuickTime Player, click “File -> New Movie Recording”, and select the iOS device as video and audio input from the drop down menu next to the record button, and everything works fine.

I then tried OBS as QuickTime is not very flexible. The video is available in “video capture device”, but the audio cannot be found anywhere. After a bit research, I found audio input can be enabled using “Audio MIDI Setup”. However, with OBS opened, the audio device immediately became disabled about a second after I click “Enable” in the Audio MIDI Setup. When I close the OBS (or remove the video input from the iOS device), however, the audio input in the MIDI setup works, and I can record audio in OBS via “audio input capture”.

The frustrating thing is that I cannot record both in OBS, it seems like iOS device can only operate in 1 of the 2 modes that provides either video (screen cast) or audio via USB, but not both. But how does QuickTime works? The audio input option from iOS device is in the QuickTime even when the device is not enabled in Audio MIDI Setup (and when enabled, the device is listed twice with slightly different names). This seems like QuickTime use a different mechanism to grab the audio input from iOS device, and I am not aware of any other applications can do this.

The workaround I found is to record the main speaker output (using SoundFlower or other similar tools) since QuickTime will output the audio from iOS device to main speaker of my MacBook. However, the setup is quite complicated and not very flexible (included below).

Any better ways to do this?


Appendix (how to use SoundFlower to workaround this)

  1. First connect the device via cable and open QuickTime. Go to “File -> New Audio Recording”, and select the device in the drop down menu next to record button (but don’t hit record). This will output the audio from device to main speaker.
  2. Open Audio MIDI Setup, on the lower right corner, click “+ -> Create Multi-Output Device”, add both SoundFlower and Main Speaker.
  3. Open “System Preferences -> Sound” and set the output to the device just created. You can now record the audio from SoundFlower in OBS.