- Streaming production
- Streaming fundamentals
- Encoding your video
- Choosing production tools
- Distributing your video
- Video tutorials
- Peer review
Per-Title Encoding: It's Everywhere!
Netflix started the per-title encode optimization revolution in December 2015, and now per-title encoding is showing up in more and more places. Why? Because it improves the quality of hard-to-encode videos, and saves bandwidth costs on easier-to-encode videos. If per-title optimization is not available in your encoder or encoding service, it's time to start demanding it.
OK, perhaps the title echoes of click bait, but if it grabbed your attention, hopefully you'll find the time well spent.
As you may recall, Netflix started the per-title encoding revolution back in December 2015. You can read their original blog post on the topic, Per-Title Encode Optimization, here, or my description, How Netflix Pioneered Per-Title Optimization, here. The bottom line is that all videos are different, so fixed encoding ladders are inherently inefficient or inadequate, depending on the complexity of the video. Soon thereafter, YouTube announced their own scheme, which you can read about here.
More recently Capella Systems announced the latest version of their VOD encoder Cambria FTC, with a Source-Adaptive Bitrate Ladder (SABL). What's that, you ask? Here's the description, "Automatically adjust the bitrate ladder used for DASH, HLS, or Smooth Streaming based on the encoding complexity of the source video." I recently wrote a review of Cambria FTC that will publish in the fall, but the bottom line is that SABL works, and it works well.
Now, Microsoft has announced Stream, their enterprise YouTube product (my characterization, not theirs), which I'll review for Streaming Media in the next few weeks. Here's a description of how Microsoft encodes video with Stream.
Once the number of renditions is decided, the next stage is to determine the bitrate for each rendition. Naturally, higher the quality of the rendition, the more bits it requires - but not all videos are created equal. Different types of videos require different bitrates to achieve 'high quality' - so we needed to be smart about choosing the bitrate. Here too, our experience with Office365 Video came in handy. We've observed, for example, that marketing videos are delivered at high bitrates, since they were most often produced by professional agencies. We also receive a ton of PowerPoint presentations which are captured at full 1080p HD resolution, but at very low bitrates - the screen has mostly static text content. And of course, there are legacy Windows Media videos that were authored for delivery over dialup connections on VGA monitors.
We used all this information to come up with a simple yet elegant function that measures the characteristics of the input video, and comes up with a recommended bitrate for that rendition. In our tests, this function is holding up well - the marketing videos end up getting encoded at close to 6 Mbps at 1080p, whereas a PowerPoint presentation would use just around 500 kbps.
I asked Microsoft to send me a couple of paragraphs defining "simple yet elegant function," but I haven't heard back yet. I'm guessing it involves Constant Rate Factor (CRF) encoding, which plays a role in YouTube's and Capella's per-title approach, and was considered by Netflix. You can read about how to use CRF encoding to choose a target data rate for disparate videos in my article, How to Use Objective Quality Measurement Tools, here. There's also a useful technique from compression expert Kevin Moore described here. I'm not getting into CRF encoding any further in this post, because the point is not about the how, it's about the what and when.
Specifically, if you're an encoding vendor, and you're not already close to announcing a per-title solution, you are behind the curve. If you're a major content distributor, and per-title is similarly not on your short term to do list, you're either wasting bandwidth, delivering subpar quality, or both. Get on the phone with your encoding people, and get the ball rolling.
About the Streaming Learning Center
The Streaming Learning Center is a premiere resource for companies seeking advice or training on cloud or on-premise encoder selection, preset creation, video quality optimization, adaptive bitrate distribution, and associated topics. Please contact Jan Ozer at email@example.com for more information about these services.