-->
为五月的纽约流媒体保留座位吧. Register Now!

CMAF的状态:圣杯或只是另一种格式?

Article Featured Image

The holy grail of streaming is a single set of files that you can safely deliver to all target endpoints. The most likely candidate to help achieve this is the Common Media Application Format (CMAF). While still not capable of delivering the holy grail to all clients everywhere, CMAF has emerged as the DNA of an interoperability effort that will dramatically simplify compatibility between publishers and players. 最终,它可能会带来圣杯.

After a brief description of CMAF, I’ll jump into the things you need to know about it.

Briefly, Here’s CMAF

CMAF is standard for segmented media delivery formalized as ISO/IEC 23000-19. Specifically, CMAF uses the ISO Base Media File Format (ISOBMFF) container—with common encryption (CENC); support for H.264, HEVC, and other codecs; and Web Video Text Tracks Format (WebVTT) and IMSC-1 captioning. 不像DASH和HTTP直播(HLS), CMAF isn’t a presentation format; it’s a container format that can contain one set of audio/ video files, with manifest files for multiple presentation formats and multiple DRMs.

CMAF设计要解决的问题如图所示 Figure 1, from a presentation produced by the Web Application Video Ecosystem (WAVE) project for the WAVE Boot Camp held in Los Angeles in October 2018 (much more on WAVE later in the article). To serve all the endpoints shown on the right of the figure, 你需要四种不同格式的文件:HLS, DASH, Smooth Streaming, 和HTTP动态流(HDS).

CMAF replaces these four sets of files with a single set of audio/video MP4 files and four adaptive bitrate manifests.

According to the figure, this costs you four times the encoding/packaging expense and four times the storage on the origin and degrades the cacheability of your content. With CMAF, you have one set of audio/video files in a fragmented MP4 format with very lightweight manifest files for all four adaptive bitrate (ABR) formats. In theory, this cuts encoding and storage costs by 75% and makes your caching much more efficient.

大多数发行商的储蓄被夸大了

These savings numbers are overinflated for most users since there are multiple techniques to achieve very similar savings. One prominent example is just-in-time (JIT) packagers that input a single set of MP4 files (live or video on demand) and package on-the-fly for the needs of each viewer. This means one set of MP4 files, not four, and no transcoding. Companies that use JIT packaging see CMAF as providing some efficiencies, 但肯定不是节省75%的编码和存储.

For example, 我采访了伊兰·科恩布劳, 他是Kaltura的首席架构师, who stated, “我们有自己的即时包装机, which is very efficient. It inputs MP4 streams and outputs all necessary protocols and provides great flexibility because we don’t have to encode and package in advance.”

I asked Kornblau about the cost aspect of this since JIT packaging requires a server running at all times. He responded, “我们的包装人员效率很高, so packaging to CMAF in advance wouldn’t save significant resources over JIT packaging.我从杰罗姆·布兰克那里得到了类似的回答, Anevia压缩产品执行副总裁, 它也部署了JIT打包. He stated, “We’ve optimized our packaging and encryption engine so it doesn’t cost a lot; maybe we could trim CPU costs by 10% or so by delivering static content as opposed to JIT.”

JIT isn’t the only way to serve multiple formats with a single data store. According to Yueshi Shen, principal research engineer and engineering manager at Twitch, CMAF is of little short-term interest for Twitch because it can reach all of its relevant targets with HLS. “针对不支持HLS的目标平台,” Shen explains, “我们的玩家可以实时转换到DASH.” Of course, Twitch主要针对电脑和移动设备, 哪里的HLS支持是普遍的, as opposed to smart TVs, where DASH is prevalent, and it may be complicated to add transmuxing within that environment.

To be clear, CMAF does deliver some storage and caching efficiencies over JIT packaging, although the extent depends on your distribution architecture and whether you package at the origin server or at the edge. 看看Akamai生态系统中早期的CMAF采用者, Will Law, 该公司媒体云工程的首席架构师, 从我们这边分享, the largest benefit we see is improved cache efficiency in the case where an HLS/TS multi-DRM implementation is replaced by a single-silo HLS/CMAF implementation.” Still, for most producers, CMAF doesn’t deliver the 4x encoding/storage savings suggested in Figure 1.

什么是受保护内容?

Probably the most significant bar to deploying CMAF with DRM relates to two incompatible encryption modes available in CMAF. Pieter-Jan Speelmans解释道, CTO of THEO Technologies, “There are two encryption modes used: CBC (sometimes noted as CBCS), 苹果主要使用的是FairPlay DRM, and CTR, 这是用于Widevine和PlayReady. 因为苹果不想增加对点击率的支持, Google and Microsoft have added CBC support to their DRM systems.

“However, for certain DRM levels, you will need hardware support for these encryption modes. Older devices that don’t have support for the CBC mode will not be able to support hardware-grade DRM. Similarly, while Content Decryption Models (CDMs) are being updated to support CBC, your devices will need to get this update before they can play back content using this encryption. The number of platforms not able to support this likely spans older OTT devices (like smart TVs and set-top boxes, etc.)和一些未更新的移动设备. 软件DRM可以内置在应用中以规避这一问题, 但它当然不是硬件级别的DRM.”

Elaborating on the problem at the NAB 2019 presentation “Best Practices for Deploying CMAF, DASH and HLS at Scale,” David McLary, NBC体育数字视频技术副总裁, said, “Everybody we’ve talked to has said that CBCS support is coming in the next 12– 18 months [for new devices and updates]. But you’re always going to have the problem of older devices. Devices that only support CTR and not CBCS aren’t going away, 我不知道它们是否会更新. That’s something that we’re going to have to consider as we try and support the older devices as we get further down the road.”

It’s not just hardware endpoints; it’s also some browser versions. For example, David Eisenbacher, CEO of EZDRM, notes that “Microsoft Edge and Internet Explorer can’t currently play certain types of PlayReady-protected video encrypted with CBC. This should be fixed for Edge when Microsoft releases its new version based on Chromium, 但很可能永远无法解决ie浏览器的问题.”

For a summary of this device-support issue, check out Phil Harrison’s excellent LinkedIn article, “这是关于CBCS的时间.” 

首次部署时,CMAF将成为“另一种格式”

While the CMAF “promise” is one set of files for all endpoints, 大多数初始实现将是CMAF in addition to various flavors of DASH or HLS to enable support for legacy devices. 正如麦克拉里在NAB演讲中所说的那样, “There will be a period of time where we deploy HLS and CMAF together. 它不会是某一天我们拨动的开关. So it’s this in-between phase [when it’s] going to be complicated to figure out what we do.”

在他们必读的白皮书中, “走向大规模部署CMAF”, 来自Brightcove的四位作者, including Yuriy Reznik, outline their vision for deploying CMAF within the Brightcove Video Cloud platform, 它的概述显示在 Figure 2. As the name suggests, Video Cloud is a cloud-based system that includes multiple components, 例如上下文感知编码, 还有一个动态的传输系统,可以控制传输, packaging, encryption, 并向cdn提供内容.

Brightcove视频云平台

从积极的角度来看, the Brightcove authors reveal that adding CMAF to their ecosystem was straightforward, stating that “adding CMAF to a system that already supports dynamic transmuxing to several existing delivery formats is relatively simple, and boils down to a few elements: more restrictive profile generation and encoding, 添加了一个额外的ISOBMFF转换器, and adding extra rules to HLS and DASH manifest generators to produce CMAF-compatible manifests.”

However, they also indicate that CMAF will be additive as a format: “While in the short term CMAF most likely will have to co-exist with other varieties of HLS, DASH, 以及其他一些交付格式, 能够解码的设备就越多, 我们将开始看到更明显的好处. 即使是动态传输和传输, cdn的使用仍然不够理想, with multiple versions of [the] same content competing for CDN cache at the edge.” In short, 从碎片化的角度来看, this means CMAF will make things worse before it makes them better.

When does it make sense to add CMAF to your existing formats? 在2019年5月的SF视频技术聚会上, Brightcove的Reznik做了一个有趣的演讲,题目是, 关于CMAF:部署第三种流媒体格式可以降低成本吗?” Here, 他首先模拟了哪些数据会被缓存在CDN上, 这一点很明显,最受欢迎的数据, 或者是由最受欢迎的玩家检索到的数据, 被缓存的概率最高.

Interestingly, this point debunks the concept that delivering four formats quadruples the expense associated with caching the data on the edge. That is, 如果你向1%的观众提供流畅的流媒体服务, HDS给1%的观众, DASH to 5%, and HLS to 93%, your cache storage costs don’t quadruple— they likely remain at 1x since only the HLS will get cached. Certainly, there are other costs and potentially lower quality of service for the noncached formats, 但单纯的存储成本不会翻两番.

Of course, this same concept works in your favor as CMAF gets more popular. As shown in Figure 3, once the percentage of CMAF-capable players exceeds 84%, CDN costs should break even. As we saw before, 与其他格式有关的其他费用将会增加, and QoE to those devices will decrease because the data isn’t cached at the edge.

Once 84% of your endpoints can play from the CMAF files, CDN costs start to drop.

The fact that CMAF will be additive shouldn’t come as a surprise. “I still believe that we will have to handle a fragmented world with multiple codecs, 多种交付格式, 以及各种各样的设备,” says Magnus Svensson, 瑞典Eyevinn Technology的媒体解决方案顾问. “Lessons learned from deployments that I’ve been part of [are] that as long as you want to support many different devices, especially smart TVs, 您需要多个工作流.”

How long will you need to continue distributing multiple formats? 这因出版商而异. But the obvious point is that it makes sense to continue legacy support as long as the revenue, in whatever form, exceeds the cost. 以年计,这意味着什么?

好吧,别抱太大希望. 据MediaKind的托尼·琼斯报道, “The main issue is that, 直到这种用法几乎无处不在, CMAF creates the challenge of an additional format to deliver. The end state is, of course, 通过共性获得真正的好处, but it would appear likely that it will take several years before other formats can be retired.”

Want a hard number? 据肖恩·麦卡锡说, 产品营销经理, and Richard Fliam, solutions architect, both at Bitmovin, “Many new devices work fine with CENC and a standard encryption algorithm, 但传统设备需要更具体的说明, varying formats. For this reason, CMAF has not yet delivered on the cost-reduction benefits for CDNs, but as customers phase out legacy device support in the next 5+ years, this should be an added benefit to the economics of the streaming workflow.”

实现的复杂性会有所不同

无论多么理想或实用, most OTT shops can’t switch over to a new format until they can protect it, monitor it, monetize it, 让它在他们所有的目标设备上运行, 不仅适用于当前内容,也适用于遗留内容. You’ve already seen how DRM complicates single format delivery; there are several other areas to consider.

Streaming Covers
Free
合资格订户
Subscribe Now Current Issue Past Issues
Related Articles

如何产生CMAF输出和测试回放

CMAF已经成熟. Here's one way to go about using it, with AWS Elemental MediaConvert

Go In-Depth on CMAF and Machine Learning at Streaming Media West

Here are two strong reasons to attend Streaming Media West's pre-conference training sessions: a morning seminar on deploying CMAF and an afternoon session on video machine learning.

视频:CMAF是唯一的包装格式吗?

Microsoft's David Sayed, Imagine Communications的David Heppe说, and Akamai's Will Law discuss CMAF and the future of packaging formats in this clip from their panel at Streaming Media East 2019.

视频:CMAF的未来是什么?

RealEyes Media Development Manager John Gainfort discusses CDN scaling, chunked encoding, and their future impact on latency in this clip from his Video Engineering Summit presentation at Streaming Media East 2019.

Akamai宣布支持超低延迟CMAF

Reducing latency for HTTP Adaptive Streaming video to 3 seconds or less is possible, 但这需要一个复杂的工作流程.

提及的公司及供应商