New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nested-ordered chapters #232
Comments
Ordered chapters have to have a beginning and an end, unlike regular chapters which only need a start and are used as starting points in the stream. Given that, nested ordered chapters enforce a certain duration on their direct parent (and so on) which cannot differ from the sum of their children. But this parent cannot also have a start/end defined otherwise it would directly address a portion of the stream that may not be the same as its children. So there has to be a rule saying only one ordered chapter level is allowed to have an end address in a particular chapter tree (good wording to be found). On the other end, one could use chapters with no end under elements with a end to add some "bookmarks" to jump to in the virtual stream. |
Logical.
Maybe I understand this not correctly but, Normal chapters with nested chapters:
All nested chapters start time must between 0 and 1 minute. Normal ordered chapters:The start and end times do not have to be sorted in ascending order.
Each ordered chapter is independent from the others. Only the order of the chapters is important. Nested ordered chapters:For now, only Top-Level(1) ordered chapters are taken into account to generate the virtual timeline.
This video with a virtual timeline of 2 minutes has now 4 visible chapters
You see that all nested start times not between of the parent chapter times. And this is total OK, fine and good(for me). Full nested ordered chapters:Remember, each ordered chapter works independent, and this says me I can use any start-end time.
This video has now a virtual duration of 4 minutes and 4 visible chapter marks in the timeline. Before we define which Level is to used for ordered chapters, we can say all levels can be used for ordered chapters.
This is for me also a question of definition. For the moment is it necessary because nested ordered chapters are not allowed. |
We are missing some text explaining that the start and end of a Chapter MUST NOT be before or after the parent Chapter (in ordered chapters where there is a start/end). |
I can't agree with that. For non-ordered nested chapters it is fully OK, but not for ordered nested chapters. From this example above
I could also set the 2 nested ordered chapters one level up and we get this:
But now is the presentation of the chapters in the player sub-optimal.
The presentation of the chapters looks like this
All players supports only the top-level ordered chapters at the moment to build the virtual timeline. Unfortunately I can not write a new Matroska player over night which supports nested-ordered chapters. :-( |
This is wrong
The first chapter says the player should play from 10s to 11s in the file. You cannot tell it to play from 2s to 3s within the same block. Since you are familiar with dvdmenuxtractor, you should check the output. It is using ordered chapters and in the way I describe. I also found your old |
I have checked the players with this sample mkv. This structure is used: chapter 1 00:00:50.000000000 - 00:01:00.000000000 The total video duration is 1min. The first top-level chapter should play now only the last 10 sec of this video. MPC-HC shows negativ times for the nested chaters and in the timeline is no marker. -> I'm not happy with this behavoir Note: currently is the end time of the nested chapters ignored. only the start time is used for a marker in the time line. Ordered chapters are always independent, also if they are nested chapters. -> That is what I prefer and wish. |
This is in line with how nested chapters were intended to work and heavily used in DMX. The content of a nested chapter MUST be within its parent chapter. In you example the ordered chapter starts at 50s and ends at 1 minute. Your nested chapters are incorrect. |
Yes for non-ordered chapters is this OK. All non-ordered chapters MUST be sequentially from the lowest to the highest, At the moment I speak only from nested-ordered chapters, but I have also in mind nested-ordered-linked chapters The nesting of ordered chapters is very useful to combine content for a better presentation. |
Again, this is not how it was designed, nor how it works as your experiment shows. And I still have no idea how what you describe could even work nor what it has to do with "preservation". Nested chapters are sub chapter of their parent chapter. They MUST be contained inside their parent. Ordered or not ordered, this makes zero difference. |
was the wrong word...I have changed it to presentation Yeah, I know/could imagine it makes not sense at the moment for others, but for me makes it sense. and yes I am aware that this function will probably not be built in.
Why MUST? |
sample of nested chapter chapter 1 00:00:50.000000000 - 00:01:00.000000000 The new virtual timeline is created from chapter 1 -> the duration is now 10sec |
There is no "virtual timeline" with non-ordered chapters. So you are talking about ordered chapters. I think you don't understand how ordered chapters work. The start/end time is used like this:
If you have one (top level) chapter the duration to play is the duration of that chapter. In this case 10 seconds, even though the Segment might contain 12 hours of content. The Segment duration and the ordered edition duration are completely different things. By repeating the source content multiple time an ordered edition might even be longer than the Segment duration. And in your example (sample) you don't explain what to do with the nested chapter. |
Yes I know.
Mmmh... that makes me a bit sad that you think this really. My chapterEditor has multiple editors on board which deals with ordered chapters. In the Matroska chapter editor is an automatic to generate ordered chapters. I have never seen an other tool what handles ordered chapters in so many ways.
Yes... And where is the restriction that a nested ordered chapters not handled like a top-level ordered chapter?
Exactly: the new virtual duration is 10 seconds. But the nested chapter has a start time of 50 seconds.
Yes, also known to me. If you mux such mpls file in MKVToolNix (or other tools which handles mpls files) you get a hugh mkv, because the second m2ts file is very very often appended.
My samples here looks not really good, but this a maybe a thing of MarkDown -> sorry I'm not a profi in MarkDown. |
That's not a guarantee it produces correct output. The discussion we're having proves the spec are not precise enough in what is correct and what is not. So you can't say your code is correct or not.
And where is the explanation of how that could even work ? I can't think of any and you didn't provide one. And I never said nested chapters must not be handled like top-level ordered chapters. In fact I said the exact opposite.
That's news to me and doesn't follow any spec we have defined so far. You made up these rules. This is in total contradiction with what DMX outputs and how the ordered chapters in VLC works, which was designed specifically to support the DMX output.
You have to be more specific than that. Do you expect the player will pretend it starts at 50s instead of 0s ? Or that it starts at 50s in the file but the showing 0s at that time during playback. The latter is the correct way.
It's not a markdown issue. You do not explain what you want to do with the second line of your example. |
This is another big topic where nothing is defined(I found nothing).
Practice:
LAV-Filters ignores the "ordered" state of such nested-ordered chapters and use the start time as chapter mark only.
What is the current "normal" usage? What does VLC?
When I create my Matroska-menu chapter files I must ever insert a top-level ordered chapter(hidden) and a nested chapter. The start and end time is ever the same for both chapters.
A Matroska player should handle nested ordered chapters equal to normal ordered chapters or is this not possible?
The text was updated successfully, but these errors were encountered: