Preliminary side note: Zoom the camera/audio manufacturer, and "Zoom" the conferencing app are two entirely separate companies which can cause confusion when talking about "Zoom Cameras". Know the difference going in!
TL;DR- Multiple cam/dual computer setup eGPU with OBS (a linked list of my hardware/software is at the bottom of this article.)
- Zoom Cameras, model Q2n4K.
- Zoom L-20 Livetrak for sound input.
- Zoom cams plug into powered USB hubs, with each hub in a separate USB port. I try to maintain "parity", ergo two cams per USB hub.
- Cams and audio deck go into my Macbook Pro, which renders them.
- Using NDI (Network Device Interface), I offload the tasks of rendering audio/video on the Macbook Pro, while allowing my second machine (a Mac Mini) to handle the actual streaming duties. This seems to solve sync issues between the audio and video.
- An eGPU from Macsales.com w/ a Radeon 580X video card (to offload processing duties)
- Loopback (by Rogue Amoeba) will solve any audio routing problems you may encounter.
- Spanning long distances with USB cables will require an "active" USB cable, that enhances the USB signal and repeats it across the length of the cables.
- Protip: If you span a distance over 10 ft, get an active cable.
- Protip 2: Set a USB hub at the end closest to the camera instead closest to the computer.
- Connect via a wired connection (wireless is considerably slower) all the computers that will be involved in this endeavor.
- Check with your internet provider about the upstream speed for your account; having at least 5mbps will make the stream so much smoother and will result in fewer dropped frames.
I've been fascinated with the world of video for a while now. For starters, I grew up in a "studio environment" due to the fact both my parents were professional photographers and art was always accessible to me. I was so fortunate to have that.
Protip for Macbook and Macbook Pro users: One newfound tip worth mentioning is that by plugging the power cord into the right side of the computer via one of the USB-C ports uses less processing power than using one of the left-side ports. So make sure your power source plugs into the right side.
When I discovered OBS (Open Broadcast Software) it was a total game-changer. All of a sudden I could connect cams to my computer and create scenes and stream out! Woot!~ I found the Zoom Q2n cameras to be USB-pluggable and they allowed me to run several instances of the cams at once.
I plugged the cams (4 of them) into two powered USB hubs; two per hub for parity and split those two USB hubs into two of the USB-C ports. You will want to use the powered hubs to help augment the power supply to the cams. Use fresh batteries, regardless. It keeps power going to the cam in case you unplug it. Normally this won't cause any problems but if you were updating the cam's firmware, it could potentially brick the unit.
And as an aside- even though the end goal is to stream out and not record video to the camera, you will definitely want to use a microSD card to help the camera along with buffering. It's a performance thing, and you don't need a huge chip. 8gb should be plenty.
Can You Hear Me, OBS-Wan Kenobi?
The first problem I encountered was that the audio from my Zoom L-20 Livetrak board was not showing up in OBS, no matter what I tried. For three days I tried to solve the problem by trying every conceivable configuration of plugging the computer into the board but alas, no luck. Finally I found a small program called "Loopback" that fixed EVERYTHING. I could actually see which channels the audio was emanating from and make the connection via software and like magic, I was up and running!
Loopback isn't cheap though. It's $100 and they get you by allowing you 15 minutes of clean and clear audio and eventually the audio begins to degrade. Evilly brilliant or brilliantly evil... I was like "Shaddup and take my money!!" because it literally solved all the problems.
This is my livestreaming rig, check out my article. https://billraydrums.com/blog-tings/187-my-livestream-rig.html
Not So Fast, Mister...
With all the success I had been having with the regular Zoom Q2n cams, I decided to upgrade to the Zoom Q2n4K cams. All that I came to love in a camera, but now in 4K! Streaming was never so easy!
With the new faster cams came the need for faster processing because it takes CPU power to render out the video. All of a sudden, my brilliant setup is bogging down and begins to exhibit erratic behavior. One such problem that I came across was, when streaming live to Facebook I noticed considerable lag between the Audio and Video. Ugh. Not only that, my laptop (Macbook Pro 2018 2.6ghz I7 processor, 16gb RAM) began to bog down and got really hot and as a result, the audio would hang, skip and generally "behave badly".
I did find out several glaring realities about the Macbook Pro 2018- DJs seem to HATE it, because the L2 chipset glitches out on some audio software and playback which makes it a crapshoot to use for music production. Now they tell me! I actually took the machine to the shop and allowed Applecare to give it the once-over and had the logic board replaced. Still, I was getting the glitchy audio. Frustration abounds!
As it turns out, the headaches I was suffering from was due to processor overload. It's a drag on the computer when it's got to render video and audio, play music, Airplay to a bigscreen AND stream all of that to the internet. I purchased an eGPU to help with the processing and it works like a charm.
Also, I discovered that having a very strong upstream connection is tantamount to having a good stream experience. I chose the gigabit speed internet, as it offers in my area upstream speeds of ~30-40mbps. Most providers won't advertise the upload (upstream) speed so be sure to enquire when you talk to them about the upgrade should you need it. I recommend a connection of ~6mbps to stream in 720p and ~15mbps to stream in 1080p. If you're going for the high res, 60fps look then you'll need even faster upload speed. (note: Zoom cameras are currently limited to 30fps). And if you want solid, unencumbered speed, make sure to run a wire to your router from your computer(s).
Side note: Check to see if you have Ziply Fiber in your vicinity; Fiber is the way of the future and the upstream speeds I'm getting are insane.
Protip: However, one tip worth mentioning is that by plugging the power cord into the right side of the computer via one of the USB-C ports uses less processing power than using one of the left-side ports. So make sure your power source plugs into the right side.
Lucy NDI Sky...or...A Workaround For Slower Machines w/o Having To Purchase An eGPU (External Graphics Processing Unit)
While my machine was in the shop for that week, I went and found a late 2014 Mac Mini w/ 2.8ghz I5 processor, 8gb of RAM and began to stream through that. It could handle the audio and video but alas, everything was out of sync during the stream. When I'd hit my crash you'd either see it or hear it first then vice-versa. And the latency seems to be a moving target on Facebook so that equated to a LOT of lost time trying to set ASYNC delays and trying to find the "magical milliseconds" that made it all click.
Eventually I got my Macbook Pro back from the shop and wanted to try this plugin called "NDI" (Network Device Interface) which allows for one computer to render the audio/video and then you send that instance of the feed to another machine, where that computer can handle piping the stream out. So how does that work?
Quick example:I installed the NDI plugin on both machines, as well as OBS Studio. All the cams go into my Macbook Pro, as well as the audio board. the laptop handles the audio/video. There's no need to stream from the laptop, as the composite A/V blend will then show up on the Mac Mini via "NDI Source", and it is from THAT computer the stream will make it to its destination.
Another benefit of NDI is the ability to use your phone's camera as an NDI source, wirelessly even. This means that you could very easily get some friends to patch into the video system to help with roaming shots, but I've not yet gotten that far. It is possible though!
The Old Switcheroo
So with all this great technology, I figured it would be nice to have a pushbutton controller that would make it easy to switch scenes as I'm in drumming mode. The Elgato Streamdeck was all that and a bag of chips! The software was really easy to learn and it's just so expandable. I can control my music, switch scenes, open and start the metronome, etc. with this little button matrix.I bought the 15 button model (about $125-$160, depending on where you buy from) and there's a 30 button monster array that they have available now.
Speaking of switching, I wanted a way to switch between scenes automatically at a regular interval. My research led to a plugin called "Advanced Scene Switcher". It took me a minute to figure it out but now I can press a button and start the automatic transitioning of scenes and toggle it off by pressing yet another button.
Going The Distance
One thing I learned the hard way was that if you wish to put a camera further away from you than say, 10 feet you're going to need an "active" USB cable that will amplify the USB signal down the line so it can effectively make it back to the computer. I use these cables, available on the 'Zon. They work great.
Streaming video is very processor-intensive and it goes without saying that the faster the processors on your computers, the smoother it will be. If you experience "Encoder overload" warnings in the lower bar of OBS, it would make sense to do the following:
- An eGPU will solve your performance problems. If you are having trouble with basic streaming, get one. One caveat- Your computer MUST have a Thunderbolt 3 output. Apple laptops pre-2018 do not have Thunderbolt 3.
- Close any unnecessary programs that may be running in the background (Google Backup & Sync is processor pig and will ruin your entire experience). Also close any unused tabs. This goes for all machines involved.
- Make certain your cameras are set to the same resolution and framerate as your streaming software; this will reduce load on the processor.
- If you still experience encoder overload, lower your native resolution and output resolution on all devices to be the same, so the computers don't have to reprocess anything.
- If you're still having issues, lower your framerate. 24FPS is as low as I would go, personally.
- If you're still having issues, lower the resolution yet again on all instances of running OBS.
- Do research the ins and outs of OBS, as there are countless videos on the software. Also, subscribe to their forums and when you post a problem, make certain to include a log file, otherwise you will be told to "include a log file".
This document will grow and expand over time as I learn more about this wonderful software suite and as I upgrade my machines and cameras. I will do my best to keep this current as per my streaming environment.
Helpful OBS Videos
My Past Livestreams
Links to Things I Use
- Macbook Pro: (Note: I use a 15") https://www.apple.com/macbook-pro-16/
- eGPU: https://eshop.macsales.com/item/AKiTiO/NPTNT3R580/
- Mac Mini: https://www.apple.com/mac-mini/
- Zoom Q2n4K Camera: https://www.zoom-na.com/products/field-video-recording/video-recording/zoom-q2n-4k-handy-video-recorder
- Smallrig camera mounts: https://www.amazon.com/SMALLRIG-Ballhead-Multi-Function-Adapter-Ronin-M/dp/B00DJ5XH4O/ref=sr_1_2?dchild=1&keywords=smallrig&qid=1587836207&s=electronics&sr=1-2
- Zoom L-20 Livetrak: https://www.zoom-na.com/products/production-recording/live-sound-recording/zoom-livetrak-l-20
- Streamdeck: https://www.elgato.com/en/gaming/stream-deck
- Active USB cables: https://www.amazon.com/gp/product/B00AA0U08M/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
- USB powered hubs: (note: these are not the actual model that I use, but any plugin-type USB hub will suffice.) https://www.amazon.com/dp/B07G8CMR18/ref=cm_sw_em_r_mt_dp_U_S3hPEbQ1PN6A5
- OBS Studio: https://obsproject.com
- Rogue Amoeba Loopback: https://rogueamoeba.com/loopback/
- NDI plugin: https://obsproject.com/forum/resources/obs-ndi-newtek-ndi%E2%84%A2-integration-into-obs-studio.528/
- Advanced Scene Switcher: https://obsproject.com/forum/resources/advanced-scene-switcher.395/