A Buyer's Guide to Live Software Encoders
Hardware normally trumps software, or at least that's the way the adage goes. But even in the world of streaming content, today's software encoders -- when combined with proper hardware -- can give more expensive hardware-centric systems a run for their money in both quality and speed.
Elsewhere in this Sourcebook, you'll read about streaming appliances as well as live hardware encoders. Each has its place, as does the software-only version of each, so let's take a look at a few questions you should ask when deciding whether to go with software or trade up to the more expensive options.
Six Questions to Ask When Purchasing a Live Software Encoder
- Do you really need live encoding?
- One encode or many?
- What about IP ingest?
- How expensive is free?
- What does the workflow require?
- What's your preferred output format?
Live vs. On-Demand Content
Start by considering this fact: More than 95% of all content on the web is delivered as on-demand content, ranging from Hulu to Netflix, Facebook to YouTube. Remember this fact when you consider whether to buy an encoder or instead to buy a transcoding tool -- several of which are discussed in other articles in this year's Sourcebook.
OK, so you've made the decision to live stream your content, and it's time to decide what to use. Choices range from basic software packages that are available for free download -- offered by the open-source community as well as major software server companies -- to very high-end, powerful software encoders. Consider the following details.
Number of Inputs
How many inputs need to be simultaneously encoded?
It's easier to choose between hardware and software encoders when it comes to a single input being encoded at a single bitrate for output as a single file format; after all, most general-purpose laptops, with a FireWire, USB, Thunderbolt, or eSATA connector, can be used to ingest both analog and certain serial digital interfaces (SDI) video signals.
Yet when it comes to multiple simultaneous encodes -- including the encoding of multiple bitrates to be able to offer adaptive bitrate (ABR) for simultaneous viewing on computers, tablets, and mobile phones -- the choice is much more complex.
Some software packages take advantage of graphics processor units (GPUs) on a laptop or desktop, enabling multiple encodes.
Many live hardware encoders perform segmentation for popular HTTP-based delivery options -- such as Adobe HTTP Dynamic Streaming (HDS), Apple HTTP Live Streaming (HLS), and Microsoft Smooth Streaming -- but only a limited number of software encoders provide this option.
For most software-based solutions, the "packaging" of every bitrate/resolution combination occurs offline, meaning that the fragmented/segmented content -- separated at each group of pictures (GOP) point in the video to allow for seamless switching between bitrates -- is often not possible within the confines of a very limited number of bitrates and resolutions.
IP Ingest Issues
Can a live software encoder provide transport stream transcoding in real time? We discuss several transcoding options in other Buyer's Guides in this Sourcebook, but there are software-based options for live transcoding of packet-based content such as MPEG-2 transport streams, and a limited few have the option to trans-multiplex from fragmented MP4 (ISO Base Media File Format) into the HLS flavor of MPEG-2 transport stream.
Sometimes Free Costs Too Much
The number of free or low-cost software encoders on the market leads to a natural question: Are these software packages equal to or better than paid software encoders?
To answer the question of free encoders, consider a few issues: First, does the hardware you'll load the software on meet the minimum specifications required by software? Second, does the operating system? Many free encoders are Linux-based.
Third, are the codecs reverse-engineered or legitimate versions of known, quality codecs? This isn't a scare tactic, but when you're spending the money to do live events, the cost of a software encoding package is small potatoes if you want to guarantee compatibility with the most recent proprietary browser-based and stand-alone video players.
That's the bottom line: For important large events, a battle-tested encoder solution is guaranteed to deliver consistent results, day in and day out. The last thing needed in a major event is someone scrambling to find another piece of hardware on which to run free software.
Assess Your Workflow
As mentioned previously, those who plan to deliver live content to more than just a single format and bandwidth -- or those with viewers who expect to be able to continue to watch the live event wherever they are -- may face very different workflow requirements from the single-stream encoding workflow.
When it comes to the ability to generate multiple bitrates and resolutions that can be served to several device types on varying network types (i.e., cellular, Wi-Fi, or fixed-line cable/DSL), the best choice is a unified encoder solution that can generate all the bitrates from a single encoder, rather than a solution that uses multiple stand-alone encoders. Not only does this guarantee consistency in terms of the GOP alignment critical for ABR delivery, but it also lowers device management complexity, overall cost, and potentially even power consumption.
Format Wars: Cease-Fire or End Game?
For all the ink about the Dynamic Adaptive Streaming over HTTP (DASH) that we've spilled on the pages of Streaming Media magazine -- and virtually on StreamingMedia.com -- it's not yet safe to say that the competition between adaptive bitrate delivery solutions is over. While Adobe, Microsoft, and others are backing DASH, Apple is firmly sticking by HLS. In addition, Adobe and Microsoft continue to push the merits of HDS and Smooth Streaming, respectively.
All this is to say that the format wars may not yet be over. Software-based encoders are the most adaptable to changes, as new formats and encoding techniques emerge, so if your workflow makes use of several ABR solutions as well as the still-kicking WebM format, you might consider a software encoder as part of your arsenal.
Numerous reasons exist for using a live software encoder, and numerous choices -- each positioned with an eye toward a particular type of workflow -- should be considered as you build up your encoding toolbox. In other words, your mileage may vary, but remember that your workflow will be the largest determining factor when it comes to choosing the best type of live software encoder for the job.
This article appears in the forthcoming 2013 Streaming Media Industry Sourcebook.