Log in

View Full Version : Xin1generator: Create Ordered Chapter mkv's from Seamless Branching BluRay's


Pages : [1] 2

robpdotcom
12th March 2011, 05:19
Hello,

I'd like to introduce a program I've been using for a few months (not my project, just spreading the word). It's called xin1generator, and what it does is this:

If you have a Bluray with multiple editions on one disc (such as Avatar, with the Theatrical, Special Edition, and Director's Cut), it will help you create a single mkv file with all versions of the movie - and allow you to select and play any version, just as you would with the disc. The total file size will usually be slightly larger than the longest version of the movie, and much smaller than ripping each version separately. There's no limit on the number of editions, so you can keep as many as you like.

It uses eac3to to demux the streams, generate a Matroska ordered chapter file, a Matroska tag file, and even generates a file with a list of frames that need to be encoded as I-Frames if re-encoding. Once it has finished demuxing, you use a Matroska muxer (such as MKVMerge or Haali's GDSMux) to create the mkv and add the chapters and tag files.

The author recently created a GUI which makes everything dead-simple:

http://upload.riposte.nl/upload/Xin1Generator_v0.11.png

How To Use

Most of the options/parameters are self-explanatory, but here's a quick rundown of what they do:

Available titles - Lists all the titles on the disc, from longest to shortest (the longer titles will be the different versions of the film)

Selected titles - As you add the titles you want to keep, they will appear here. You can choose the names, which will go into the tag file (Special Edition, Director's Cut, Theatrical Version, etc).

The "Extract tracks" check box will allow you to select only the streams you want - un-check it to extract all streams.

Tracks - If you check the "Extract track" box, here you can select the streams you want eac3to to extract, and in the box to the right of the stream, you can specify the format you want to extract it as - or leave it alone to keep it in it's original format.

The "Preserve Chapters" option - To play correctly, xin1generator must create many chapter marks. Selecting this option hides all chapter marks that do not correspond to the original movie chapters. I highly recommend checking this option.

After extracting all the streams, you can drag/drop them into mmg (MKVmergeGUI). Then, from mmg's Global tab, add the tags.xml and chapters.xml files that xin1generator created. Then, mux as you would any other mkv.

Playback

Haali is the only splitter which currently supports ordered chapters, and no hardware players support them yet either. However, the movie will still be playable with any software/hardware that supports Matroska - it will simply play the first edition, followed by the segments which make up the other editions in the file.

When playing the movie, you can use Haali's tray icon to select which edition you want to watch. Or, in MPC-HC, right click > Filters:

http://img809.imageshack.us/img809/9700/unled3yz.png

Links

Download the latest xin1generator here:

Direct Link (http://xin1generator.googlecode.com/files/Xin1Generator_v0.11.7z)

Project Home Page (http://code.google.com/p/xin1generator/)

Extract the files into your eac3to folder. It includes the GUI, or can be run as a command line tool.

If you have any questions, feel free to ask and I'll help as much as I can.

b66pak
12th March 2011, 13:46
sweet...
_

chagos
16th May 2011, 11:16
I've got these errors with the blu-ray Salt (2010) 3in1:
"Command line used:

"F:\Files\mkvmerge.exe" --output-charset UTF-8 --identify-for-mmg "F:\Salt\mkv\chapters.xml"

Output:

Error: File F:\Salt\mkv\chapters.xml has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly."

and

"Command line used:

"F:\Files\mkvmerge.exe" --output-charset UTF-8 --identify-for-mmg "F:\Salt\mkv\tags.xml"

Output:

Error: File F:\Salt\mkv\tags.xml has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly."


Edit: My fault, I've forget that tags and chapters files can be imported only from "Global" tab.

Lincoln Burrows
9th October 2011, 04:13
I am getting this error always after clicking on the Start button. Tested with different Blu-rays:

Error: could not find file:

BDMV\PLAYLIST\HVDVD_TS\00800.mplsThe file is there, but not in this location. There isn't a folder called HVDVD_TS.

I think this is a bug. The program is looking for a path that never existed in decrypted Blu-rays to begin with.

It should look for:

BDMV\PLAYLIST\00800.mpls

Edited: The author fixed that bug in the 0.11 version you forgot to mention:
http://code.google.com/p/xin1generator/downloads/list

- Fixed detection of Blu-ray titles with multiple angles.
- Minor GUI tweak.

robpdotcom
9th October 2011, 17:46
To answer your question from another thread, this uses eac3to and will NOT touch the quality of any of the streams - there is no conversion going on, just demuxing. Just make sure you select the appropriate output type: I suggest mkv for any h.264 stream(this prevents you from needing to specify the framerate with mkvmerge), and leave the rest with the "*".

mbcd
12th October 2011, 16:55
Are there any ideas how you could demux a movie later?

I mean:
In one year I need to have only the directors-cut, so how could I demux audio, video and everything else ONLY from the directors-cut-version?

Demuxing the whole mkv will end in a unsorted mix of all versions inside and that is bad.

So how can I extract only one selected title ?

robpdotcom
13th October 2011, 03:26
Whichever edition you select first from the xin1 gui, that edition should be complete from beginning to end, with the other editions appended on to the end. So, the first edition can easily be extracted by simply splitting it.

Another option is to use Graphstudio:

The chain would be Source > Haali > SMM Muxer > File Writer. As long as you don't have any decoders in the chain, SMM will mux whatever Haali sends it, and you can select the edition you want by right clicking on the Haali box in the graph. Click the "play" button to start the muxing (circled in red). The downsides: you lose chapters, but you can create those manually, and in some cases I needed to run the mkv through mmg to remux it:


http://666kb.com/i/bxqvszmbe7ywxnzb6.jpg

mbcd
13th October 2011, 12:56
Good idea ! :thanks:

But then you have to demux the file twice again, because on this way you can only select ONE Audiotrack, and ONE Subtitletrack.

If you have more than one of each tracktypes you have to redo demuxing. Thats possible, of course, but not a fine or optimal way.
All a lot of work in the moment.

A nice suggestion would be to have a option in X1, or a seperate Tool for demuxing.

Must have a look if it is possible to demux with mkvextract and a modified chapterfile.

But very nice tool ! I like it, keep on developing please !

robpdotcom
13th October 2011, 14:53
If you need extra audio/subs, then you can set the graph up again, but without connecting the video pin. It's still not ideal, but it would save time and space.

hubblec4
13th October 2011, 20:34
a "Stop working" button will be nice.

Lincoln Burrows
16th October 2011, 17:51
robpdotcom, how is this program really working? I don't get it.

Look what I said here:
http://forum.doom9.org/showpost.php?p=1532238&postcount=4

Will you be able to switch between specific scenes with multi-angles? Or do we need to have a full 2 hour alternate version to merge with the original one?

I mean, let's say the DC version only features an alternate scene between 30m and 35 minutes. Will I be able to do this and continue watching the rest of the movie after 35 minutes?

http://i.imgur.com/klSL0.png

As I said in that thread, if I switch to video stream #2, right after the 2nd angle ends, it stops the playback. But it should not do that.

robpdotcom
16th October 2011, 18:30
Are you using it to rip the movie from the disc?

Lincoln Burrows
16th October 2011, 20:47
Are you using it to rip the movie from the disc?I have a Blu-ray decrypted in my Hard Drive.

http://i.imgur.com/XPcaY.png

Anyway, I followed your steps and got the following files:

chapters.xml
qpfile.txt
tags.xml
track1 - Log.txt
track1.h264 (forgot to put mkv, but it's simply a matter of writing 24000/1001 in MKVToolnix - will that be OK?)
track2.dtsma
track3.ac3 (and a few others)
track9.sup (and a few others)

Now what should I do? I mean, I selected the stream files in MKVMerge, but I don't know if I should select both chapters.xml and tags.xml files.

http://i.imgur.com/G9z15.png
http://i.imgur.com/hYigA.png

Is that OK?

Note: Before answering please look what I said (and someone replied) here:
http://forum.doom9.org/showthread.php?t=152799

And I am doing this with that Star Wars movie mentioned.

robpdotcom
16th October 2011, 21:06
It looks like you did everything correctly except the tag file should be added via the global options tab. Once you are finished, you can select the title via the Haali tray icon, or in MPC-HC by: right click > Filters. As far as ripping the video stream to mkv instead of an h264 file, I've read that you should never extract raw h264 streams, and I've also read that it is no longer an issue with mmg.... I've never had problems either way, but I let eac3to extract as mkv to be safe.

BTW: If you want to change the default title, you can open the chapters.xml file in Notepad. Look for the lines "<EditionFlagDefault>X</EditionFlagDefault>". You will see this for each edition (title). A "1" means default, a "0" means not default. You can add the chapter file without remuxing via mmg "Chapter Editor" tab - drag the file into the "Chapters" field, and then select "Add to Matroska File from the Chapter Editor pull down menu (located above the tabs). Select the mkv, and mmg will take a few moments to add the new chapters.


http://666kb.com/i/bxup6bw1t1itx0ozm.png

Lincoln Burrows
16th October 2011, 22:14
Well, it seems it's not working. It only created a MKV file with several chapters, but no sign from the alternate credits.

I forgot to add the DTS-HD MA track to MKVMerge (it was saved using the extension dtsma, that's why MKVMerge couldn't find when I selected all streams). Anyway, even with the other streams, I couldn't find this 2nd angle...

robpdotcom
16th October 2011, 22:45
\I couldn't find this 2nd angle...

Did you right click on the Haali tray icon?

Lincoln Burrows
16th October 2011, 23:43
Did you right click on the Haali tray icon?OK, let's do this again... this time including that missing DTS-HD MA track. :rolleyes:

Do I need to do this to switch between versions? I thought it was only necessary to navigate between the player menus...

robpdotcom
17th October 2011, 00:05
You cannot change editions through the player's navigation menu.

I edited my first post in this thread - it explains how to switch editions.

Lincoln Burrows
17th October 2011, 01:09
It worked! But is raises one last question: what if I wanted to add a new audio or subtitle stream into the generated MKV file?

Will I just need to open the MKV with MKVMerge to do so?

robpdotcom
17th October 2011, 01:43
It worked! But is raises one last question: what if I wanted to add a new audio or subtitle stream into the generated MKV file?

Will I just need to open the MKV with MKVMerge to do so?

Well, first you would need to extract the new stream with xin1 - making sure to choose the titles in the same order as you did for the original.

Then, you could mux it in with mmg. However, I'm not sure if the tag file is kept when remuxing (I think it is), so you might need to get that when you extract the new stream.

Later on I'll explain how to create tag files manually, and how to add them to existing mkv's (it can be done in a few seconds without remuxing).

Fullmetal Encoder
5th November 2011, 22:24
robpdotcom, do you know if the author is currently accepting requests for improvements on this or is he pretty much done with it?

robpdotcom
6th November 2011, 02:03
robpdotcom, do you know if the author is currently accepting requests for improvements on this or is he pretty much done with it?

I haven't contacted him in a while, but he was very open to suggestions when I did. I'm thinking of asking him to try to incorporate mmg - it can now open m2ts files, so it should be possible to create an mkv from the disc in one step.:cool:

What were you thinking of requesting?

Fullmetal Encoder
8th November 2011, 23:59
I haven't contacted him in a while, but he was very open to suggestions when I did. I'm thinking of asking him to try to incorporate mmg...

Well, regarding using mkvmerge I was going to bring that up. When I discovered that it could so easily handle .m2ts file demuxing I was impressed. Not just the video but it perfectly handles the HD audio and subtitles and packages them all into nice, neat little MKV's for us. But this highlights a problem I have found with the way Xin1Generator produces h264 files. It is using eac3to for this. What I have found is that eac3to apparently does not properly write the h264 file. I think it does something to the stream because I compared a DGIndex dga file produced from eac3to's h264 with a dga file created directly from the .m2ts and they differ. But if eac3to isn't modifying the video stream then I would think they should be same. Incidentally, testing a dga file generated from an h264 stream created by mkvmerge against the m2ts dga yielded a perfect match. This leads me to believe that mkvmerge would be a much better choice for demuxing the video stream.

...it can now open m2ts files, so it should be possible to create an mkv from the disc in one step.:cool:

Yes, it could give MakeMKV a run for its money :) At least for those of us who have their disks already on their computer. In fact being able to demux everything out into a single MKV would be extremely helpful to me for my particular workflow as it would pretty much eliminate file clutter. This could be done with mkvmerge now but it would be very nice indeed to have the option to specify multiple titles to be packaged like that all in one go through Xin1Generator's CLI.

What were you thinking of requesting?

Well, my goal is to be able to do Avisynth processing on my blu-rays excluding certain segments within an .m2ts title while maintaining chapters in the final product with start points that land precisely on I-frames (totally smooth chapter navigation). The problem is that television shows will almost always have an OP and an ED. If I demux and process the entire title the OP and ED get processed and encoded for every single episode over and over again. Naturally this wastes a tremendous amount of processing time and drive space and requires a lot of drive thrashing for no reason. Thus, I'd like to be able to use Xin1Generator to specify which chapters get extracted into respective audio, video and subtitle streams (with each chapter as a separate file).

Of course, if certain chapters have been excluded from the title then the original chapter start points are no longer useful but that's why the goal is to get each chapter demuxed from the m2ts into it's own separate file. I can then attach an "empty" chapter file (with 0 for a start time) to each chapter file and combine them into whole episodes using mkvmerge. When doing this, mkvmerge automagically assigns the correct chapter start points to land perfectly at the beginning of each chapter segment.

As luck would have it, mkvmerge has the ability to split the video, audio and subtitle streams like this. All you have to do is provide it with the appropriate chapter time points which Xin1Generator already has perfect access to :sly:

Of course, for this to be truly powerful it would need to be accessible in CLI. It shouldn't be too difficult to do this as Xin1Generator already can tell how many chapters are in a title. If they were identified by Xin1Generator as, say, chapters 1-6, then using a command line switch and comma separated list of the chapters I want to keep should be all that's needed and the program could just impose that on mkvmerge. In fact, it could go a step further as sometimes the middle of an episode will have multiple chapter points that we may want to be extracted as one long chapter. For example, for a title with a chapter structure that looks like this:

Chapter 1 - Prologue
Chapter 2 - OP
Chapter 3 - Part A
Chapter 4 - Part B
Chapter 5 - ED
Chapter 6 - Next Episode Preview

the command line might look like this:

-c 1,3-4,6

There is one problem with that though and that is that mkvmerge's method for demuxing and splitting a stream by time values doesn't explicitly allow you to forgo demuxing a segment within a title that you do not want to demux. So for example, if I tell mkvmerge to split an .m2ts episode after the prologue (before the OP) and after the OP (before part A) it will still write the OP in a separate, demuxed file. I don't know any way to stop it from writing the OP without forcibly aborting the splitting process. But maybe the developer of Xin1Generator has a better way.

Oh well, this is probably too much to be implemented but since I have some access to the developer I figured why not go for the gold.

I appreciate your acting as the go-between for us but as a matter of curiosity why doesn't he appear here himself? Or maybe they are too busy at MIT to bother with us :P

robpdotcom
9th November 2011, 03:24
I think the author is not here because he mostly created the program for his own personal use, but is kind enough to share it with everyone else. Of course, that's just a guess, but it's completely his choice if that's the case.

As far as the way eac3to handles h264 files, I seriously doubt it does anything wrong. Do you extract them, or mux them to mkv? From what I have been told, it's not a good idea to extract raw h264 files, so I always mux them. I've used it on over 100 h264 encoded discs, and never had any problems.

Fullmetal Encoder
10th November 2011, 01:44
I think the author is not here because he mostly created the program for his own personal use, but is kind enough to share it with everyone else. Of course, that's just a guess, but it's completely his choice if that's the case.

As far as the way eac3to handles h264 files, I seriously doubt it does anything wrong. Do you extract them, or mux them to mkv? From what I have been told, it's not a good idea to extract raw h264 files, so I always mux them. I've used it on over 100 h264 encoded discs, and never had any problems.

My process to test the eac3to demux of the h264 stream was to first use DGAVCIndex to demux a raw h264 stream from an m2ts file as well as create the dga index file. The next step was to create a dga from the h264 stream that eac3to produced from the same segment in the same m2ts file. I did that and then compared both of the dga files in a text editor. Since DGIndex should be operating the same way when working with each h264 stream I would expect the dga's to be the same. Interestingly enough the h264 streams themselves are different with the one produced by DGAVCIndex being about 2.5 MB larger. So for me this begs the question, where did the 2.5 MB go?

At first I wondered if this might be due (somehow) to the fact that one dga was created from the m2ts file directly while the other dga was created from the elementary stream produced by eac3to. So I tried creating a dga from the elementary stream produced by DGAVCIndex (as opposed to the m2ts) and obtained the same results as before. Actually, looking at the files just now I noticed that the DGAVCIndex stream has the extension ".264" while the eac3to stream has the extension ".H264" Perhaps there is some padding in the .264 file or something. I am not aware of the intricacies of the two extensions.

TL;DR

In any case the testing was valuable because it strongly indicates to me that there would be no trouble trusting mkvmerge's demux of the video stream should any option to use mkvmerge be implemented in Xin1Generator.

If you get the chance, thank the developer for me for providing this tool to us. It really is a golden nugget because it's the only tool I know of that can incorporate extra versions from a blu-ray into a single mkv.

DMosc
10th November 2011, 15:26
Hi. It's me, the author. Let me first address why I haven't been active in this thread. Xin1Generator started out as a tool for a certain private community, and I still provide support there. About a year ago I made the program publicly available via Google Code. This allowed me to provide support in two additional ways:

Google Code's Issues functionality
Email; my email address can be found on the Google Code page


I initially did not want to provide support in another way, but apparently many people can't find my contact information on Google Code or simply prefer to post on this forum. I'll monitor this thread more closely from now on.

A nice suggestion would be to have a option in X1, or a seperate Tool for demuxing.
It would be best to have this as a separate tool. If anyone is interested in picking this up, feel free to take a look at a tool I wrote a few years ago that deals with files created by Xin1Generator, among other Matroska files with unordered chapters: ChapterUnorderer (http://dl.dropbox.com/u/11777899/ChapterUnorderer.7z). In its current state, it not very suited for use on Xin1 files, simply because it take a really long time and consumes a lot of space. It might work, though!

a "Stop working" button will be nice.
I agree. Unfortunately, that's a functionality I hadn't considered while writing the program, and it's not so simple to add at this point due to the way Xin1Generator handles threads and processes. If any developer knows of a relatively simple way to do this in a way more sophisticated than "kill every instance of eac3to and xport", I'm all ears.

I'm thinking of asking him to try to incorporate mmg - it can now open m2ts files, so it should be possible to create an mkv from the disc in one step.:cool:
I like this! One reason everyone loves eac3to is the way it flawlessly deals with delays and overlaps. Can you confirm that mkvmerge handles appending M2TS files equally well?

Well, my goal is to be able to do Avisynth processing on my blu-rays excluding certain segments within an .m2ts title while maintaining chapters in the final product with start points that land precisely on I-frames (totally smooth chapter navigation). The problem is that television shows will almost always have an OP and an ED. If I demux and process the entire title the OP and ED get processed and encoded for every single episode over and over again. Naturally this wastes a tremendous amount of processing time and drive space and requires a lot of drive thrashing for no reason. Thus, I'd like to be able to use Xin1Generator to specify which chapters get extracted into respective audio, video and subtitle streams (with each chapter as a separate file).

Of course, if certain chapters have been excluded from the title then the original chapter start points are no longer useful but that's why the goal is to get each chapter demuxed from the m2ts into it's own separate file. I can then attach an "empty" chapter file (with 0 for a start time) to each chapter file and combine them into whole episodes using mkvmerge. When doing this, mkvmerge automagically assigns the correct chapter start points to land perfectly at the beginning of each chapter segment.

As luck would have it, mkvmerge has the ability to split the video, audio and subtitle streams like this. All you have to do is provide it with the appropriate chapter time points which Xin1Generator already has perfect access to :sly:

Of course, for this to be truly powerful it would need to be accessible in CLI. It shouldn't be too difficult to do this as Xin1Generator already can tell how many chapters are in a title. If they were identified by Xin1Generator as, say, chapters 1-6, then using a command line switch and comma separated list of the chapters I want to keep should be all that's needed and the program could just impose that on mkvmerge. In fact, it could go a step further as sometimes the middle of an episode will have multiple chapter points that we may want to be extracted as one long chapter. For example, for a title with a chapter structure that looks like this:

Chapter 1 - Prologue
Chapter 2 - OP
Chapter 3 - Part A
Chapter 4 - Part B
Chapter 5 - ED
Chapter 6 - Next Episode Preview

the command line might look like this:

-c 1,3-4,6

There is one problem with that though and that is that mkvmerge's method for demuxing and splitting a stream by time values doesn't explicitly allow you to forgo demuxing a segment within a title that you do not want to demux. So for example, if I tell mkvmerge to split an .m2ts episode after the prologue (before the OP) and after the OP (before part A) it will still write the OP in a separate, demuxed file. I don't know any way to stop it from writing the OP without forcibly aborting the splitting process. But maybe the developer of Xin1Generator has a better way.

Oh well, this is probably too much to be implemented but since I have some access to the developer I figured why not go for the gold.
While an interesting use case, that's honestly too much work for me to consider implementing right now. Sorry. Patches welcome!

robpdotcom
10th November 2011, 16:01
Hey! Glad to see you stopping by here. I think you're right that some people have trouble finding your contact info, and I imagine that some are also hesitant to use email, out of fear they would be bugging you.

I like this! One reason everyone loves eac3to is the way it flawlessly deals with delays and overlaps. Can you confirm that mkvmerge handles appending M2TS files equally well?

I can't confirm it, but I will do some testing. I guess a good way would be to use Xin1 to create the chapter file and then use mmg to manually append the tracks?

I looked into this a bit a while back, and did see one thing that may be helpful. MKVmerge has two ways of appending files, as described below:

--append-mode mode

Determines how timecodes are calculated when appending files. The parameter mode can have two values: 'file' which is also the default and 'track'.

When mkvmerge appends a track (called 'track2_1' from now on) from a second file (called 'file2') to a track (called 'track1_1') from the first file (called 'file1') then it has to offset all timecodes for 'track2_1' by an amount. For 'file' mode this amount is the highest timecode encountered in 'file1' even if that timecode was from a different track than 'track1_1'. In track mode the offset is the highest timecode of 'track1_1'.

Unfortunately mkvmerge cannot detect which mode to use reliably. Therefore it defaults to 'file' mode. 'file' mode usually works better for files that have been created independently of each other; e.g. when appending AVI or MP4 files. 'track' mode may work better for sources that are essentially just parts of one big file, e.g. for VOB and EVO files.

Subtitle tracks are always treated as if 'file' mode were active even if 'track' mode actually is.


Anyway, I'll test out using mmg to append the files, probably tonight, and report back the results.

Oh, and btw, thanks again for sharing your program, and now for providing feedback here. Of course, you've probably opened yourself up to even more requests, and probably even some criticism, just as other developers here subject themselves to.:D

Mosu
10th November 2011, 23:22
I like this! One reason everyone loves eac3to is the way it flawlessly deals with delays and overlaps. Can you confirm that mkvmerge handles appending M2TS files equally well?

mkvmerge doesn't handle appending M2TS files well at the moment, unlike multiple VOBs from a single DVD for example. What I'm talking about is when a logical M2TS file is split into several files and which should really be read as one file. It's on my TODO list, though.

robpdotcom
15th November 2011, 01:18
Just an fyi, I tried using mmg to append the m2ts files of a seamless branching disc, and the results were not too good.

Guess we'll have to wait for Mosu to release a version that handles them better.

hubblec4
8th December 2011, 18:14
it will help if the output-file(s) gets the name of the language.

is there a way to do this?

DMosc
13th December 2011, 13:09
it will help if the output-file(s) gets the name of the language.

is there a way to do this?
Not right now, but it's an easy thing to implement once I have a bit more time on my hands. Harass me again in the upcoming weeks or file an issue on Google Code to help me remember.

hubblec4
14th December 2011, 15:41
i have found a way to get streams with the correct titles like eac3to do.

after generating the files (chapter, tag and extract.cmd) i open the extract.cmd file in an editor an delete all to extracted streams (1:track1 2:track2...) and type only the switch
-demux

now all streams will be demuxed with the right names of language and other informations.



PS:

or you unselect all streams. then set xin1-generater in the extract.cmd automaticly the switch "-demux".

Farfel
5th February 2012, 10:31
Ok, so I think I understand how this seamless branching/ordered chapters thing works, but I still have some questions.

In your example (and every example I've read about so far) you're using a single video track. That track has a "real" timeline and the ordered chapters are then used to jump around it, creating separate "Cuts." But what if I have a Blu-Ray disc that uses seamless branching with different video tracks? e.g. pretend there's a "Super Duper Cut" that includes all deleted scenes, even ones that not fully post-processed (lacking CGI, lighting, music, etc). These deleted scenes will most likely NOT be 1080p, but rather 480i or else. Also, what if I wanted to include Behind-the-scenes clips in the MKV file, how would I go about doing that if it contained different video characteristics as the main film?

I should point out some of this is hypothetical as I haven't encountered a Blu-Ray disc yet that has a Cut as crazy as I described above (with the different video sizes/framerates/codecs, etc) but I'm assuming it's possible? If it is, how would I stuff all that craziness into an ordered-chapter MKV file? Thanks.

hubblec4
5th February 2012, 16:35
with differnet videosize,- codec and other sounds, i think its not possible to create a single ordered chapter mkv.

maybe yo can create multiple linked files.

Farfel
6th February 2012, 04:51
Does the Blu-ray spec even allow this in seamless branching? Has anyone encountered a disc yet with different video size/codec in the same cut?

DMosc
8th February 2012, 18:59
The "craziest" seamless branching I've seen was on Certifiable: Live in Buenos Aires by The Police. It has TrueHD/AC3 audio tracks in most of the files, but plain AC3 on two very small files with a total length of 6 seconds. This messed up Xin1Generator because eac3to would ignore those files in demuxing, while Xin1Generator did use those files to determine the number of frames. Temporarily renaming the two files so eac3to wouldn't pick them up in the first place provided a workaround.

I can't guarantee you that other similar problems don't exist, but it's rare enough that we can handle them on a case-by-case basis.

Thunderbolt8
9th February 2012, 00:24
^^even that didnt work out properly in my case, because for some reason, my chapterfile was different from yours, although our eac3to and xin1generator versions were the same -.-

szabi
27th February 2012, 10:49
Hi

Can I use this program for DVD as well?
If it is not possible, could anyone upload these workable files created by the program?

chapters.xml
tags.xml
qpfile.txt
extract.cmd

Perhaps I can understand how to use chapters to reach my goal.
Thnx.

bye
szabi

DMosc
29th February 2012, 23:14
Xin1Generator itself could be fairly easily modified to support DVDs, but unfortunately eac3to (which Xin1Generator relies heavily on) simply doesn't support the DVD structure.

Here's an example of Xin1Generator output: http://www.mediafire.com/?74urzmlg09en0lu

szabi
3rd March 2012, 19:03
Thnx for upolading. :thanks:
I tried to do it manually.
There are 19 differences between theatrical and directory version, in the movie.
Some scene is not only longer but exchanged as well.
When i realised that i postponed the project.
If it had been a simple extended version i could have done it.
But different scenes, no idea. :confused:

bye
szabi

szabi
7th March 2012, 20:54
Hi

I wanted to test this program with a movie.

Lenght of theatrical version is: 1h56m37s
Directory version is: 1h55m50s
After extraction, i got this lenght: 2h48m11s.

There is not as much alternate scene as i got longer time.
IAW comparison (http://www.movie-censorship.com/report.php?ID=1385) between the two version the difference is 312 sec, however directory one is sorter.
So I do not understand what is the extra 45min.

bye
szabi

hubblec4
8th March 2012, 01:24
yeah thats ok for this version.

the "extra" length of 45mins comes from the different sence. use the chapter.xml in mkvmerge. it will work.

robpdotcom
8th March 2012, 04:43
If you want both versions, an extra 45 minutes is much better than the alternative - which would be an extra 1h55m.

szabi
8th March 2012, 11:39
Yeah you are right, plus 45min is better than plus 1h55min.
But i still do not understand it.
In the movie the scene difference is only 312sec not 45min.

I am not familiar with BD structue, so I do not know what way the extra scenes are stored.
Propable this extra 312sec scene are stored separatedly, in this 45min.
That can be a reason for this result.

hubblec4
8th March 2012, 13:46
But i still do not understand it.
In the movie the scene difference is only 312sec not 45min.


thats correct, but the scences stored in diffrent m2ts-files.
and maybe a part of this files have the same video inside like an ohter m2ts-file.

with eac3to you can show what files needed, and you can compare this files.


or you make your own 2in1 version. you look the whole movie an notice the timestamps when start another scene.
then you make an ordered-chapter.xml by your self.
(its a lot of work)

szabi
8th March 2012, 16:14
Yeah, I know it.
I wrote previously I gave up doing it manyually, because of lots of work.

I do not understand it, because i am not familiar with DB structure.
I just prefer clicking on the extract button. :cool:

bye
szabi

hubblec4
10th March 2012, 23:56
hi everyone.

I have created a 4-Edition-mkv of Terminator 2 - Judgment Day.

The Bluray contains 3 Editions (theatrical cut, directors cut and the Extended Cut(T-1000 Edition)).

But i like to watch all the extended scence without the alternitive end. So i created an ordered chapter.xml with a 4th Edition.

For correctly playing the file you need a splitter that handles ordered chapters, like Haali Splitter or AVSplitter (Lav Filter dont support ordered chapters yet)

If you watching the file without an "ordered-chapter-splitter" you get the 2. Edition(Directors cut) automaticly.


Attachments:
the ordered chapter.xml with the chapter titles for all 4 Editions in english.
the tags.xml to show the editions
an extract.cmd--> use this file to get the streams of the bluray
deu ndn.sup thats the german forced subtitles
(qpfile.txt: this file you need for encoding)


Have Fun.


PS: Please redownload the 7zipfile. The 4.Edition is fixed!(ordered chapters set not correct: one extended scene plays two times)

MukiEX
18th March 2012, 12:49
Is there any way to migrate track names over? Manually putting those in seems exceedingly tedious, especially for the track count that Blu-Ray titles tend to attain.

Lincoln Burrows
25th April 2012, 02:53
It worked! But is raises one last question: what if I wanted to add a new audio or subtitle stream into the generated MKV file?

Will I just need to open the MKV with MKVMerge to do so?Well, first you would need to extract the new stream with xin1 - making sure to choose the titles in the same order as you did for the original.

Then, you could mux it in with mmg. However, I'm not sure if the tag file is kept when remuxing (I think it is), so you might need to get that when you extract the new stream.

Later on I'll explain how to create tag files manually, and how to add them to existing mkv's (it can be done in a few seconds without remuxing).To answer my own question, it's possible to add a new audio track and this track will be read just fine. For example, I have a movie called "Once Upon a Time in West", where there are 2 versions - Theatrical and Restored:

http://www.movie-censorship.com/report.php?ID=991957

Restored has some additional scenes. I added a portuguese dubbing track, only made for the theatrical version, and synchronized with this version for the DVD. I find out this track is synchronized with either the theatrical and restored versions from the Blu-ray. The additional scenes from the restored version do not read this track, as expected, only the others like english. MKVTOOLNIX kept the tags/chapters information, created by xin1generator, when saving the MKV again.

P.S. I think you should modify this program to save DTS-HD MA tracks with the DTS extension (if this is not a problem). I had to rename it to make sure MKVTOOLNIX would recognize. It saved with the DTSMA extension.

robpdotcom
25th April 2012, 03:59
MKVToolnix should recognize it, maybe you need to update.