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.
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).
2. I don’t use MediConvert for any real encoding – just test stuff
3. I don’t think it’s rocket science. I use simple command strings like those shown here – https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=144235
4. In terms of encoding ladder, it’s really content-dependent. I wouldn’t sweat about too many files or small files. S3 can certainly handle it. If you’re really cost-conscious use YouTube; otherwise maybe an OVP like Brightcove/JWPlayer/Kaltura?
Thanks so much for your wisdom and words of wisdom.
My pleasure – thanks for your comment.