Differences between revisions 1 and 2
Revision 1 as of 2014-07-09 10:05:57
Size: 843
Editor: lu_zero
Comment:
Revision 2 as of 2014-07-09 10:16:12
Size: 1448
Editor: lu_zero
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
{{{#!code sh
# To ungroup all the audio tracks.
avconv -i input -c copy -groupid a:-1 output
}}}

{{{#!code sh
# Groups can be used a stream specifiers
avconv -i input -c copy -map g:1 output
}}}

{{{#!wiki alert alert-warning
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.

{{{#!wiki alert alert-warning
An abstraction struct matching AVProgram might be not necessary.
}}}

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

You may find it developed on a topic 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