CMAF-HAM LIBRARY
CMAF-HAM Library
"Currently, we are constantly switching content from HLS to DASH and vice versa. When CMAF came out, no one paid attention to the CMAF Hypothetical Application Model, which can help us do this better..."
At the MonteVideo Tech Summer Camp 2024, we embarked on an exciting project: creating a library based on the CMAF standard and the Hypothetical Application Model. This innovative library provides a practical solution for converting playlists and manifests between HLS and DASH.
We brought this vision to life by building a proof of concept in the SVTA Common Media Library
CMAF Hypothetical Application Model
The CMAF Hypothetical Application Model (HAM), defined in ISO/IEC 23000-19 (MPEG-A: Common Media Application Format), describes in general terms a hypothetical streaming media application that, much like DASH and HLS applications, is based on adaptive switching of segmented media. The basic building blocks of this hypothetical media application are defined in the CMAF Media Object Model which can be used to conceptually describe any adaptive media presentation. In other words, the CMAF Hypothetical Application Model provides the common terminology and object model needed to describe DASH-like and HLS-like adaptive media presentations without relying on serialized manifest formats such as MPD or M3U8.
CTA 5005 (WAVE: DASH-HLS Interoperability Specification) builds on this concept by mapping DASH and HLS presentation elements to CMAF Media Objects. It strives to achieve interoperability between DASH and HLS not only by using a common media segment format but also by identifying their common features and mapping them to a superset reference model.
CMAF HAM Library is a practical implementation of these theoretical foundations set by MPEG CMAF and CTA WAVE DASH-HLS interoperability working groups. Bridging the distance between DASH and HLS is one practical benefit of using CMAF HAM, but that's only the beginning. The long-term goal of CMAF HAM is to give developers the tools to build format-agnostic media applications so they can focus on supporting media features, not media formats.
CMAF-HAM Library
The Proof of Concept
During the Summer Camp 2024, we built the CMAF-HAM library as shown in the diagram below. In this model, a ham objetct represents the content itself (a presentation). To maintain a clear separation between the model and the presentation of the content (HLS manifests or DASH MPDs), we also created models that can convert HLS or DASH into the HAM model or generate manifests and MPDs from a HAM model.
During the proof of concept, we only covered DRM-free VOD content, and the implementation of additional elements to abstract other relevant metadata—such as DASH Events or HLS X-EXT-DATETIME elements—was left out.
CMAF-HAM Demo
To learn more about the CMAF-HAM Library initiative, don't miss the demo showcasing the results of the Summer Camp 2024, where we delve deeper into how we built the Proof of Concept of this great initiative by Alex Zambelli.
For a more complete conversion example with HLS and DASH see the CMAF-HAM-Conversion sample in the Common Media Library
Interested in CMAF-HAM?
Join the SVTA Players and Playback Working Group to discuss and build the future of the CMAF HAM Library
CMAF-HAM at Demuxed 2024
Watch Constanza Di Bueno Presenting the CMAF-HAM project at Demuxed 2024
CMAF-HAM-UI Example
During the Summer Camp, we also developed a UI to easily test the potential of the tool. Through this UI, you can try out the interface for yourself, as well as the conversion of some DRM-free VOD MPDs, which were covered in the CMAF-HAM Proof of Concept during the MonteVIDEO SummerCamp 2024.
Try the live demo with this MDPs:
Summer Camp 2024 Contributors
Alex Zambelli
Casey Occhialini
Walker Griggs
Barry Owen
Zachary Cava
Gabriel Davila
Dan Sparacio
Christian Pillsbury
Scott Kelicker
Sabrina Cañas
Maxi Pollinger
Noelia Betancourt
Mati Rodriguez
Felipe Young
Juan Coates
Santiago Puppo
Hernan Reyes
Emil Santurio
Constanza Di Bueno
Nicolas Levy
Patricio Carrau
Fernando Cuadro
Juan Diego Irazoqui