What is CMAF
Before the introduction of the Common Media Application Format (CMAF), a content distributor which wanted to reach all devices had to encode and store the video and audio twice. Apple’s HTTP Live Streaming (HLS) protocol forced the use of the “.ts” format, whereas Dynamic Adaptive Streaming of HTTP (DASH) used almost only “.mp4” containers.
But in 2016, Apple and Microsoft co-authored the CMAF to create a standardised transport container. The specification uses fragmented “.mp4” containers that are now supported by both HLS and DASH.
Why use CMAF and Test it
As CMAF only uses fragmented “.mp4” containers, the storage on server is reduced by half.
Also CMAF allows each video segment (of around 2-6 seconds in length) to be split into smaller unit called “chunks”. A chunk’s duration is about 500 milliseconds.
Thanks to this, the player can now request incomplete segments by getting only the available chunks. This allows to reduce the latency between the server and the player and is a way to provide “Low latency” streaming.
As a consequence of this, it increases the rate of request reaching the server inducing more stress on it.
To ensure a premium user experience, a best practice is to check whether your server can support a large number of simultaneous requests and if it doesn’t affect its performance.
How UbikLoadPack Video Streaming makes it easy to test
Our UbikLoadPack Video Streaming plugin for JMeter delivers at high scale easy performance testing of your streaming servers providing Out Of The Box:
- Background refreshment of playlist for live streams
- Buffering of playlists
- Handling of both Audio and Video Streams and associated meta-data
- Simulation of player
The plugin provides rich metrics on User Experience and its usage is easy as it supports Apple HLS, MPEG-DASH, Microsoft Smooth end Adobe HDS without any scripting.
The plugin is compatible with CMAF. With the plugin you will be able to measure the latency induced by the transfer of the information (time between the request from the client and the moment it receives the information back).
- Easy and realistic Load Testing of HTTP Live Streaming (HLS) with Apache JMeter
- Handy checklist for ensuring User Experience when delivering Video Streams at Large Scale
- Load testing MPEG-DASH Video Streaming with Apache JMeter and UbikLoadPack
- Load Testing Smooth Streaming Video with JMeter