This page is documenting a work in progress feature do not assume it is available on the mainline branch.

Rationale

A number of containers express the concept of group of equivalent streams, it cannot be mapped correctly using the concept of Program since even if it signals a group of streams as well, it normally states the group has to be played together.

A MOV signals that only one of the streams belonging to the same group has to be played at the same time.

API Design

A group id field will be introduced to AVStream, matching the stream id semantics, thus providing facilities to manipulate and select groups in avconv.

# To ungroup all the audio tracks.
avconv -i input -c copy -groupid a:-1 output

# Groups can be used a stream specifiers 
avconv -i input -c copy -map g:1 output

Shall we use -1 for no-group, 0 for default grouping and from 1 count the groups? Or start counting the groups from 0 ?

Architecture

The group id support mainly requires an additional integer field in AVStream.

An abstraction struct matching AVProgram might be not necessary.


CategoryBlueprint CategoryBlueprintActive