adaptivedemux2
What is an adaptive demuxer? Adaptive demuxers are special demuxers in the sense that they don't actually demux data received from upstream but download the data themselves.
Adaptive formats (HLS, DASH, MSS) are composed of a manifest file and a set of fragments. The manifest describes the available media and the sequence of fragments to use. Each fragment contains a small part of the media (typically only a few seconds). It is possible for the manifest to have the same media available in different configurations (bitrates for example) so that the client can select the one that best suits its scenario (network fluctuation, hardware requirements...).
Furthermore, that manifest can also specify alternative medias (such as audio or subtitle tracks in different languages). Only the fragments for the requested selection will be download.
These elements can therefore "adapt" themselves to the network conditions (as opposed to the server doing that adaptation) and user choices, which is why they are called "adaptive" demuxers.
Note: These elements require a "streams-aware" container to work (i.e. urisourcebin, decodebin3, playbin3, or any bin/pipeline with the GST_BIN_FLAG_STREAMS_AWARE flag set).
Subclasses: While GstAdaptiveDemux is responsible for the workflow, it knows nothing about the intrinsics of the subclass formats, so the subclasses are responsible for maintaining the manifest data structures and stream information.
Name | Classification | Description |
---|---|---|
dashdemux2 | Codec/Demuxer/Adaptive | Dynamic Adaptive Streaming over HTTP demuxer |
hlsdemux2 | Codec/Demuxer/Adaptive | HTTP Live Streaming demuxer |
mssdemux2 | Codec/Demuxer/Adaptive | Parse and demultiplex a Smooth Streaming manifest into audio and video streams |
The results of the search are