DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • The Comprehensive IT Guide to Diagnosing and Fixing Packet Loss
  • Top 5 Incidents and Outages of 2021
  • The SOC Technology Stack: XDR, SIEM, WAF, and More
  • What Is a Sniffing Attack?

Trending

  • Analyzing Techniques to Provision Access via IDAM Models During Emergency and Disaster Response
  • Enhancing Business Decision-Making Through Advanced Data Visualization Techniques
  • Can You Run a MariaDB Cluster on a $150 Kubernetes Lab? I Gave It a Shot
  • AI Speaks for the World... But Whose Humanity Does It Learn From?
  1. DZone
  2. Software Design and Architecture
  3. Containers
  4. Understanding CMAF (Common Media Application Format)

Understanding CMAF (Common Media Application Format)

Common Media Application Format (CMAF) is basically a new format to simplify the delivery of HTTP-based streaming media.

By 
Hamit Demir user avatar
Hamit Demir
·
Nov. 17, 20 · Presentation
Likes (4)
Comment
Save
Tweet
Share
4.9K Views

Join the DZone community and get the full member experience.

Join For Free

The need for low latency solutions started to increase with Adobe’s abandonment of support for flash players, ie RTMP.  This is a very important development for us because it is our duty to meet your every need.  In this article, we will provide detailed information about CMAF, which has become increasingly popular. 

What Is CMAF (Common Media Application Format)? 

Common Media Application Format (CMAF) is basically a new format to simplify the delivery of HTTP-based streaming media. It is an emerging standard to help reduce cost, complexity, and provide latency around 3-5 secs in streaming.

The Emergence of CMAF 

As you know, Adobe will stop supporting Flash player at the end of 2020. As a result of the declining status of RTMP, other HTTP-based (Hypertext Transfer Protocol) technologies for adaptive bitrate streaming have emerged. However, different streaming standards require different file containers. Such as while MPEG-DASH uses .mp4 containers, HLS streams are delivered in .ts format.  

Therefore, every broadcaster who wants to reach a wider audience must encode and store the same video file twice, because encryption creates completely different groups of files. 

These two versions of the same video stream should be made either in advance or instantly. Both of these procedures require additional storage and processing costs. 

Apple and Microsoft suggested Moving Pictures Expert Group to create a new uniform standard called Common Media Application Format (CMAF) to reduce complexity when transmitting video online.   

Why Do We Need CMAF?

Live video streaming requires many technical processes. And a variety of codecs, media formats, protocols, and more add to the complexity. Above all, compressing files in different media formats makes this already difficult and complex process slower and more expensive. 

As we said above, to reach a wider audience base, broadcasters need to create multiple copies of each stream file in different file containers. 

So these same files reduce productivity by nearly double the cost of packaging, storing, and competing with each other on CDN servers. 

 Let’s look at what Akamai said about this: 

“These same files, although representing the same content, cost twice as much to package, twice as much to store on origin, and compete with each other on Akamai edge caches for space, thereby reducing the efficiency with which they can be delivered.” 

The importance of CMAF comes into play here. As a standard streaming format across all platforms, it helps us with single-approach encoding, packaging, and storage. So, Common Media Application Format makes the video streaming process much cheaper and less complicated.

Shortly, With CMAF streaming, you have one set of audio/video files in a fragmented MP4 format with very lightweight manifest files for all four adaptive bitrate (ABR) formats. Hypothetically, this cuts encoding and storage costs by 75% and makes your caching much more efficient. 


CMAF replaces these four sets of files with a single set of audio/video MP4 files and four adaptive bitrate manifests. Source: Streaming Media

How Does CMAF Work?

Before CMAF, Apple’s HLS protocol used the MPEG transport stream container format or .ts (MPEG-TS). Other HTTP-based protocols such as DASH used the fragmented MP4 format or .mp4 (fMP4). Microsoft and Apple have agreed to reach a wider audience through the HLS and DASH protocols using standardized transport container in the form of fragmented MP4. The purpose is to distribute content using mp4 only. CMAF has 2 encoding ways, chunked encoding and chunked transfer encoding to lower the latency. This process makes it possible to break the video into smaller chunks of a set duration, which can then be immediately published upon encoding. That way, near-real-time delivery (3-5 seconds) can take place while later chunks are still processing. 

Advantages of CMAF Streaming

CMAF streaming technology is one of the easiest ways to reduce streaming latency and complexity of streaming. CMAF streaming helps us with;

  • Cutting costs 
  • Minimizing workflow complexity 
  • Reducing latency 

Let’s now compare the two solutions to live streaming.

CMAF vs WebRTC

In Other words low latency vs ultra low latency. Ant Media Server right now supports both LL(CMAF) and ULL(WebRTC). Here is some basic information about these technologies. CMAF provides low latency(3-5 secs) in live streaming, on the other hand, WebRTC provides Ultra Low Latency(0.5 secs) in live streaming. Then which one is good for your streaming project, CMAF streaming, or WebRTC streaming?

Which one to use?

Both technologies have advantages and disadvantages. We talked enough about CMAF. You can learn more about WebRTC in this article. You can pick the correct one according to your use case.  CMAF is good if there is no interactivity between broadcasters and viewers. It’s easier to scale with CMAF with CDNs.  It’s not much affected by instant network fluctuations because latency is about 3-5 seconds. On the other hand,  it’s good to use WebRTC if there is interactivity between broadcasters and viewers. You need to manage the edge WebRTC servers to scale.  It’s affected by instant network fluctuations(jitter, congestion) because it’s about 0.5 secs latency.

Container format (computing) Media (communication) application IT Protocol (object-oriented programming) Stream (computing) Media server Streaming media Network

Published at DZone with permission of Hamit Demir. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • The Comprehensive IT Guide to Diagnosing and Fixing Packet Loss
  • Top 5 Incidents and Outages of 2021
  • The SOC Technology Stack: XDR, SIEM, WAF, and More
  • What Is a Sniffing Attack?

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!