I had the opportunity to meet Dennis Crowley last year, when he accepted our invitation to speak at CatskillsConf 2015. While there, he hinted that he had a “secret project” that would be coming to our town in the summer—and then he delivered a 4th division semi-pro soccer team, right to our back door.
So when Dennis said, “I think it would be great if we could have the games streamed,” our team immediately started to cook up a plan. This is the story of how we bootstrapped what we think is pretty good-looking internet broadcast, from scratch.
Initially, our ambitions weren’t that grand. At a minimum, we thought it would be great to get a quality stream up on Facebook, which meant we’d need quality Wi-Fi at the stadium. This is where we encountered our first challenge—there was no quality internet at the stadium.
However, we didn’t let that stop us. Realizing that our office was almost in the line of sight of the stadium, and having some experience with point-to-point internet backhaul from constructing the Ashokan Center outdoor wireless for CatskillsConf, it occurred to us that we could beam our nice, dedicated, fiber internet straight to the stadium.
Direct line-of-sight connection between EMN and Dietz Stadium. (~0.5mi)
So we asked Stockade FC to make the only new equipment investment we’d end up requiring, a pair of Ubiquiti Networks Rocket M5s along with accompanying RocketDish antennas, and we set them up. This involved segmenting out our office network to provide a discreet subnet specifically for the Stockade, wiring up an outdoor wireless access point, setting up a public network, and establishing privileged access to our Facebook streaming device (an iPad) on our own network back at the office.
Dan Stone, Chris Short, and the Stadium Side of the Link (Photo Credit: Phoebe Ogawa)
I shot the first game myself, and it was was great for the first game and our streaming prototype. We had about 40 people watch the stream live, and the comments started rolling in. But once we saw this… we thought we could do better. For one thing, Facebook’s square streaming format, though cool for liveblogging, really didn’t fit the rectangular format of a soccer game (or most sports games, if you’re hearing me out there, Mark). Secondly the nature of Facebook’s live streaming system caused streams to need to be regenerated if there was any interruption in the stream, resulting in multiple copies of the stream showing up on Facebook. In our case, we found that our iPad crashed repeatedly after about an hour of streaming, due—we think—to storage issues.
So for the next day, we planned a bit of an upgrade: get a better camera and move the stream to YouTube.
We grabbed a BlackMagic Intensity we had lying around, loaded up our copy of Open Broadcaster Software, and drafted Chris Short, the video production specialist at DragonSearch (Stockade FC sponsor and our neighbor in uptown Kingston), to get up on the roof and shoot the game.
First step here was to get the press box more equipped. We broke the incoming signal out into a switch, giving us a wired connection to the network, and set up a little mini-control room in the press box. For our second stream, we got the overall stream quality way up, and we never had less than 100Mb/s of internet connectivity. This was getting fun. For this game, we had about 50 people watch, and felt like we were getting really successful.
At this point, I was feeling pretty jazzed, and we started to get ambitious. We thought for the next weekend it would be great to add two things: titles and graphics, and announcers!
Will Khuns and Dan Stone in the Booth (Photo Credit: Phoebe Ogawa)
Dennis reached out to a friends of his from Major League Soccer and the soccer community Will and Andrea Kuhns, who became our staple announcers for most of the season.
My partner Kale Kaposhilin went ahead and rigged up a little announcers’ booth, doubling up the mixing board we were using for the stadium audio to handle the stream audio as well (and giving me a bit more to think about while pulling everything together).
For titles and graphics, I decided to put some of my programming skills to work, and built a command line Ruby application designed to create a database of player names and soccer events (score, red and yellow cards, substitutions) and build them into text files that could be ingested by the broadcasting software. And it all came together on the third game. Check it out: