Cloud Encoding

Cloud Encoding

Figure 1. A 1-hour-long live presentation with five streams and two outputs would cost less than $100 with Haivision Hyperstream Live.

Over the last few years, streaming media has assumed an increasingly important role for many organizations. Historically, the vast majority of streaming video was encoded inhouse, but encoding in the cloud is poised to play an increasingly important role, most immediately for live event transcoding, but also for encoding on-demand video. In this article, I’ll describe how live and on-demand transcoding works and discuss when they can be better alternatives than encoding internally.

State of the Streaming State

As an overview, let’s recognize two of the most important trends in streaming video: multiple platform support and adaptive streaming. Five years ago, most websites posted a single video file that played on most desktop computers, primarily in the Adobe Flash Player. Over the last few years, however, mobile support has become increasingly important as more and more viewing moves to smartphones and tablets. Web producers are also eyeing Over The Top (OTT) platforms like Apple TV and Roku as additional playback platforms.

Given the varying power and connection speed used by these mobile and OTT devices, many producers are starting to deploy adaptive streaming technologies. Briefly, these technologies encode multiple iterations of the source video file at varying data rates and quality levels, and distribute the optimal file to each viewer according to connection speed and playback horsepower.

Unfortunately, there is no single adaptive streaming technology viewable by all desktop and mobile platforms, so most larger producers are forced to support two; Flash Dynamic Streaming for the desktop and Apple’s HTTP Live Streaming (HLS) for iOS and Android 3.0 and later devices. To accomplish this, the producer must produce multiple streams for both formats. So if a streaming producer decided to produce five adaptive streams for both Flash and HLS, they would need to produce 10 total streams.

Live Cloud Transcoding

Let’s fit that 10-stream requirement into the traditional live event workflow. First, you’d need encoding hardware onsite sufficiently powerful to create all 10 streams in realtime, which likely would cost $20,000 or more. In addition, you’d need sufficient outbound bandwidth to transfer all 10 streams from the event to your publishing point, which could mean well over 10Mbps, which isn’t generally available, particularly for onsite events.

Live cloud transcoding solves both problems. Rather than producing 10 streams onsite, you encode a single high-quality stream and transmit that to the cloud encoding facility. There, the single stream is re-encoded into the 10 required streams, which are properly formatted for each adaptive streaming technology. This obviously reduces both the cost of onsite encoding and the bandwidth requirements for getting the stream out of the building.

How much does this service cost? Figure 1 shows a cost estimate from Haivision Hyperstream Live for a 1-hour presentation with five streams (outputs) and two targets (Flash and HLS). The estimate is for 658 credits; at $.15 per credit, that’s $98.70.

As you can see in Figure 1, Hyperstream is a web-based service. Another service option is from Zencoder, a Brightcove subsidiary that is currently beta testing its live trancoding services. While pricing is not yet final, the Zencoder rep I spoke with estimated a cost of around $10 per stream per hour, or around $100 for our 10-stream hour-long presentation.

If you’d like to own your own software, either installed in the cloud or within your own service center, your best option is the Wowza Transcoder, which costs $495. Wowza also offers several leasing options, which cost as little as $2.00 per channel/day. Obviously all this pricing seems very attractive if your alternative is a $20,000 hardware encoder, and perhaps a satellite truck to ship your streams to your publishing point.

Cloud Encoding

Figure 2. Ace Metrix switched to the cloud for encoding about 1,000 videos a month.

Encoding Video On-Demand Files in the Cloud

If you’ve uploaded video to YouTube, Vimeo, or another user-generated content (UGC) site, you’re already used a cloud encoding service. In fact, operationally, most cloud encoding services work like YouTube, except that you get to choose your own encoding parameters.

The value proposition for cloud encoding of existing video files is clear. Rather than invest in your own encoding hardware and software infrastructure, and develop your own inhouse encoding expertise, you can access both at a fraction of the cost via a cloud encoding service.

Given the realities of the streaming market discussed above—multiple platform support and adaptive streaming—many producers find themselves in the position of having to encode many more streams than required in the past. Again, cloud encoding to the rescue: encoding parallelization that’s there when you need it with no charge you when you don’t. A cloud encoding facility could produce the required files in a fraction of the time of a desktop encoder because it can spin-up dozens, hundreds, or even thousands of encoding instances to get the job done faster. Once the encoding is complete, you’re not charged for this capacity.

For some users, however, cloud encoding comes with a significant negative, specifically file upload time. That is, if you’re working with large source files, upload time can be quite lengthy. Though all cloud vendors enable batch uploading and use a number of upload acceleration technologies, it still takes much longer to upload a file than to transfer it to your encoding station in your own facility. That gap is narrowing, however, as upload speeds are getting faster and cheaper, with 35Mbps to 100Mbps upload speeds available in larger cities.

To get a feel for what’s motivating some organizations to switch to the cloud, I spoke with William Parducci, the CTO of Ace Metrix, about its switch from a desktop encoding tool to a cloud encoding service run by Sorenson Media. Briefly, Ace Metrix is a market research firm that measures the creative effectiveness of in-market television and video advertising. As part of their service, they encode about a 1,000 videos a month into multiple formats, uploading to the service via a 100Mbps connection.

Parducci’s motivation for switching from a desktop system to the cloud was “to put an end to worry about software upgrades and hardware repair.” But it was the cost savings, reliability, and scalability that really sold Parducci on the system. When I asked Parducci about the economics, he responded, “When you consider that Sorenson is providing an instance of a transcoder 24/7 for a couple hundred dollars a month—that requires no maintenance, upgrades, monitoring, etc.—it is a pretty easy sell to the accounting guys.”

Then, regarding system reliability, he continued, “That said, it is actually as much a reliability play as a cost savings. It is important that we get these ads transcoded in a timely manner. In addition to not having to worry about hardware/power issues on the terrestrial end, Sorenson allows me to add instances (additional encoding capacity) when I need to step up the horsepower. That is very valuable to us.” Overall, large companies are moving to the cloud for the cost, reliability, and scale factors discussed by Parducci, while many smaller producers simply want an affordable way to produce the required video files without buying any hardware or software or developing inhouse expertise. Large, small, or in between, cloud encoding is becoming an increasingly viable option for many streaming producers.