There are two distinct markets for cloud encoding: video on demand (VOD) and live. I’ll address them individually in that order.
Cloud Encoding for VOD
Let’s start with a brief look at the organizations that should consider VOD cloud encoding. For many organizations, the biggest previous objection to cloud encoding—upload time—might no longer be an issue. Specifically, if you’re producing multiple adaptive packages to deliver from the cloud, it’s probably more efficient to upload a single file and create the packages in the cloud, as opposed to encoding locally and uploading the resulting streams.
Beyond this dynamic, if you’re encoding third-party files uploaded to you, as in a user-generated content scenario, cloud encoding is a natural. Ditto if your encoding needs are low-volume and/or sporadic—why invest in encoding hardware, software, and expertise if it’s not important to your business? At the other end of the spectrum, if you have generally consistent encoding needs with only occasional spikes, you should consider the cloud for these overages.
All that said, no matter what business you’re in, the benefits of cloud encoding are so compelling, that the next time you face a major encoding purchase decision, you should strongly consider a cloud solution. Here are the key questions you should consider when choosing a provider.
START WITH A LIST
The first step in an efficient selection process is weeding out candidates who simply don’t meet your needs, so start with the hard questions. To accomplish this, create a list of all formats that you’ll upload and the input locations you’ll upload from. Then list all the output formats you’ll need, as well as the delivery locations and any related requirements. Pay particular attention to digital rights management (DRM) and captioning, which smaller or newer cloud vendors generally don’t support.
Be as specific as possible about the other items on the list. For example, make sure early on that your candidates support the formats you’ll be working with. If you prefer to upload from a watch folder or an S3 bucket, check that too. If you need delivery to a CDN or Amazon Web Services S3 bucket, check that as well. Many of the encoding services that are ancillary to a cloud platform, most notably Amazon’s Elastic Transcoder, have significant limitations in all these areas.
DOES IT INTEGRATE?
Once you’ve weeded out suppliers that can’t get the job done, it’s time to look at integration. Specifically, if cloud encoding will supplement existing on-prem encoding, startup and ongoing operations will be easiest if you have a single point of control and can use the same presets. Multiple vendors, including Elemental and Telestream, provide both of these features. In addition, Harmonic offers ProMedia Carbon as a software product, as a cloud-based service in the AWS Marketplace, and through Encoding.com with integrated control and shared presets. If you’re encoding locally now but are looking to the cloud, see if your on-prem provider has a cloud offering.
WHAT’S THE OPERATIONAL PARADIGM?
There are four primary cloud encoding models, each with its own set of strengths and weaknesses:
- Software as a Service (SaaS): You upload your files into the cloud and pay based on usage. You have no CAPEX or internal OPEX and require minimal encoding expertise. The service is in charge of apportioning additional CPUs as required to provide adequate performance to all customers, but no customer has dedicated CPUs.
- Platform as a Service (PaaS): You lease a certain number of CPUs per month, all of which are dedicated solely to your operation. When you press the Go button, the files start to encode. Beyond the monthly fee, you pay for the CPU hours consumed each month.
- Private Cloud SaaS: You access the service like a cloud SaaS, but the operation runs on proprietary hardware. This can lead to outstanding performance, but could limit the company’s scalability.
- Roll your own: You lease the cloud hardware and install and manage the encoder in the cloud. You save CAPEX on the hardware, but have to buy, install, and maintain the software, and supply the encoding expertise. You get instant, dedicated access to the cloud when needed, but limited scalability since you’re in charge of provisioning additional cloud instances and software.
To be clear, in some instances, these definitions present distinctions without a difference, particularly between SaaS and PaaS. Some SaaS providers obviously deliver short queue times and competitive encoding times to customers that include MTV and Funny or Die. Where PaaS vendors contractually deliver instant access to encoding, the near-infinite scalability of the cloud ensures that SaaS vendors deliver practically the same access.
IS IT USABLE?
Make sure that the operating paradigm suits your expertise levels and desired modes of operation. Low-volume encoders might want to create presets in the cloud interface and upload files manually or via a watch folder—not all cloud vendors support this. At the other end of the spectrum, high-volume users need an API for automated operation and reporting. If you’re in this class, have your programmers look over the API documentation early to understand if it meets your needs and to provide an estimate of how easy the integration will be to implement and support.
HOW’S THE QUALITY?
All encoding vendors, cloud and otherwise, claim superior quality; perhaps it’s in their DNA, or maybe they just assume it’s expected. However, I’ve run multiple qualitative comparisons of cloud encoding vendors, and the differences have been minimal. Logically, this makes sense; many cloud vendors use the x264 codec, which is well-documented and mature, so the output quality should be similar among all implementations. Other vendors—such as Elemental, which has its own H.264 codec—have been competing with x264 and other H.264 codecs for years, and have achieved similar quality. So in general, unless your tests show otherwise, I would ignore all quality claims.
One recent claim that I haven’t yet tested is the QuickFire.TV’s claim of 30 percent better quality at the same file size. Obviously, higher quality is always better, but I would verify these claims before making a buying decision.
HOW’S THE PERFORMANCE?
I did find significant performance differences in the various trials that I’ve run, though to some degree, performance can relate to the operational paradigm of each service. That is, with PaaS you’ll get one set of results if you allocate a single CPU to the encoding task, but quite a different result if you allocate 10 CPUs and have them spinning and ready when you start the job. Again, QuickFire.TV owes its results to running on its own hardware in a private cloud.
In general, the major SaaS vendors, Encoding.com and Zencoder, performed similarly in my trials. Amazon’s Elastic Transcoder took more than twice as long, making it a poor choice for companies requiring the absolute fastest encoding time. At the other end of the spectrum, QuickFire.TV was exceptionally fast, finishing all encoding in less than 20 percent of the time required by the second-fastest encoder.
Obviously, performance matters if you’re racing to publish time-sensitive content. On the other hand, for most other encoding chores, the difference between an encoding time of 20 minutes and 2 hours might not be that significant.
WHAT DOES IT COST?
Pricing model and cost are where you’ll find the most significant differences between the cloud offerings. Unfortunately, you’ll have to work very hard to gather useful comparative data on these points for multiple reasons. First, there’s a big difference in pricing between Elemental’s PaaS model, where price depends on reserved CPUs, and SaaS models that simply charge based on usage. Second, some SaaS providers charge by the encoding minute (Zencoder, Amazon) while others charge by GB in and out (Encoding.com, Heywatch).
Third, many vendors have individual pricing tweaks. For example, Zencoder charges 25 percent of the normal cost for files produced via transmuxing, so you would pay full price for MP4s, but only 25 percent of that price for the MP4s converted into HLS or HDS. Encoding.com offers some premium price levels for higher performance, and QuickFire.TV offers three pricing models based on encoding time and quality. All vendors adjust price based on monthly commitment, and if you’re big enough, I’m guessing most vendors would throw the price list out and negotiate from scratch.
To estimate pricing across the board, you’ll have to quantify the number of files you’ll encode each month, their duration, input size, output size, how quickly you’ll need the files, and how firmly you’re willing to commit to these quantities. You can get a long way using the price schedules most vendors supply, but to get information that you can rely on, you should verify the numbers with a sales rep.
TEST, TEST, TEST
Most cloud providers offer a reasonable number of test encodes, which you should use to ensure compatibility with your existing workflows. Compatibility shouldn’t be a problem, but you never know for sure unless you test.
Now let’s turn our attention to choosing a cloud encoder for live production.
Cloud Transcoding for Live
A live cloud transcoder inputs a single live signal and transcodes that signal into multiple files. So, you might transmit a single 720p, 5Mbps stream into the cloud, which the transcoder converts to six separate streams for adaptive delivery. After transcoding, the cloud transcoder can transmux the streams into different container formats for delivery to multiple platforms, such as HTTP Live Streaming (HLS) for iOS devices, and HTTP Dynamic Streaming (HDS) for delivery to Flash-based desktops and notebooks.
Live cloud transcoding has two key benefits. First, because you’re only creating a single stream onsite, you can use a very inexpensive live encoder. Second, again because you’re only sending a single stream to the cloud for transcoding, your outbound bandwidth requirements are minimal. With live cloud transcoding, you can provide an adaptive live experience where it wouldn’t be possible if you were encoding onsite. These two benefits make live cloud transcoding beneficial to virtually all live event producers who haven’t already invested in an expensive multiple stream encoder and the bandwidth necessary to push the encoded streams into the cloud.
START WITH A LIST, AGAIN
As you would expect, most of the relevant questions asked of live encoder candidates are similar, if not identical, to those you would ask to a VOD provider. Start with a list of required formats and input and output points, and make sure the live service provider can check all the relevant boxes. Ditto for DRM, captions, and other extras. If your existing on-prem or VOD cloud provider has a live service offering, check that out as well; it’s usually simplest to work with one company than two.
You have the same roll-your-own option as described above with the Wowza Transcoder, which you can deploy on a variety of cloud platforms, including Amazon EC2, Rackspace, and Microsoft Azure. You can also choose from among several SaaS providers, most notably Zencoder, which was among the first in the space, and Elemental, which was one of the first appliance vendors to move to the cloud.
Interfaces vary by service provider; some are scripting only, while others offer a traditional user interface. As with VOD cloud encoders, be sure to choose a provider with an interface that matches your technical capabilities.
While I haven’t tested live transcoding quality, I would expect it to be relatively uniform among the service providers for reasons described above. Performance should not be an issue; the providers can either create the required number of streams or not. Pricing varies among the various providers, though there’s a great deal more uniformity than with VOD providers.
SERVICE IS THE THING
Service is a huge differentiator, since if your live transcoder fails, so does your event. Make sure the provider offers live telephone support during the hours you’ll be broadcasting, determine what it costs, and ask if there are any service-related guarantees. I would also check if the provider offers a free test broadcast; if not, produce a test anyway. You never should go live with a new provider on a mission-critical event without completing a live run-through first.
[This article appears in the 2015 Streaming Media Sourcebook as “Cloud-Based Video Encoding and Transcoding.”]