One of the Greek philosopher Zeno’s most famous paradoxes is the Dichotomy Para- dox, also called the Infinite Halfway Theory. The concept states that if you keep getting
halfway to a certain goal, you never arrive, because there are infinite halfway stops between
Point A and Point B. There also seem to be infinite halfway stops between the multitude of
adaptive streaming technologies and a single file
format that can deliver all of them. This is true of
the Common Media Application Format (CMAF),
which gets us halfway there, but presents an
almost predictable obstacle to finally arriving.
By way of background, the adaptive streaming world predominantly uses three technologies. According to Encoding.com’s “Global Media Format 2016” report, in 2015 HLS was used by
71% of the industry, Smooth Streaming by 19%,
and DASH by 10%. In terms of media container
format, Smooth Streaming and DASH (and HDS)
use what’s called the fragmented MP4 container format (fMP4), while HLS uses the MPEG- 2
transport stream container. A single package in
fMP4 format can serve both DASH and Smooth
Streaming clients with separate manifest files,
which are tiny text files. This results in few additional storage costs. However, you couldn’t
previously deliver files stored in fMP4 format to
HLS clients. Instead, you must create and store
MPEG- 2 transport streams, doubling your storage and often encoding costs. Using two formats
also diminishes the benefit of caching in your
distribution infrastructure, which could substantially increase distribution costs.
At its 2016 Worldwide Developers Confer-
ence, Apple announced that HLS will support
fMP4 files. Specifically, Apple agreed to sup-
port CMAF, which was authored by unlikely
bedfellows David Singer from Apple and Kilroy
Hughes from Microsoft. What exactly is CMAF?
In MPEG-speak, it’s a standard for segmented
media delivery formalized as MPEG-A Part 19,
or ISO/IEC 23000-19. Specifically, CMAF uses the
ISO Base Media File Format (ISOBMFF) contain-
er—with common encryption (CENC); support
for H.264, HEVC, and other codecs; and Web-
VTT and IMSC- 1 captioning. For compatibility,
CMAF can be called by both HLS playlists (.m3u8
files) and DASH manifest files (.mpd files). For
HLS delivery, CMAF will replace files currently
packaged in the MPEG- 2 container format. For
DASH, CMAF will mean a very minor change
to the existing ISOBMFF-based format.
So far, so good. The problem is that CMAF
also enables two incompatible common en-
cryption modes: cipher block chaining (CBC)
for Apple’s FairPlay digital rights management
technology (DRM), and counter mode (CTR) for
PlayReady, Widevine, and other DRMs. Content
encrypted with CBC can’t be decrypted by Play-
Ready- and Widevine-compatible clients, while
content encrypted with CTR can’t be decrypted
by FairPlay clients. So for content protected with
studio-grade DRM, instead of two silos of content
(one DASH, the other HLS), CMAF enables two si-
los of content (one encrypted with CBC, the other
with CTR). This doesn’t feel like a lot of progress.
Of course, if DRM isn’t an issue, CMAF gets
you all the way there, and you should be able to
convert over to one file format. Unfortunately,
not all HLS-compatible devices, or even iOS de-
vices, will be able to be upgraded in the field, so
you’ll have to assess how many of these clients
you’ll strand if and when you switch over. The
fact that 90% of Encoding.com’s ABR streams are
not DASH tells us that producers are reluctant
to abandon solutions that are already working.
What can you do? You can avoid the increased
storage and encoding costs by dynamically pack-
aging your content from MP4 files to DASH, HLS,
and Smooth Streaming format via services like
Microsoft Azure or Akamai, or products like the
Wowza Streaming Engine or Elemental Delta,
which I describe in another article in this issue.
In short, there’s no immediate change.
Overall, CMAF is a step in the right direc-
tion, but sometimes getting halfway there feels
like no progress at all. Think I’m overly pessi-
mistic? Check back when Encoding.com issues
its 2017 media report, and we’ll find out.
Author’s note: The author wishes to thank
Christian Timmerer, CIO of Bitmovin, for verify-
ing the technical details in this article.
Jan Ozer ( firstname.lastname@example.org) is a streaming media producer
and consultant, a frequent contributor to industry magazines
and websites on streaming-related topics, and the author of
Producing Streaming Video for Multiple Screen Delivery.
Comments? Email us at email@example.com, or check
the masthead for other ways to contact us.