My First Experiment with Live Audio Webcast of Roller Derby
Last weekend, Portland’s Rose City Rollers came to Denver. On Sunday, Rose’s Axles of Annihilation took on the Denver Roller Dolls’ Bruising Altitude, and then Rose’s Wheels of Justice took on Denver’s Mile High Club. The double header was at Denver’s practice facility, called The Glitterdome.
The Glitterdome is half of a warehouse. It doesn’t have high speed internet service. Derby News Network had already organized a live “textcast” from the venue. A textcast is a text-only live broadcast done by two online announcers who type the play-by-play into an online chat room. Since people had already laid the groundwork to have an internet connection for chat, I got the idea that maybe we could use the same connection for an audio-only broadcast. After talking to DNN’s Hurt Reynolds about the feasibility, and gathering some gear together, I was ready to give it a try Sunday morning.
To make the whole thing work, I would need a few basic things: two online announcers with microphones, a way for the announcers to hear themselves in headphones, a way to get the audio from the microphones into my computer, and a way to transmit a digital version of the audio from my computer to the world.
Announcers with Microphones
After talking with some of the announcers in the area, Hurt Reynolds, Gonzo, and I found that we would have enough to provide two announcers for the in-house crows plus two announcers for the broadcast.
I had two handheld microphones at home, and brought those and a pair of microphone cables.
Mixing and Audio Routing
Next, I needed a way to mix the two microphone signals, provide a channel back to a pair of headphones, and digitize the mix for streaming. I had two main approaches.
The first approach was to use my MOTU UltraLite-mk3. This is a combination mixer and audio interface. It has two microphone inputs, one headphone output, and a Firewire 400 connection to go to a computer. Configuring this thing has always been frustrating for me, because it does so many things and it’s not obvious how to tweak things using only the controls on the front panel. I got the microphone inputs set right, and was getting a good quality digital audio input at my laptop. But I never did get the headphone output to do what I wanted. So with only about 20 minutes before first whistle, I switched gear to plan B.
The second approach was to go old school and do everything analog. I took my Sound Devices MixPre, which is used for live sound mixing for film and video. After finding some AA batteries that worked (thanks to Dave Wruck for providing a backup pair), it was a simple matter to get things working. Two mic cables go in, one 1/8″ stereo link goes from the MixPre to the analog input on the Mac, and it just works. I had a 2-way headphone splitter, but instead borrowed a 5-way splitter from Brad Example (it was so cool, I ordered my own from Amazon the next day). One advantage of this approach was that Dave wanted an audio feed of the announcers, to go onto the video he was recording of the bout (not for live broadcast, but to be archived); with the MixPre, it was as simple as plugging a spare mic cable from the mixer out to his camera’s XLR input (which is what the MixPre was actually designed for).
Digitizing and Streaming
So, with an analog audio input coming into the Mac, I was using the Mac’s built-in A/D converters. They’re not really great, and I wouldn’t try to record music this way. But they’re good enough for a live roller derby broadcast.
I used software called Adobe Flash Media Live Encoder to take the audio stream and send it to an account I set up on Justin.tv. Justin.tv provides a configuration file for Flash Media Live Encoder, and that got me 80% of the way there. I just had to turn off the video stream. There’s no sense in encoding a video stream, when I knew we wouldn’t have the bandwidth to transmit it anyhow.
Justin.tv is mainly oriented to doing live video broadcasts, but there is no reason you can’t do an audio-only broadcast there. They even have a cute little chat room for viewers (or – in this case – listeners).
The basic approach to connectivity was to use a Verizon Wireless Mobile Hotspot. It connects over 3G to the Verizon mobile phone network, and then provides WiFi internet service to up to 5 devices through that network.
I set up my MacBook Pro as one of the 5 devices by entering the password printed on the back of the mobile hotspot. Then it had internet service, albeit somewhat low speed.
Everything came together perfectly, and we went on the air just in time. The first bout started, the announcers were great, and our connection with the world worked beautifully. I got a text message from Hurt Reynolds in New Mexico to say the broadcast sounded great.
But then, for some reason we still don’t understand, the internet connection turned super crappy for the second bout. The stream was having terrible dropouts, and the software was in a non-stop cycle of getting disconnected and then reconnecting. The two textcasters would type something and then it would take a minute before they could see what they even typed.
We reset the mobile hotspot a couple times, but this didn’t solve the problem. In hopes we’d get a better connection by the door, we even moved the mobile hotspot across the venue to the garage door. But the connection was still up and down. In the end, we couldn’t keep the audio feed going, and I just gave up trying. I noticed the mobile hotspot had gotten really warm, so I wonder if it’s got problems when it heats up.
We don’t really know if the problem was with Verizon’s service in the area, the mobile hotspot, or something else. For all we know, it could have been that there were too many people in the building trying to use the Verizon 3G network all at the same time. Whatever it was, it really emphasized that for even an audio-only webcast, the venue needs to have a reliable internet connection. Low speed and reliable would be better than high speed and unreliable, for something like this.