Buyers' Guide to On-Prem Encoding 2019
One of the more memorable findings from the Streaming Media/Beamr survey and report entitled "Real-World HEVC Insights: Adoption, Implications, and Workflows” was that 61% of respondents were still encoding on-prem while 21% encoded via a private cloud. Though there was, no doubt, some concurrency between the two numbers, that’s a lot of folks who didn’t get the memo that on-prem encoding was passé and it was time to move to the cloud. Mindful of the classic, apocryphal Michael Jordan quote, “Republicans buy sneakers too,” we decided to create a Buyers’ Guide for these obviously backward-thinking survey respondents.
Get instant access to our 2019 Sourcebook. Register for free to download the entire issue right now!
Just kidding, of course—our (hopefully) witty way of highlighting that, despite the dozens of white papers and articles detailing how the cloud can slash encoding costs and generally improve the lives of all encoding professionals, most are sticking to what they know and what works—on-prem encoders. If you’re in this group, this is your Buyers’ Guide. To be perfectly clear, we’ll focus on VOD encoders only, not live encoders, and we’ll try to touch on all relevant categories of encoding tools.
As always, the listing of products in this guide is meant to provide examples, not to be exhaustive. Companies searching for an on-prem encoder should augment this guide with their own research. If you’re an encoding vendor and your company was not mentioned, please add it as a comment to this article on the Streaming Media website.
Interestingly, the Beamr survey also identifies the obvious starting point for any on-prem encoding guide, as FFmpeg was deployed in 36% of production workflows. So let’s start there, and work our way up to more sophisticated production encoders.
FFmpeg is the free, open-source, command-line encoder/decoder that’s available for Windows, Linux, and the Mac, and can be compiled for other operating systems. FFmpeg is the engine for many encoding products and services, as well as encoding workflows for companies like Netflix and YouTube. Originally shipped in December 2000, FFmpeg recently turned 4.0, most notably adding support for the Alliance for Open Media AV1 codec. FFmpeg includes high-quality, software-only codecs like x264 and x265 along with Intel and NVIDIA codecs that can be accelerated when running on systems with supporting hardware.
Beyond encoding, FFmpeg excels at a wide range of useful ancillary functions from splitting and concatenating files without re-encoding to injecting text into encoded files. Though FFmpeg can’t directly produce variant playlists for HLS or MPD files for DASH, you can add other open-source tools like Bento4 to a simple pipeline and produce HLS and/or DASH output, including DRM and captions. In fact, one of the tutorials in this issue details how to set up a watch folder with Bash scripts that uses FFmpeg and Bento4 to encode files dropped into the folder into a multiple bitrate ladder packaged for HLS and DASH.
While command-line processing with FFmpeg is relatively simple, usability obviously trails most programs with a GUI. In addition, adding workflow-like functionality to FFmpeg requires real programming and isn’t available to the casual user. If you’re looking for an encoder that’s easy to plug into a workflow with pre- and post-encode quality control, for example, FFmpeg is not it.
Adobe Media Encoder
The Adobe Media Encoder (AME) is the final step for most Premiere Pro and After Effects productions, and it performs well in most cases as the creator of mezzanine files for uploading to other sites for encoding for delivery. Ditto for the encoder in Final Cut Pro and, presumably, Avid Media Composer. AME also includes many presets for cameras and devices, though it can’t produce packaged output for HLS or DASH distribution.
There are a couple of fringe use cases where Premiere Pro and AME fall short. The first relates to encoding screencam- or PowerPoint-based videos to mezzanine files for uploading to a production encoder, which impacts anyone creating instructional tutorials. In these cases, an encoding technique called constant rate factor (CRF) is ideal, since it adjusts the data rate to maintain quality. AME doesn’t support CRF encoding, so you either have to guess at a data rate that would maintain quality or encode at a very high bitrate and extend your upload times. As an example, for a recent PowerPoint-based course, CRF encoding reduced the mezzanine file size (and upload time) by about 80% with no visual difference between the mezzanine file produced by AME and the other produced with CRF encoding using a free, FFmpeg-based encoder called HandBrake.
Premiere Pro falls short when importing movies shot with an iPhone, which are encoded with a variable frame rate. When input into Premiere Pro natively, these iPhone videos lose synch within a minute or so. One solution is HandBrake, which we wrote about at go2sm.com/handbrake. None of this should be taken as a critique of AME, which functions well in 99.9% of encoding tasks. Rather, it’s an introduction to another class of desktop encoder, of which HandBrake is a member, that I’ll call FFmpeg Front Ends.
FFmpeg Front Ends
There’s a list of programs that provide a GUI for FFmpeg at go2sm.com/ffmpeggui, to which I’ll add programs like XMedia Recode (go2sm.com/xmedia). Unfortunately, other than HandBrake, most of the programs haven’t been updated since around 2015, which makes them difficult to recommend. I have HandBrake installed on most systems in my office, indicating its utility.
This is one category where my research yielded fewer options than might actually exist. Over the years, I’ve heard of FFmpeg front ends that could provide a range of functions, but never actually downloaded and tried them. The potential benefit of these programs is a lot of functionality at a very inexpensive price, if only to jump start the FFmpeg programming you’d otherwise have to do by hand. If you’re looking for an inexpensive way to acquire the functionality discussed in the next category, don’t give up on this one.
Production Encoders and Packagers
The final category includes production encoders and packagers that input mezzanine files and output packaged HLS/DASH files ready for distribution. While there is plenty of overlap between these categories, there are roughly three types of companies and products in this market.
- Traditional on-prem encoders for deployment on traditional platforms. These are products purchased as software-only or hardware/ software combinations primarily for deployment on a single Windows or Linux workstation. Companies and products in this category include Ateme (Titan File), AWS Elemental (AWS Elemental Server), Capella Systems (Cambria FTC), Elecard (Converter Studio VOD), Harmonic (HFS and ProMedia X Origin), Imagine Communications (SelenioFlex File), Media Excel (HERO File), MediaKind (formerly Ericsson, Encoding On-Demand), Telestream (Vantage), and Spin Digital (Spin Enc). Though you might be able to deploy the licensed software in a private or public cloud, these programs are primarily installed on a single computer or workstation.
- Encoders designed for deployment in a private cloud or other virtualized environment. Companies here include Imagine Communications with Selenio One XC and Harmonic with its Electra XVM and VOS SW Cluster products.
- Cloud encoders available for deployment in a private cloud or other virtualized environment. Companies in this group include Bitmovin and Encoding.com.
What’s interesting about the third category is it has changed the pricing model. Where vendors in the first category typically charge a lump sum license for the software plus annual support, vendors in the third category may also offer per-minute or per-GB output pricing, reducing CapEx and bringing SaaS pricing to on-prem encoding.
Last week, peer-to-peer video encoding company Livepeer announced $8 million in Series A funding. We ask the company's CTO for details on his company's unusual, possibly revolutionary, business model.
The encoding ladder served its purpose, but as streaming becomes more nuanced a ladder just doesn't provide enough options. It's nearly time for the video matrix.
2018 was the year that context-aware encoding (CAE) went mainstream, but 2019 will be the year that context-aware encoding reaches critical mass.
Per-title encoding is now a required feature on most encoding platforms. Here's an overview of the features to look for, and how to get the most out of them
Many of today's live video encoding solutions require extensive compute resources, limiting the ability of live streaming business models to economically scale. This article will introduce a new real-time video encoding solution, combining the performance of System-on-Chip (SoC) encoding, with innovations from NVMe-based cloud infrastructure, which together provides an economical and high quality solution to deliver encoding at scale for live video streaming.
Companies and Suppliers Mentioned