We’ve all seen the headlines about major online events—the NBA Finals, the Mayweather-Pacquiao fight, the Triple Crown races just to name a few. But how does it all happen? We might want to believe, because of the popularity of Meerkat and Periscope, that live streaming is simple – point, shoot and stream. Actually delivering a bulletproof event at scale, however, requires a host of different activities and components. So what does it take to stream a live event? Here’s a basic breakdown:
- Capture—Well first you need something to capture the event itself. In most cases, that’s a decent high-definition camera (yeah, your smartphone can work here as well or something like a GoPro Hero 4).
- Conversion—Once the content has been captured, it needs to be processed. That’s called encoding. Encoding converts the high-definition content into something that can be viewed on other devices. Broadcast-quality high-definition content is usually captured in MPEG2. Connected devices like your Roku or tablet can’t play back that format, so it needs to be encoded into something more recognizable, like MP4 or RTMP, that most consumer devices today can handle. Encoding actually requires a specialized piece of equipment (like something from Envivo or Harmonic) or software installed on a dedicated server. One thing to keep in mind – since you’re live streaming, a backup encoder should be on hand to ensure that your stream can continue to be delivered in the event of equipment failure or other problem.
- Delivery—After the content has been encoded, it needs to be delivered. Some organizations opt to handle this themselves. By setting up a simple media server (say Wowza, for example) you can provide a streamed MP4 to anyone that can connect to your server through a website or an application. But the problem isn’t with the streaming. It’s with the bandwidth.
Let’s say that you have a 1.5Mbit/s stream and you have 1000 users concurrently watching it. That means you are serving 1500MBit/s. Divide that by 8 (bits to bytes) and you come out with approximately 188MB/s. That’s a lot of bandwidth. Now if you were serving that yourself, you might be in for some trouble as that traffic could compete with your corporate network traffic. But even if you are serving it out of a datacenter, where there is ample bandwidth, your traffic could be competing with other live events. What happens to your video experience when someone else in the datacenter is serving something that goes viral, like an adorable hamster video? The links get saturated and everyone, including you, suffers. Your best bet for delivering a live event is to use a dedicated service provider, like a Content Delivery Network (CDN) that has the infrastructure and bandwidth to deliver your content at scale.
- Player—That’s right – you actually need something to playback your live event. The problem is that formats vary based on different devices. For example, on the PC you can use an HTML 5 or Flash player but on connected devices like an iPhone, you might want an application rather than relying on the Web. There are lots of “off the shelf” players you can use. One great example is Bitmovin’s Bitdash, a free MPEG-dash HTML 5 player that can fall back to Adobe Flash.
- Reporting—So your event is live and people are watching. How do you know if they are having a good experience? How do you know how many times an average user is switching bitrates? The only way to answer these and other questions is to have reporting capabilities baked into the streaming process at both the server and client level. A service like YouBora, which provides you with a code you can insert into your player, provides rich analytics to give you a complete picture of your user’s experience.
- Monitoring—It should go without saying that you can’t just flip the switch on your live event and forget about it! You need a “war room” staffed with critical resources so that you can respond in real-time to issues that may happen before or during an event. Because big live events are often collaborations between partners (for example, NBC may have had a third-party design the web experience, use a CDN, and have multiple groups within the company involved) there’s often an open conference bridge during the event so that everyone stays in constant communication.
- Archiving—There may be times when the event needs to be archived for future viewing. Some organizations like to provide finished live events as video-on-demand (VOD) so that people who missed it can still “tune in.” But that’s no easy task either. It requires special functionality on the streaming server to save the stream as its being delivered. You must also factor in the storage involved. What’s more, often times the VOD asset that’s created needs to be re-encoded (this is called transcoding and there are a host of third-party services, like com, that you can use to transform content from one format into another) into different formats and bitrates.
- Security—Although you may not need to secure your live event, there are a lot of options available should you have to, each with their pros and cons. For example, you can simply encrypt the content so no one can scrape it and protect it behind a website or application that requires login credentials. Alternatively, you can wrap your content in digital rights management (DRM) like Google Widevine, Adobe Access, or Microsoft PlayReady. That requires a bit more on the client side and can be cumbersome to end users. Finally, if you use a CDN, you can employ content restriction policies like geo-fencing that prevent specific regions from accessing your stream.
While this list may present a lot of information, don’t get scared off from live streaming events! Sure, there’s a lot of planning that needs to happen, and a lot of considerations you need to keep in mind when you are considering streaming live online but with the help of a few partners (such as those for conversion and delivery) you can carry off your live event without a hitch.
Note: this post originally appeared on Business2Community