PDA

View Full Version : DGIndex Problem


Soul_O
5th September 2011, 22:17
Trying to convert a ripped DVD movie using megui I am repeatedly encountering a weird error. The movie has been ripped by simply copying the desired VOB-files with the help of AnyDVD. After having created a project file with DGindex and trying to create an avisynth script using the DGIndex project file the megui preview shows the movie weirdly cropped to a very small height. The height differs between different DVD sources between 80 and 96 pixels. I can rule out that it is a megui problem because using AutoGK or GK has the same result. Surprisingly (or maybe not, someone please tell me), if I try to create a project file from not the first but the second or any subsequent VOB-File it works like a charm.
The same problem occurs on different machines running different OS.

Thx for the help in advance
Soul_O

neuron2
6th September 2011, 00:20
Please post a link to a VOB file fragment that can be used to duplicate the issue. You can use DGSplit to cut the VOB. 50-100MB should be fine.

Soul_O
6th September 2011, 10:38
I feel very honored, that the author of DGIndex himself is takin care of that :-) I have uploaded a sample of the probably corrupted VOB-file here (http://www.megaupload.com/?d=G8C47B7C). I looking am forward to your analysis.

Soul_O

Groucho2004
6th September 2011, 11:29
Please post the script. A wild guess would be that you have an autocrop in there that locks on to the first frames.

Edit: Also, this vob crashes DGIndex (DGIndexNV works fine, though).

Soul_O
6th September 2011, 12:31
I have created a d2v-project from the test.vob and opened it with MeGUI avisynth script creator. The script creator detects a height of 96px. The used script reads as follows:

LoadPlugin("C:\Program Files\megui\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("E:\movie\Schmetterling\test.d2v", info=3)
LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\ColorMatrix.dll")
ColorMatrix(hints=true, threads=0)
#deinterlace
#crop
#resize
#denoise

As this is the standard code applied to every d2v-project in MeGUI I can see no reason why any auto-cropping should occur:confused:. Concerning your remark that the VOB-file makes DGIndex crash: It does when you try to preview the stream, however, a project file can be created.

Greez
Soul_O

Groucho2004
6th September 2011, 12:40
OK, I didn't even try to save with DGIndex after it crashed using the preview.

I get the same, oddly squeezed image with DGDecode. It works fine with the NV tools.

Let's see what Don finds out.

neuron2
6th September 2011, 13:06
The download link is "temporarily unavailable". Can you put it on mediafire.com please?

Soul_O
6th September 2011, 13:18
There you go:
Sample @ Mediafire (http://www.mediafire.com/?1p949zk76nu853z)

Greez Soul_O

neuron2
6th September 2011, 19:08
The stream has a sequence at the start that has a single I picture. The sequence is 720x480 @ 29.97 (NTSC). After that all the sequences are 720x576 @ 25 (PAL). Neither DGMPGDec nor DGDecNV can handle dynamic frame size changes like that, although the latter at least does not crash. If I cut away the first sequence, everything is fine in both applications.

As Avisynth provides no way to signal such changes, and applications typically are not designed to handle such changes, there's not much to be done about this.

Soul_O
6th September 2011, 19:14
Thanks for the analysis. I have two further questions:
(1) Can you tell me with which tool you have cut the VOB-File to remove the erroneous sequence?
(2) Could you imagine that freak sequences like the one you spotted in my VOB-file are inserted on purpose to confuse player / indexing software? I am asking this as I have found numerous DVDs that produce this error when being ripped.

neuron2
6th September 2011, 19:58
You can use any hex editor to cut the sequence. I use 'Hex Editor Neo'. Look for the second instance of 00 00 01 B3 and cut everything in front of those 4 bytes.

Regarding your second query, I have wondered the same but I have no data to decide that one way or the other. It could also be just bad mastering.

manolito
7th September 2011, 14:55
DVDPatcher has an option to patch the "First Header only". This way you can easily repair (and also create) such illegal streams.

Cheers
manolito

Soul_O
7th September 2011, 16:04
Thank you all for your helpful posts. My problem has been solved, people are right when they say that the guys @ doom9.org know what they are talking about.
One last question to neuron2: I understand that 00 00 01 B3 is the sequence header in a mpeg2 stream. Therefore, i conclude that the standard procedure for repairing those broken VOB-Files should be the sequential deletion of sequences from the start of the file (also dealing with the case that there is more than one erroneous sequence) until the indexer yields a working d2v-project (of course, including the whole movie). Do I get that right?

Thx again
Soul_O

Shirtfull
7th September 2011, 17:02
Try using IFO mode in Dvd decrypter (on DVD), to extract vobs

neuron2
7th September 2011, 17:23
I understand that 00 00 01 B3 is the sequence header in a mpeg2 stream. Therefore, i conclude that the standard procedure for repairing those broken VOB-Files should be the sequential deletion of sequences from the start of the file (also dealing with the case that there is more than one erroneous sequence) until the indexer yields a working d2v-project (of course, including the whole movie). Do I get that right? There's no guarantee that they are all at the start of the file, so there is no "standard procedure" like you describe. You just have to ensure that your stream doesn't switch between PAL and NTSC anywhere. This kind of borked stream is so rare that I find it very hard to justify any checking/reporting for it, although that might help you to at least know that you caught them all.

TheFluff
7th September 2011, 19:07
FFMS2 supports variable resolution streams. They're pretty common on some broadcast television channels.
Unfortunately, using FFMS2 on VOB's is sort of a bad idea for other reasons, but the support is there.

neuron2
7th September 2011, 19:16
That's interesting. How does Avisynth handle that, and what does an encoder do when the frame size changes? (Of course we're talking about an Avisynth source filter, not a DirectShow decoder.)

TheFluff
8th September 2011, 03:25
That's interesting. How does Avisynth handle that, and what does an encoder do when the frame size changes? (Of course we're talking about an Avisynth source filter, not a DirectShow decoder.)

That's the rub, Avisynth doesn't handle it. The FFMS2 Avisynth plugin deals with that limitation by defaulting to outputting every frame as if it had the resolution of the first frame. If the user doesn't like that they can specify the output resolution themselves in the call to ffvideosource(), which will resize all frames to that resolution where necessary. For actual full support you need to use the FFMS2 API directly.

neuron2
8th September 2011, 04:40
That's a creative solution. Maybe I will copy it one day. :D

Soul_O
18th September 2011, 17:36
Izmeee again...
The above elaborated procedure removing everything to the second appearance of the "00 00 01 B3" byte sequence in the first VOB-File has worked (probably by pure chance / luck) fine for several previously non-indexable files. Now I have come across a DVD that won't surrender to the method. As I won't bother you to analyze my faulty VOB-files I have the following questions:
What application would you propose for the analysis of the VOB files to find the sequence with the wrong resolution that makes DGIndex fail? Do those applications tell where I can find the unwanted sequence within the raw VOB data so I can remove it?

THX in advance
Soul_O

Soul_O
20th September 2011, 11:01
Any suggestions?

neuron2
20th September 2011, 12:45
Any decent MPEG2 analyzer program. I use a company prorietary program that I cannot share with you. Sorry.

Jenyok
20th November 2011, 12:08
dgmpgdec 1.5.8
I try to use DGIndex (dgmpgdec 1.5.8) to create D2V file and WAV file from AC3 audio track in video content.
But there is no demux WAV file from AC3 audio track.
.
dgmpgdec 1.4.8
DGIndex (dgmpgdec 1.4.8) does this job (see upper) well. There is the same DVD disk.
.
What can I do wrong ?