Streaming Media

Streaming Media on Facebook Streaming Media on Twitter Streaming Media on LinkedIn
 

Tutorial: Remote Live Production in the Age of COVID-19

With social distancing making in-person live production difficult-to-impossible, Anthony Burokas demonstrates how to produce a professional live show using multiple remote video feeds using vMix Call.

But bus A, or any other non-master bus is separate from the Master until I push a button to send it to Master. For instance, if I wanted my voice to go to Master, I’d push the button on the bus B master fader. Now my voice is part of the program. When the show is ready to go, I go over to this a bus and at on the hour when we would go live, I clicked the bus and now Brooke, Tom and Mike are live. They actually become part of the master program audio out.

Further down, there's the pre-show. It’s on the Master bus. The recorded questions are all on Master. So these will all play out to the Master program even when the hosts' microphones are muted. All this media also needs to play to bus B because that's what each of the guests is listening to.

I’m solo A, so I'm only listening to bus A. I don't want to hear my own voice because there's a slight delay and it throws me off. I'm listening to everyone else but not myself, and I wanted to make sure that I can hear what's going on too. So all the media playback goes to the A bus as well.

For video playback, the audio is at one hundred percent. If I wanted to have vMix switch the audio with the camera, then there are buttons for auto-mixing as well. Auto-mixing means, when I go just to Tom, then his microphone would go on and when I go away from Tom, his audio would automatically turn off, which is not what I wanted to do for this show.

We're having a discussion where anybody can jump in at any time. They have a very quiet environment, so I just turn all the audio on manually. Everybody's mic is live a hundred percent of the time once they are brought into the show. I manage what goes live to the Master Program up here with bus A master.

So all this has enabled me to take in guests, manage the shots, and manage the audio--because managing the audio out to the guests is critical. I need to have good audio, I need to hear everybody. I can also tweak any particular audio with an equalizer on each input. There's even the ability to add filtering, noise gates, and more to each channel individually.

Headsets

It's important to have good headsets so I can make sure I can hear any even remote noise? If somebody's doing dishes in another room, but I can still hear it, I can tell them--I can still hear the dishes. I can still hear the dog. I can still hear the kids playing in the other room. Whatever it is, you can let them know. But I need to be able to really hear it. So having a good set of headphones to listen to what's going on is key.

Also, making sure everyone uses headsets also gets you the best audio. When everybody wears headsets, the only sound going into their microphone is their voice. You don't want to have them using the built-in speakers of the laptop because part of that audio goes into their microphone. Then the system tries to cancel it out and ends up actually canceling part of their voice, which makes them sound garbled.

So, isolate and use headphones to ensure the best audio quality--even if it's wireless headphones, or little Bluetooth ear buds. If you have to use earbuds with black cables, run them behind your head so they just tuck in and viewers can’t really see them. Particularly for women with long hair, the earbuds and cables will disappear. No one on camera has to wear big, over-the-ear headsets. But since I'm not on camera, and I really want to make sure I hear it well, I wear the big headphones.

Bonding

The last critical element of remote productions with vMix Call is managing your data. To handle this, I've added a program called Speedify (Figure 10, below).

Figure 10. Speedify

Speedify takes multiple internet connections and bonds them together. I have my office WiFi, and I also have an ethernet connection to a completely separate internet connection. For that I'm using a cellular hotspot that is only connected to this laptop. Speedify sees and connects to both sources at the same time, and presents one internet connection to the computer.

So if the kids are on Zoom with their teachers, and my wife is on a WebEx for work, and maybe somebody is streaming a show, and there's a whole lot of congestion on the internet connection in the house, Speedify can then lean more heavily onto the LTE data for making the broadcast continue without interruption. It will vary the load depending on upon what it sees, and what it needs.

I still need to manage the data going out because data issues are not limited to just your home. With cable internet, it's everyone in your neighborhood as well. There's a switch at the end of the neighborhood, and everybody in the neighborhood shares all the data coming from that switch. It's called a "local loop." Honestly, when they tell you that you have 600 megabits down and 30 megabits up, you don't really have that. They really mean "up to" those numbers because it depends upon what everyone else in the neighborhood is doing. If every single household in the neighborhood tried to pull 600 down, everybody's only going to get 30 down, or something much, much lower.

It's an ebb and flow of all the different houses, and all the different demands at a particular moment in time. That's why I do the bonding.

In order to manage this as best as possible, there are two other things to adjust in vMix. There's a return video feed to each remote guest, and the return video bandwidth. I bring both way down.

They're all getting a low, 360-pixel image at 500 Kbps. So each of their playback streams use less than .5 Mbps up. But I'm sending four of those. So even though I've got it dialed down, that's 2 Mbps up, just for the return feeds to the guests.

For the book launch show I actually gave the remote producer an 800 Kbps/720p feed so he could see the multiview a little clearer. The guests are just looking at the program. It's not really critical that they see in high-def. They need to look and talk to the camera.

If you have five or six or seven or eight remote guests, the upload needs just for the return feeds really start to add up. What else is in the household, what else is in the local loop? I have to be concerned about that. My primary focus is my Master Program output to the livestream, which I have set to be a 3.5 Mbps (3500 Kbps) for 720p stream.

That's not a really high bitrate, but I'm also trying to make sure that I'm not pushing too much, or too hard where it can get constrained somewhere between me and Facebook. I want to make sure that my main program stream still has enough headroom so that it still can fit through whatever else is going on in the house, in the neighborhood, etc. Plus, I know that, right now, Facebook is limiting live video to 720p because there's just so much streaming going on. So, there's no point in trying to send a 1080p livestream right now.

Another critical setting for remote guests in vMix is on the incoming stream. You can go to advanced settings, remote guests, video bandwidth. I have all of their bandwidth settings on "auto." I could set each of them to a particular bandwidth, and it will try to do that. But when I leave it to auto, one of the key features of vMix is that it will dynamically adjust the data rate depending on what it feels the connection is capable of.

If somebody's bandwidth goes down, and it senses some dropped packets, even before I see anything, it'll reduce the resolution and the bit rate. Later, when it can, it will push it back up. I've watched my remote caller statistics in the Call Manager change dynamically through the whole show.

The boxes shown in Figure 11 (below) will tell me, this one’s at 720p, but this one over here, it's been down sampled to 480p and it's just trying to get through. When these boxes are green, everything is great. When they go yellow, there's problems. Very often, when I hear it having issues in the audio, I look over there and that caller is yellow. Red means it is ver bad. It might have even dropped to zero for a moment.

Figure 11. Call Manager statistics

I have had signals drop out for more than a second, and then come back. It recovers very nicely. So I've learned to not freak out when it goes a little herky-jerky for a moment or even stops for a moment. This system and the codecs behind the scenes are very reliable and they have been able to recover, and just start back up. A few moments later it's back up to 720p and it looks and sounds great. I didn't have to do anything.

That's why the Call Manager window is a great resource to me as I monitor what the current status of each remote connection is. This is also the chat window. So if I hear a little chat notification sound in my ear, I'm able to come over and see the message that has come in to me.

Controlling vMix

vMix is new to me this year. I come from a broadcast background. I like having a control surface with lots of buttons. I’m used to having an inputs row and an output row. Then I build everything else. It’s a regimented approach.

vMix is crafted however you want. It's like baking your own show, and choosing how much of each ingredient you put in. It's completely up to you. One thing that makes it extremely manageable is having an external control surface. The Elgato Stream Deck shown in Figure 2 couples with so many different things.

The 15-key model I have is about the smallest one that I would like to get. It sells for about $150. I have it set up for this specific show. I've got all three of the hosts. I have a three-shot and a three-shot plus graphics.

If I want the three-shot clean, I click on 3SHT, it pops up in the preview. Once I get it in the preview, I can either “fade” or “TAKE.” If I hit “TAKE,” it takes it instantly. If I hit “fade,” it fades between them.

I've got the bug on the right. I've got the bug on the left. I can bring the bugs up individually. I can queue up the first pre-recorded question. I can go to the third question. I can go to Brooke, full-screen. If I take Brooke, her title is right there. If it's Tom, Tom's title appears with him.

We're going to be highlighting each of these people throughout the show and I'm going to keep tagging them. Put the bug on the left, put the bug on the right, because social media audiences come and go. The Stream Deck buttons are extremely customizable.

In the Stream Deck software, they have an item called "hotkey." I can take this hotkey, drop it on a button, and then that will let me program what it does. You can call the keys whatever you want. You can do uppercase or lowercase; you can change the font. You can align the text bottom, medium, top. You can change the size, make it bold, underline, change the color. You can use a different background. You can draw whatever icon you want. It's just amazing what you can do. The buttons are actually little LCD screens. As I make the changes in the software, they change on the device.

There are other control surfaces that you can use from X-Keys, Skaarhoj, Akai, and Behringer. You can even use USB gaming joystick controllers with vMix. If you have pan tilt, zoom cameras, you can have somebody switch between cameras and move them around easily.

Customizing vMix

vMix is incredibly customizable. I’m only scratching the surface at some of the deep, deep capabilities it offers. There are hundreds of individual trigger commands, and there's a whole API set where you can call into vMix and control it remotely that I haven't even begun to touch. So don't take this as a deep-dive into vMix—it is most certainly not.

Down at the bottom of the vMix shortcut window, I can create a local shortcut which will be saved just in this show, or this can be part of the application and it carries from show to show to show. If you are used to a more static type of setup, you could set it up like a TriCaster or other hardware mixer.

The customizability of this application means that it's not forcing you into any particular production paradigm. You build it how you want to build it. I can set Space Bar to Fade, Enter to Cut, which is familiar to me given my TriCaster experience. You could program the whole QWERTY keyboard if you wanted.

When vMix is running, the keys don't do anything unless you tell vMix what you want them to do. When vMix first opens, there are no video inputs unless you load a preset you've already built, or start building a new one. That can seem like a downside to some people. After you build something, you can take what you've built and duplicate it. You can take pieces of it and build something else, and build something else, and build something else.

Next thing you know, you’ll have a half dozen prebuilt shows that can cover many types of productions. The possibilities are pretty much endless.

My TriCaster doesn't have the integrated Skype TX inputs for remote guests. I would need a separate computer with Skype for each remote guest. That's four more computers. Then I’d need to run NDI on each of those four computers to have that NDI come into my TriCaster. I'd have to manage the audio buses so that each of them came in on one channel, and I'd have to manually set up a mix-minus so they're not being confused by their own delayed audio in the program. That is the main mix, minus themselves.

vMix does mix-minus for each remote guest, automatically. That is a great built-in feature that for remote productions with multiple people from multiple locations. It doesn't have to be same city, same town, same state, same country; it could be anywhere around the world. They all just come in. They appear as sources, like cameras. I'm able to cut between them as if I had sent cameras out to each of them, anywhere in the world.

This has been a look at my multi-camera, live-switch streaming command center, showing how I was able to leverage vMix and other software and hardware to enable remote production that looks as good as if I was doing it with everyone in the room with me.