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

Streaming Summer Bootcamp Session 2: Producing H.264

Announcing session 2 of Streaming Summer Bootcamp: Learn to Produce H.264 Video. Thu, Jul 11, …

Simplify Your Workflow: Command-Line Variables in FFmpeg Batch Files

Creating batch files with variables is one of the more efficient ways to run FFmpeg. …

JPEG AI Is Coming: What You Need to Know

This article provides an overview of JPEG AI, which delivers superior compression efficiency and improved …

4 comments

  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).

Leave a Reply

Your email address will not be published. Required fields are marked *