Video Streaming: CMAF and Low-Latency

on 9 October ABR-Streaming, Apple HTTP Live Streaming, CONTINUOUS INTEGRATION, DEVOPS, HLS, JMETER, Microsoft-Smooth, MPEG-DASH, OTT, PERFORMANCE, PRODUCTIVITY, SMOOTH Streaming, VIDEO and Tags: , , , , , , with 0 comments

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).

About UbikLoadPack:

Other links: