[Matroska-devel] Re: Multi-Angle
paul at msn.com
Fri Sep 17 12:15:56 CEST 2004
"Moritz Bunkus" wrote...
> 1. 'Seperate video track'
> Bad because the players would think that there IS actually another video
> track. The user might then select that video track and the player would
> probably go to hell because it doesn't receive data for a long time,
> only where there are two angles.
On the remote possibility that a user actually selected another video track
in a player that supported that (less than 3% of actual players used I would
guess) AND it didn't work, then its pretty safe to assume that someone smart
enough to change to a track that doesn't work can change back to a track
that does. I can't see this ever being an issue.
> 2. 'Put angles in the same track sequentially'
> Bad because a) timecodes would not be continous, b) current demuxers
> would show all angles after another totally breaking A/V sync, c)
> interleaving would be completely off, d) would be non-compliant with the
> specs (see BlockDuration, "When not written and with no DefaultDuration,
> the value is assumed to be the difference between the timecode of this
> Block and the timecode of the next Block in "display" order (not coding
I think I was thinking of this differently. If you have a video where it
begins with part A, has a part B, and ends with part D, but there is an
alternate 'angle' for part B called part C, then you could store it like
The beginning timecodes of part C would be right after the last timecode of
part D. This has the drawback of part C eventually being played in a player
that doesn't honor Chapters, and also the possibility of a pause that I
> My proposal is that we should create a new _track type_ for this kind of
> thing. At the moment six track types are defined and three are used
> (audio, video, subtitles; complex, logo, control). I'd like to add a
> track that is 'associated' with another track. The track headers would
> ONLY contain two or three (new) elements:
To me it seems very backwards to label a VIDEO track as anything other than
a video track. Even if you intend to use it as an alternate 'angle', it is
still simply a video clip and could be played alone. Remember that these
types of things aren't always as simple as a 1:1 alternate. For example,
seamless branching where one route is just as likely to be taken as another
depending on how the user sets up for what they want to watch at the
Also, from the example above and using different tracks, the part C is
significant longer than its counter part, part B.
Do you leave a gap in the timecodes between B and D? Or what if parts B and
C are both stored in separate tracks?
Or what if it is a video that has many parts that are all stored in separate
tracks that are using some config set by the user to determine what order to
play them in? Then which one is the 'Associated' track? For any complex
scenario this just stops making any sense.
Really I think that you should leave all VIDEO tracks labeled as such. The
chances of any issues from this are too remotely small to be concerned
about. If some player out there does have an issue, then it must not be
respecting the track's FlagDefault element and it should be fixed. No need
to change the specs.
More information about the Matroska-devel