Subject: [Cellar] when is ChapterEndTime required

From: Dave Rice <[email-masked]>
Date: Wed, 28 Mar 2018 11:51:17 -0400

Hi cellar,

This is to follow up on a discussion on ffmpeg-devel, see: http://ffmpeg.org/pipermail/ffmpeg-devel/2018-March/227453.html. In the Matroska Schema, the ChapterTimeEnd element is optional, but in https://github.com/Matroska-Org/matroska-specification/blob/master/chapters.md#editionflagordered it says "If an Edition of Ordered Chapters is enabled then the Matroska Player MUST play those Chapters in their stored order from the timecode marked in the ChapterTimeStart Element to the timecode marked in to ChapterTimeEnd Element.”

So is ChapterTimeEnd required when EditionFlagOrdered=1? Is the second edition of the example below (from https://archive.org/download/chapters_test/chapters_test.mkv) invalid to write or invalid to read? Should we state a fallback end time (segment duration?) when there is no ChapterTimeEnd in an Ordered Edition?

|+ Chapters
| + Edition entry
|  + Edition flag ordered: 1
|  + Edition flag hidden: 0
|  + Edition flag default: 1
|  + Edition UID: 3475548369
|  + Chapter atom
|   + Chapter time start: 00:00:15.000000000
|   + Chapter time end: 00:00:20.000000000
|   + Chapter flag hidden: 0
|   + Chapter flag enabled: 1
|   + Chapter UID: 12865469183194029579
|   + Chapter display
|    + Chapter string: Random Red Ball
|    + Chapter language: eng
| + Edition entry
|  + Edition flag ordered: 1
|  + Edition flag hidden: 0
|  + Edition flag default: 0
|  + Edition UID: 12338659363134957115
|  + Chapter atom
|   + Chapter time start: 00:00:00.000000000
|   + Chapter flag hidden: 0
|   + Chapter flag enabled: 1
|   + Chapter UID: 17174098126947929771
|   + Chapter display
|    + Chapter string: Full
|    + Chapter language: eng

Dave Rice

---

From: hubblec4 <[email-masked]>
Date: Wed, 28 Mar 2018 18:58:31 +0200

Hi all

> This is to follow up on a discussion on ffmpeg-devel, see: http://ffmpeg.org/pipermail/ffmpeg-devel/2018-March/227453.html. In the Matroska Schema, the ChapterTimeEnd element is optional, but in ht…
Thats right and for a "normal" ordered edition the endtime stamps are 
required. What means "normal": This is the case when ChapProcessCodecID 
is set to 0(default 0).
If this value is set to 1 then Matroska-DVD-Menu system is used and 
there is it possible to have empty endtime stamps.

>
> So is ChapterTimeEnd required when EditionFlagOrdered=1?
Yes.
>   Is the second edition of the example below (from https://archive.org/download/chapters_test/chapters_test.mkv) invalid to write or invalid to read?
I'm sure Mosu's Chapter Editor(Matroska Reader) can read such mkv's but 
a Matroska Player will fail to build a correct virtual timeline.
LAV Splitter ignores all ordered chapters with a play-duration of 0 or 
less. An empty endtime stamp is like a value of 0 so you get a negativ 
chapter play duration.
Chapters_test.mkv  plays the first editon, but when you change to 
edition 2, playing is stoped, timeline greyed out, play-button is 
disabled and so on. There is no virtuell timeline for the second edition.

Read and write is maybe possible and not really invalid, but for 
practice using is it invalid.

> Should we state a fallback end time (segment duration?) when there is no ChapterTimeEnd in an Ordered Edition?
A fallback which used the segment duration is possible only when you 
have only one chapter. Otherwise the new virtuell playtime is too large 
and duplicates video content.
The Segment duration is not a "good" value because this element is not 
always present AND (very)often too large.
> _______________________________________________
> Cellar mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/cellar

Kind regards
Martin Below