In adaptive streaming, MPEG-CMAF chunking and transcoding are separate workflow stages. CMAF chunking packages encoded frames as fragmented MP4 segments for streaming. Transcoding re-encodes input media into different bitrates, codecs, or resolutions before chunking. Keeping these steps distinct ensures correct segment alignment, manifest generation, and predictable playback latency.

Core Function and Processing

MPEG-CMAF Chunking

CMAF chunking serves as packaging. It operates on a compressed stream (often H.264 or AAC, e.g., Annex B for H.264). Frames are packaged into short, independently decodable fragments inside an ISO Base Media File Format (ISOBMFF) container. Chunking creates initialization segments and media segments with timing and byte-range markers. This process does not change video or audio compression; it only alters segmentation and container structure.

Transcoding

Transcoding's core function is processing and re-compression. It takes an encoded input stream, fully decodes it to a raw or intermediate format, applies modifications (such as bitrate reduction, resolution scaling, or codec conversion), and then re-encodes it using a video codec. Its scope includes changing the fundamental characteristics of the media to create new renditions.

Adaptive Bitrate Streaming

Input, Output, and Data Alteration

MPEG-CMAF Chunking

The input is a compressed elementary stream or mezzanine file. The output is a set of CMAF-compliant fMP4 segments. Extensions like .m4s, .cmfv, and .cmfa may be used, but are not mandatory; standard MP4 extensions are also valid and widely supported. Chunking is lossless for media quality; only container and segment boundaries change.

Transcoding

Transcoding accepts an already-compressed bitstream as input. The output is a new, independently compressed bitstream. This process is inherently lossy, as it introduces a new generation of compression artifacts. The output data is fundamentally altered in its size, structure, and visual fidelity compared to the input.

Impact on Latency and Workflow

MPEG-CMAF Chunking

Chunking is designed to minimize latency. By creating small, discrete chunks, it enables chunk-transfer encoding, where a segment can be transmitted the moment it is finalized, without waiting for a larger file to be complete. This is important for achieving low-latency in live streaming workflows, as it allows players to request the latest available chunk almost immediately.

Transcoding

Transcoding requires full decode and re-encode cycles and consumes substantial compute resources. In live workflows, this adds delay; specialized hardware and parallelization are needed to minimize end-to-end latency. For Video-on-Demand, transcoding can be performed offline, where latency is less critical.

Role in Adaptive Bitrate (ABR)

MPEG-CMAF Chunking

In ABR, CMAF chunking ensures that all video and audio segments across different renditions are temporally aligned. This means that chunk boundaries for a 1080p stream and a 360p stream occur at precisely the same time points. This alignment is a foundational requirement for seamless bitrate switching, as it allows a player to switch renditions at any segment boundary without decoding conflicts or playback glitches.

Transcoding

Transcoding is responsible for creating the different renditions that constitute the ABR ladder. It generates the various bitrate-resolution pairs (e.g., 1080p @ 4.5 Mbps, 720p @ 2.5 Mbps, etc.) from a single high-quality source. The transcoding process must ensure that the GOP structure and keyframe (IDR frame) intervals are consistent across all renditions to enable the segment alignment performed by the subsequent chunking stage.

Comparison Table

AspectMPEG-CMAF ChunkingTranscoding
Core FunctionPackaging and SegmentationRe-compression and Processing
InputCompressed Elementary Stream / Mezzanine FileCompressed Bitstream
Primary Role in ABREnsures Temporal Segment Alignment Across RenditionsCreates Multiple Bitrate/Resolution Renditions
Latency ImpactEnables Low-Latency Delivery Via Small ChunksIntroduces a Delay from Decode/Encode Cycles
Compute LoadLow (I/O and Packaging Overhead)High (Complex Motion Estimation and Compression)