Common Live Encoding Workflows for Live Event Streaming
January 14, 2015 by
When it comes to live streaming, everyone is trying to achieve the same goal: deliver high-quality video to every device. Unfortunately, the industry lacks a universally adopted streaming protocol, which means if you are serious about reaching all devices, you must create multiple streams to optimize for desktop and mobile environments. Add in the desire for adaptive streaming, and a live event producer can easily be required to produce 10+ output streams for a single event.
Given these requirements, live event producers face two ongoing problems: (1) how can I encode / transcode for 10+ output streams and (2) how can I get enough outbound bandwidth to deliver my 10+ streams to a CDN?
The answer: reduce onsite encoding requirements by leveraging a cloud based workflow that uses an onsite encoder and cloud transcoding.
A hybrid media processing workflow gives the live event producer the freedom to work with limited onsite bandwidth as well as the ability to broadcast live from remote locations. Additionally, for producers with infrequent live events, leveraging a cloud workflow significantly reduces upfront costs and creates a better return on investment for broadcasters as cloud infrastructure can be rented and scaled as needed. While there are nearly infinite ways to setup a streaming workflow, below are two common live encoding / transcoding workflows for live event producers.
Option #1: Cloud Transcoding Workflow
For live video producers worried about bandwidth limitations and facilities space, a cloud transcoding solution is hands down the best approach for multi-device delivery. With this workflow, the encoder is only required to create a single high quality stream. The stream can then be transmitted to a cloud server where it can be transcoded into 2 sets of adaptive streams (technically this process is leveraging transrating and tranmuxing processes, but completed with a transcoding application). This workflow is great for small portable / on-camera encoders, and is perhaps the only option if transmitting over 4G LTE (Pro tip: use a link aggregator if transmitting over wireless).
Two major advantages of a cloud based workflow for media processing are its economics and ability to scale. The ability to deliver multi-bitrate streams with just a single high quality stream allows producers to leverage more affordable (or free) encoding hardware / software, limits bandwidth fees at the event, and reduces the amount of equipment needed on site. Best of all, especially for those with infrequent events, since most of the stream processing occurs in the cloud, it's much easier (and affordable) to scale your production capabilities as needed.
Option #2: Cloud Media Server Workflow
Another option is to rely on the encoder to create three output streams onsite and then use a media server software like Wowza Streaming Engine in the cloud to transmux /repackage those streams for multi-device delivery. Within this workflow, the encoder produces three different bitrate streams simultaneously and sends the streams to the media server to repackage the streams for multi-bitrate streaming. This workflow is perfect for live event producers looking to use a portable / free software encoder alongside a cloud media server. While this workflow still requires some outgoing bandwidth at the event, it leverages affordable technologies while also keeping the heavier video processing tasks onsite.
So which workflow should I use?
In the end, the only thing that matters is creating a set of final output streams that allows you to reach your target audience. Focusing on creating a single or small set of streams locally, and then leveraging the cloud for distribution, will save you time and money establishing local bandwidth capacity and allow you to leverage the cloud backbone for delivery and scaling. There are many iterations and variations of the above workflows, but these are common ways to successfully stream to every device.
Are you using one of these methods or a different workflow to encode and deliver your live video? Let us know in the comments. We'd love to hear about your streaming project.