In a locked down world where video calls have become the standard for social get-togethers and live streaming has really begun to be harnessed by those with live content that needs to be seen, I think it is important to know how to get the very most out of these services on a budget. Just by using free software like OBS (Open Broadcaster Software) it's possible to do some quite impressive things with just a laptop and a few USB sources.
RME ran a series of videos on how to use their TotalMix FX software in order to get pro level audio sources into your next Zoom meeting, and Sound Devices showed us over a series of videos how to use their latest 8 series recorder mixers, and their MixPre II range to get audio into streams over their USB implementation. They were insightful sets of videos and made me think about how you'd go about this with a device with less complete software/hardware package. The only interface I have at hand (that isn't RME), is the Zoom F8 field recorder. It's a surprisingly powerful 8 input, 10 channel recorder, and the USB driver allows all ten audio streams to be captured reasonably easily, so this should be relatively straightforward.
Let's setup the system. I'm on a Windows PC so I'll need to have drivers installed for everything I'm using.
There is a list of links to all of the software mentioned in this guide right at the bottom.
Zoom F8 recorder as my audio interface - Download all of the ASIO drivers from the F8/F8n support page
I'm using the ASIO driver from Zoom in order to have access to the full list of inputs. But there are three different ASIO drivers for the F8/F8n; Stereo, Multi-Track and Interface with Rec.
Stereo will get the two L/R mix tracks into Windows easily if that's all you need (you can even disregard the ASIO steps for this operation mode), with no recording of the ISO tracks available at all.
Multi-Track will give you access to all 10 channels of the F8 in your software (inputs 1-8 & L/R) but only allow recording on the computer it's plugged into.
Interface with Rec gives you the same as Multi-Track plus recording to the internal cards on the F8, but you are locked at 48kHz. I like the Interface with Rec one for the backup possibilities, but they can all achieve the same thing quite well.
You'll probably open OBS and realise that ASIO audio isn't natively supported, and that you can't use the output as a webcam without some extra plugins... and it took me bloody ages to track down the bits that I needed, but I'm thankful that OBS is truly an open piece of software and has a very talented user base building add-ons and plugins. After trying a few alternatives, these two ended up being the simplest way of doing what I needed.
It doesn't matter which way round you do this but you'll need to get hold of a couple of downloads from GitHub.
- OBS-ASIO - latest release here - This seems to work fine with any ASIO driver.
Both have pretty straightforward installers that guide you through the process and get these features working without too much faff.
Once they're installed you can add the audio source to the Scene. Right click the sources list and hit Add; at the top you'll now see "ASIO Input Capture". In here you'll find all your settings. Add the inputs you need from the device you want to use. With
a lot of interfaces you'll only be able to use inputs. But some devices have options in their drivers to run a "loopback" which can send an output back to an input channel (even ones you'd maybe not use like ADAT or AES pairs). The Zoom F8/F8n offers the LR mix channels as inputs on channels 9 and 10. Which means you can mix on your F8 front panel or iPad over bluetooth (or just enable the Auto Mixer) and send the mix straight into OBS.
There are also some experimental MIDI control add-ons for OBS, which could allow multichannel control from within OBS itself using a MIDI controller, as well as being able to trigger video transitions.
Now your audio is working, set up a quick video source (I tend to put in a built in webcam and a window capture) and lets have a look at VirtualCam. Once it's been installed, to be honest you shouldn't need to do much. In OBS go up to Tools, and you should see Virtual Camera in the list. Click it and it'll bring up the dialogue to set it up; pick which source you want to send to (up to four virtual cameras can be created at setup). Click start at the bottom and you should be able to pick it from the video/webcam sources in your chosen streaming/video chat application.
Note: If you use Zoom make sure you are on the latest version. There were a few iterations of it that disabled this input while they made some security fixes across the platform.
Syncing your sources.
Once you've got audio and video inputs coming in from multiple devices and sources, your session is probably all over the place in terms of the synchronisation. Set up a Scene with all of your sources visible on one screen, and record a clap both in vision and on the audio tracks. Using the video you've just recorded, count the frame delay between each instance of the clap and the last. Delay each input in milliseconds. Audio tracks are delayed through the Advanced Audio Properties, which you can get to by right clicking on the audio mixer panel. The video tracks are delayed using filters on each video source; right click the source, Filters > Audio/Video Filters > Add > Video Delay.
At 24 fps a frame lasts 41.666ms
At 25 fps a frame lasts 40ms
At 30 fps a frame lasts 33.333ms
At 50 fps a frame lasts 20ms
At 60 fps a frame lasts 16.666ms
You are of course welcome to be more accurate than a whole frame length for audio, as audio is tied to a higher timebase.
Anecdotally; I found that audio from my interface was roughly 20ms ahead of the video from my internal webcam.
With all of that set up you are now free to use all of your great audio equipment in your stream. I can now use my high end radio mics and booms in any configuration I want with the video feeds available to me.
Playing music through your stream
I've been taking part in a few quizzes over the lockdown and have to say that music rounds prove to be somewhat complex when trying to get them running in Zoom. The most elegant solution I've seen that doesn't require extra software is using another device and logging in a second time to the group. But obviously not everyone is going to have a second laptop or computer to run iTunes/Spotify from. By routing your audio through OBS you can achieve what you need using just one system. The quickest way of doing this is by enabling Desktop Audio in OBS, but this could cause problems when using Zoom in an open chat/meeting, potentially causing feedback echoes through the system.
There is a way around this though using a couple of free bits of software on Windows. I've installed a free virtual audio device on my Windows machine called Virtual Audio Cable. There's a second bit of software called EarTrumpet that