Encoding VOD clips in the cloud has transitioned from leading edge to mainstream. If you’re considering a move to the cloud, or perhaps changing vendors, this buyers’ guide will help you identify the best category of service provider for you, and how to differentiate between services within that category.
In this guide, I’ll only discuss companies that offer their products as a Software as a Service (SaaS) or Platform as a Service (PaaS), as opposed to companies that license their software for installation in a public or private cloud, or for other internal computing infrastructure. Below, there’s a list of questions and features to help guide your analysis.
Who Are You and What Do You Want?
Several years ago, cloud encoding companies were relatively homogenous regarding their product offerings. Codecs and formats were limited, and bandwidth restrictions limited most high-volume usage to uploading a fairly compact mezzanine file for encoding to Flash and maybe HLS format. Over the past few years, things have changed, and now there are roughly four types of vendors offering cloud encoding, though things may get blurry around the edges. These are shown in Figure 1.
Primarily encoding—Services like Amazon Elastic Transcoder, Coconut, and Qencode primarily encode mezzanine files uploaded to their platforms as efficiently as possible, and assume the computing requirements and expertise required to produce high-quality, compatible video files.
Workflows, packaging, QC, and more—Beyond simple encoding, companies in this class want to assume the workflow activities that typically precede mezzanine file creation. This can include dynamic assembly, broadcast and OTT packaging, closed-caption creation and deployment, quality control, playout format support, DAI and stream conditioning, DRM and manifest manipulation, and metadata transformation. Companies like Encoding.com, Hybrik, and Telestream fall into this category.
Encoding plus—These vendors offer encoding and also one or more major ancillary services. For example, Bitmovin offers encoding plus analytics and a player, while Brightcove offers encoding through its wholly owned subsidiary Zencoder, a player, and other elements of a video distribution workflow like serverside advertising insertion. Both companies also offer full-blown online video platforms if you want to go that route.
Encoding as a component of a streaming platform—Services in this class offer encoding as a component of an overall distribution platform, which can include storage, origin server provision, and content delivery. Microsoft Azure is the best example of a PaaS, while Elemental can supply many of these components via a product or a platform.
So the first question to ask when considering a cloud service is which portion of your encoding and distribution workflow and/or infrastructure you want to offload. Then make sure you choose a provider that can supply the necessary services or infrastructure components. As part of this analysis, be sure to consider whether you need live as well as VOD, since not all providers offer a live option.
The more functionality you push to the cloud, the more help you’ll likely need to get it up and running. So if you’re pushing workflows into the cloud, as compared to simple encoding, be sure to ask about the availability and cost of consulting services, both for start-up and ongoing changes.
Where Do You Want It?
The second question relates to how you want to deploy the system. Some services are strictly available as SaaS, which works for many organizations. However, if you’ve created your own private cloud or other internal computing capabilities, you may want a solution you can install internally.
As an example, you can deploy Encoding.com in a private cloud on a variety of virtualization platforms (OpenStack, VMware, Joyent), storage configurations (SMB, SWIFT, S3, NFS), and network configurations. In addition, Bitmovin provides a managed on-prem encoding service on Kubernetes and Docker that works for VOD and live and offers the same features as their cloud encoding. Bitmovin also runs on a wide variety of virtualization stacks such as OpenStack, VMware, Mesos, DC/OS, and CoreOS as well as bare metal.
Another valid question is which cloud platforms the service runs on. Most larger services operate on multiple cloud platforms to ensure short-term operational redundancy and to reduce their reliance on a single vendor. Most smaller customers likely wouldn’t care about these issues, but large customers may share these same concerns.
Input/Output Format Support
For several years, streaming formats have been relatively static; H.264 was the codec, and Flash, HLS, or Smooth Streaming were the primary distribution formats. Many companies are now considering HEVC and/or VP9, with AV1 on the short-term horizon. On the packaging front, the Common Media Application Format (CMAF) should become increasingly relevant in 2018 and beyond. Any vendor you’re considering in the next year or so should be very far along with its plans for supporting all of these technologies.
Pricing is key when choosing a vendor, but price comparisons are not simple, primarily because there are multiple disparate pricing models. Most SaaS vendors offer either per-minute or per-GB pricing, which is simple to compute, but generally are the most expensive for high-volume customers. Also, those pricing schemes may (and should) change depending on where the software is running – if you’re running on the service’s cloud, it should be one charge; if running on your own private cloud, it should be cheaper.
When estimating pricing for services that charge by the GB or minute, be sure to consider how each service prices operations like transmuxing, which is very efficient from a CPU perspective and shouldn’t be priced the same as encoding. For example, Zencoder charges 75% less for transmuxing to HLS or DASH than it would to produce the output from scratch. Others charge full price for each output format, which obviously can have a huge impact on overall pricing.
Several services, including Elemental and Encoding.com, offer PaaS pricing, in which you buy encoding capacity and can push as much processing through the system as possible within a specified period. For example, with Encoding.com’s reserved cloud pricing, you rent one or more cloud instances for a month for a flat fee. Here, your costs are entirely dependent upon how efficiently you feed the system and what types of jobs you are running. Run it 24/7 and your cost per GB should be fairly low. Let the system lie idle for long periods during the month and you could be better off with per-GB pricing.
In yet a third model, Hybrik runs on the Amazon cloud, and you allocate machines using your own Amazon account. Hybrik charges a flat fee that depends on how many machines you can simultaneously assign to the system; 10 machines is $1,000/month, 100 machines is $5,000/month, and so on. Again, your cost per minute or per GB will vary based on throughput and job parameters, with configuration options like x.264 preset (ultrafast vs. placebo) or single- vs. two-pass encoding, which can dramatically impact encoding time per file, having a significant impact on throughput and therefore pricing.
Comparison pricing isn’t impossible, but it won’t be easy, so perform this step last, after you’ve eliminated as many vendors as possible for other reasons.
While on the topic of pricing, with all vendors it’s worth exploring how the service anticipates helping you transition your library to CMAF over the next 12 to 18 months. Many producers currently encode their mezzanine files into multiple MP4 files and dynamically package to HLS or DASH at the edge, which requires streaming software and a full-time cloud server to run the streaming software.
In contrast, files in CMAF can play in either DASH or HLS players natively from a plain-Jane HTTP server, eliminating the need for the streaming server and the associated hardware. CMAF is definitely the cheaper option, and should be considered by all streaming producers once the population of CMAF-compatible players reaches critical mass.
Of course, you’ll need to convert your libraries to CMAF to take advantage of this saving. As with transmuxing for DASH or HLS, this conversion is a lightweight operation that should cost less than encoding from scratch. With PaaS pricing, this shouldn’t be a concern, since you pay based on the processing that you use. If you’re choosing a service that offers perminute or per-GB pricing, and will have a large library to convert from MP4 to CMAF, ask how the service will charge for this conversion.
Per-title encoding customizes the encoding ladder produced for each video based on its encoding complexity and other factors. Per-title technologies encode simple clips at low bitrates, saving bandwidth costs or allowing you to push higher-resolution streams to viewers. These technologies also boost the data rate for harder-to-encode clips, ensuring top quality. Several cloud vendors, including Azure, Bitmovin, and Brightcove, already offer some variation of per-title encoding, and it should be considered a must-have feature by those choosing a cloud encoding provider.
Not all per-title technologies are alike. For example, while all can adjust the data rate to match encoding complexity, some use a fixed ladder with the same number of rungs and resolutions irrespective of content. More advanced technologies can adjust both the number of rungs and their resolutions to provide the optimum blend of quality and encoding efficiency.
So don’t just consider this a checklist feature; ask about how the technology works and learn how it compares to features offered by other cloud services. For some background on per-title, check out “One Title at a Time: Comparing Per-Title Video Encoding Options” (go2sm.com/pertitle).
Protecting content distributed via HTML5 requires multiple flavors of DRM for the disparate platforms you’ll distribute to, which means deployment technologies, like PlayReady, Widevine, FairPlay, and others. This in turn spawned the rise of multiple DRM providers like BuyDRM, ExpressPlay, EZDRM, Irdeto, and Vualto. If you already have a DRM provider, check whether the encoding service has a fully tested implementation with that provider. If you don’t have a DRM provider, check which DRM providers your candidate cloud services support to make sure you have viable options.
The vast majority of high-volume customers interface with their cloud facility via an application programming interface (API), but that doesn’t undercut the utility of a well-designed user interface. Even advanced users may prefer to encode with the UI during comparative testing, or to help create or test encoding presets. If you don’t plan to use the API, be sure to test the UI while comparison shopping, and look for features like watch folders that provide integration without programming.
Even if you’re just seeking a simple encoding platform today, it makes sense to understand where the cloud vendor plans to advance the platform. For example, per-title encoding may someday give way to encoding via artificial intelligence. As more video libraries are stored in the cloud, you’ll likely want to do more with that video, including functions like automatic metadata extraction, object detection, OCR, speech-to-text, and enhanced search capabilities.
Overall, the ability for cloud encoding and processing to bring nearly unlimited computing power to bear creates the potential for features and services beyond what’s imaginable today. For many customers, simply choosing the lowest cost provider may be a mistake; rather, choose one with a service vision that matches your vision for the utility of your videos.
Jan Ozer is a streaming media producer and consultant, a frequent contributor to industry magazines and websites on streaming-related topics, and the author of Video Encoding by the Numbers. He blogs frequently at streaminglearningcenter.com.