I get tweets, emails and phone calls weekly from people asking various questions about how we rock the internet campus at Gateway Church. It‚Äôs probably a good idea for me to put those thoughts and answers in one place.
Read the rest of the series – internet campus answers
The foundation of an internet campus is the content itself which comes in the form of streaming video. There are a lot of options out there when it comes to streaming video and there are a few things to consider, not the least of which is the decision of going live or ‘taped’. I can’t speak to all of the other options, but I can speak to what we have done and are doing at Gateway Church.
How streaming video works
If you have ever worked with video, then you know that the files in question are big. Streaming video across the internet is not as simple as putting up a web page on your average web hosting account at GoDaddy. If you put a video on your average server like the one your church’s website is sitting on, it would be fine for a few viewers to watch, but once it starts to get hit by even 100 people at one time, it will bring that server to it’s knees.
This is where a Content Delivery Network (CDN) comes in. These are massive and robust networks of redundant servers all around the globe that can handle huge traffic and serve rich media at high speeds. Sites like YouTube, Hulu and Netflix all serve there video off of some sort of CDN whether it be their own network or a third party.
Here’s how it works, you upload your content, live or taped, to one of your CDN’s servers that is geographically closest to you and they distribute the media across their network from there. The CDN distributes the content in real time across a robust network of servers around the world. When a user visits your content, they are served the media from the nearest server to them.
Video Encoding Basics
This is a massive concept and I will try to boil it down to a few key concepts. I’m going to assume that the source of your video is at least standard definition or high definition video camera or switcher and you want to stream that content to the web. You may or may not be aware that the quality and encoding of the video straight off your camera is not optimum for streaming on the web. That is to say that the file size is too big.
Basically you need to get your video from your camera or switcher into a computer. Generally this is done with hardware in the form of outboard firewire/USB devices or cards in the computer. One popular unit is the ADVC300 from Grass Valley.
You may already have a switcher that outputs firewire or USB which could mean you have all the hardware you need.
Your video needs to be encoded in a way that makes it a small enough file to stream on the web.
Your workflow will look something like this:
Camera/source > Encoder > Upload > CDN > User
There are a lot of options out there that encode on the CDN side and this is not optimum since the speed at which you can upload full res video isn’t too good. That setup would look like this:
Camera/Source > Upload > Encoding > CDN > User
Basically you want to PUSH the same file specs to the web that your end users will view (so much as is possible). Any work that needs to be done to the video shouldn’t happen over the internet, that would reduce your performance and/or increase your cost.
The most common form of encoding is flash, for many reasons, primarily because it has the broadest user base and most of the popular streaming providers are setup to stream flash, usually with an h.264 codec. The good news is that the app you need on your end to encode is FREE! Head on over to Adobe and get Flash Media Live Encoder. I suggest getting a free UStream.tv or livestream.com account to fiddle around width. Search their forums and Google to get instructions on using Flash Media Encoder to stream live.
Streaming Providers (SMSP)
There are countless streaming providers out there and a lot of them do a really good job. You’re going to have to spend some time on the phone and maybe get some demos too. There are a lot of turnkey solutions where they roll in everything including encoding hardware in a package. This can be nice if your team has limited abilities. If you have a skilled crew you can opt for some of the more raw options and possibly save some cash. For what it’s worth we use Limelight Networks, great for us, not super easy for a rookie to step into.
SMSP aside #1- Don’t skimp, this is the backbone of your streaming experience. Ask around and see if the provider has a good record of uptime and customer service. Value engineering rarely pays off.
SMSP aside #2 – Beware of resellers who sell streaming services from bigger providers like Akamai or Limelight. Resellers are great if they provide an extra layer of support, features, hardware or even UI; 316 Networks does a good job of this. Resellers suck if all they are doing is reselling the same thing you could get cheaper by going straight to the source.
Those are the basics. Obviously there is so much more information in this area and it is changing all the time. With HTML5 coming into play now, things could really get interesting.
Next time I will get into the user interface side of Internet Campuses.