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

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.

Check Also

New Codec 2022 Lessons Added to Streaming Media 101 Course

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

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.