Lesson of the Week: CMAF Proof of Concept

The Common Media Application Format (CMAF) is supposed to be the Holy Grail of streaming; one set of files that you can deliver to multiple output points. How well does it work today? This 3:47 video shows you.

I started by creating CMAF output in AWS Elemental MediaConvert. Why? Because they supply useful templates, have an easy to use UI, and it’s accessible to everyone with an Amazon account. The template created one set of media files and manifests for HLS and DASH, which I tested in:

JWPlayer test player (HLS and DASH)
Bitmovin test player (HLS and DASH)
Chrome (using the Native MPEG-DASH + HLS Player extension) (HLS and DASH)
Microsoft Edge (HLS only)

How did the players do? Watch the video and see. I will say that if you don’t need to protect your videos with DRM, CMAF is looking pretty functional right now.

This video is a lesson in my new course, Streaming Media 101: Technical Onboarding for Streaming Media Professionals. For more information on the course, click here.

About Jan Ozer

Avatar photo
I help companies train new technical hires in streaming media-related positions; I also help companies optimize their codec selections and encoding stacks and evaluate new encoders and codecs. I am a contributing editor to Streaming Media Magazine, writing about codecs and encoding tools. I have written multiple authoritative books on video encoding, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (https://amzn.to/3kV6R1j) and Learn to Produce Video with FFmpeg: In Thirty Minutes or Less (https://amzn.to/3ZJih7e). I have multiple courses relating to streaming media production, all available at https://bit.ly/slc_courses. I currently work as www.netint.com as a Senior Director in Marketing.

Check Also

Ozer to Present on x265 Encoding and Packaging at Mile-High Video

You can download the presentation handout here (download). I’ll add the video once it becomes …

NETINT will be in Booth W1672 at the upcoming NAB

Come See Me (Jan Ozer) At NAB

NAB is coming up April 15 – 19 in Las Vegas. I’ll be attending with …

Shows the new lesson, Codec Updates 2023

New Lesson Helps Students Choose the Best Codec for Streaming

Just a quick note that I’ve updated the course, Streaming Media 101: Technical Onboarding for …


  1. I have a couple of questions.
    1. Do you still recommend CMAF?
    2. Do you use your own presets in MediaConvert or the system-provided templates?
    3. Someone on a small budget, creating a video on-demand website for a personal project, I want to play on 90% of devices (Apple, Android, Web browsers), I want to transcode the fewest files to reduce AWS costs but I also want decent quality overall. Files will be stored in S3 so transcoding into small files is best. Do you have a few gold-standard presets you use? My player of choice is videojs that I am implementing.

    There’s so many variables involved. I’m sure a machine-learning algorithm can figure this out to optimize the many variables. I saw your ladder rung approach but also did not understand it and it seems like you need to produce multiple versions just to find the most optimal (which is up-front cost).