On a daily basis I see mistakes being made with live streaming video. Having worked in this space for about four years now (considering Live Flash only came around in 2007 it’s a while in this space) I figured it’s worth putting forth some best practices. So here is the first in what may be a series of posts on how to do things better when working with live streaming video for the first time. Hopefully some will find it helpful.
Bandwidth is critical: Online video is not TV. Every viewer you deliver content to adds to the incremental cost of delivery, and every one of those viewers will have a different experience watching because of their connection speed. Quality on the web is measured by the bitrate.
You will need to factor in several things:
- Your upstream connection speed. Whenever you decide to go live the first thing you should do is test the connection speed. Then set the encoding bitrate based on this. As you begin to plan it may make sense to upgrade your existing connection or get a dedicated line to ensure that you have a consistent upstream connection with several hundered Kbps overhead above the bitrateÂ you plan on encoding at.
- The downstream connection speed of your viewers. While Akamai says the average connection speed is over 4Mbps, in my experience viewers begin running into trouble viewing live video at rates well below this. A good quality streaming bitrate that most viewers in the U.S. willÂ have no trouble seeing is 700Kbps, you can go above that if you have the upstream on your side, but you risk cutting out a percentage of your audience.
- Cost: Most likely you will pay for bandwidth, so the higher the bitrate you choose to encode at the more money you will shell out.
Platform is secondary: In my day job I work for a platform but the platform you choose is not likely going to be a critical factor in your success until you have a massive audience and the budget to start doing really complex things (encoding multiple bitrates for adaptive bitrate streaming, selling subscriptions etc). That said, a few distinctions are worth making.
- Turnkey live platforms (Justin.TV, Livestream, Ustream are the top 3) provide live streaming for free with advertising or ad-free with additional features for a cost. Make no mistake, bandwidth is not cheap and these will offer a good way to go live and reach a large audience, you can set up an account and go live in minutes. but opt for the paid version the cost will be higher than most CDNs.
- CDNs: These provide content delivery services as their primary business. Most offer some player solution as well but their costs are high until you reach significant volume and the additional services in terms of player and features are often limited. If you go this route you should have a developer who you can work with to build a flash player and a little more technical integration.
Your best bet is to set objectives, estimate your audience size and come up with a budget which you can then use to make these decisions. Then choose the platform that best meets these objectives.
Production is key: Take pride in your event. Here is a simple step by step guide for each time you setup your live broadcast.
- Internet connection: Remember, this is make or break. Testing the connection should be the first thing you do when you get on site for a live event.
- Encoder: Know where you will setup the computer you use for encoding and make sure you have proper access to the internet and wiring for all video and audio sources. Make sure that your computer can handle the processing load that will be required. (A single camera broadcast at 720×480 can run the CPU usage up above 90% even on some newer computers so monitor CPU usage.) After testing the connection to ensure you have sufficient bandwidth set the encoding bitrate adjusting so that you have some upstream bandwidth overhead.
- Cameras: If you do a multi-camera shoot you will likely need a video board for switching or a program like Wirecast which can take multiple camera inputs and handle the switching. If the cameras are far apart you may need additional wiring such as Cat5 cables to reach all of them.
- Audio: Even more than most productions audio is critical in live streaming, and part of what makes what seems like a simple thing so complex. Viewers understand internet video may not be TV quality yet, but they won’t forgive bad sound. So if you’re streaming an event with multiple speakers the shotgun mic on your camera probably won’t cut it. Get each of them mic’ed up and have an audio board for mixing.
- Test. Once you have everything setup and are feeding audio and video to the encoder test it to make sure it looks and sounds as it should. Give yourself plenty of time to make adjustments.
That’s really all there is to it. There are some cool technologies making web video better, and some great ways of monetizing it, that’s what we like to write about most but considering how many people are now using live video for the first time it’s worth discussing what it takes to start small. Soon enough adaptive bitrate technology and mobile streaming in high quality will be available to the masses as well.