Log in

View Full Version : FixVTS Version 1.25 (New version)


Pages : 1 [2] 3 4 5

jeanl
12th December 2005, 20:54
weaver4,
I've heard of these problems, but never seen them myself! I don't quite understand how this can happen, but I doubt that FixVTS will fix it, unless you use the option NOT to remove unreferenced material. My guess is that removing the blank frames that DVD Decryper leaves behind alters the audio/video sync (although there's really no reason for that!).
Try using FixVTS with the option to remove unreferenced material off (you'll have to try that on the original, right after the rip). This will replace the blank packs with standard stuffing packs, but otherwise shouldn't change anything to any timing, the output DVD will be quite similar to the original.
Let me know if that works.
jeanl

jeanl
12th December 2005, 21:02
@weaver4,
Come to think of it, I think it's possible that removing the blank packs would cause the video and the audio to no longer be syncrhonized, if the encoding it's very smart about it. I've never used the programs you mention, so I don't know if they work on a cell-by-cell basis, and if they look at the PTS (presentation times) of the audio and video to synchronize the two (which they should) or simply rely on where the audio/video packs fall to do that (which would be bad, and could explain the mis-sync).
Do the experiment I suggest if you have some time, and let us know what you find out!
thanks!
Jeanl

jeanl
12th December 2005, 21:16
@jeanl : mails sent, if everything goes fine you will get it right now. I can do some tests if you can't work it out (approx. from wednesday).
Thanks davemorell! I'll look at it tonight, but I'm not sure I'll be able to reproduce the problem with a different DVD than the one you're using (which one is it by the way)?
In the meantime, if you have some time on your hands, and you're willing to do some experiments, here's what you could try:
- Setup FixVTS to process from backup (i.e., not in-place) so you can revert to the last version.
- From the original, run FixVTS on 1 VTS at a time, and each time, see if the output can be opened OK in CloneDVD2: start with VTS1, then VTS2 etc. Finish with VIDEO_TS.VOB. At one point (I suspect at the very end, with video_ts.vob), the DVD won't load successfully. That's where you want to stop.

At that point, you have the output IFOs and vobs in the current folder, and the IFOs/vobs prior to processing in the backup folder. Let me know which VTS seems to be causing the problem, and send me the IFOs before and after...

Thanks in advance!
jeanl

weaver4
12th December 2005, 21:49
@weaver4,
Do the experiment I suggest if you have some time, and let us know what you find out!
thanks!
Jeanl

I'll try it and get back with you.

davemorell
12th December 2005, 22:43
@jeanl
I found the problematic vob file with your method. It was video_ts.vob as you assumed. Then I made another test: made the cleanup without removing the unreferenced material and blank cells, and guess what? CloneDVD2 successfully opened it. So the error occured only when I cleanup with remove unref and blank cells. I hope this get you more closer to the problem.

also I sent you the necessary files

ps.: I talkin' about The Longest Yard (R2) DVD

jsoto
12th December 2005, 23:55
@jeanl,
I'm very interested. If the problem is in the algorithm, it will also be in VB. Current version (the one I'm working on) is already able to renumber the VID/CIDs.

jsoto

jeanl
13th December 2005, 00:12
jsoto, it's not in the algorithm. I found the problem, and it's something that FixVTS seems to be doing, which I don't quite understand !!!! Apparently, in the output IFO (from FixVTS) the data in video_ts.ifo at offsets 2c, 2d, 2f and 2e show FF FF FF FD, instead of 00 00 00 00 in the original. VB obviously won't have that problem!
Now I have to find out why FixVTS changed these values! It must be something quite stupid, but I have to find it!
jeanl
P.S. I knew it wouldn't take you long to add that renumbering! ;)

jsoto
13th December 2005, 01:26
... in video_ts.ifo at offsets 2c, 2d, 2f and 2e show FF FF FF FD, instead of 00 00 00 00 in the original....

Do you really mean 2c, 2d, 2e & 2f? Are you modifying intentionaly these offsets? Why? What do they mean?
P.S. I knew it wouldn't take you long to add that renumbering! ;)Yeah, remumbering is quite easy (although I had to do it many times in the code, because how it is structured), but I'm stumped (as I was expecting) with cell split. I need to modify (and sometimes grow) the IFOs in memory and it is not easy to do w/o affecting other parts of the code...it is not ready to grow the IFOs.
jsoto

jeanl
13th December 2005, 01:30
Do you rewally mean 2c, 2d, 2e & 2f? Are you modifying intentionaly these offsets? Why? What does they mean?

They mean nothing as far as I know, and I have NO IDEA why FixVTS modifies them!!!!! But I'll know tonight (I'll do some tests using the IFOs that davemorell sent me). I've create a small stupid program that you might find interesting: it creates a VOB file according to an IFO: you start from an existing vob from any DVD you have and it removes or add navpacks, renumbering them as needed, according to the IFO. Of course, the resulting DVD is completely broken from the video/audio point of view, but it does have the VOBU structure of the original, and oftentimes it's enough to test simple bugs.

Yeah, remumbering is quite easy (although I had to do it many times in the code, because how it is structured), but I'm stumped (as I was expecting) with cell split. I need to modify (and sometimes grow) the IFOs in memory and it is not easy to do w/o affecting other parts of the code...it is not ready to grow the IFOs.
Jsoto, I'm not sure how you do your stuff, but to grow my IFOs, I simply copy all the data that's beyond what I need to grow by the necessary amount of LBAs, and I update the pointers that point beyond the LBA where I'm growing. I'm not sure why I'm telling you that, cause that's very obvious. If you say your code isn't ready for that, you must have a good reason. :(
jeanl

jsoto
13th December 2005, 01:43
Jsoto, I'm not sure how you do your stuff, but to grow my IFOs, I simply copy all the data that's beyond what I need to grow by the necessary amount of LBAs, and I update the pointers that point beyond the LBA where I'm growing. I'm not sure why I'm telling you that, cause that's very obvious. If you say your code isn't ready for that, you must have a good reason. :(
jeanl
Yes, I have. I'm addressing part of the IFOs with pre-calculated pointers, stored on memory. So, each time I grow the IFOs, I need to update these pointers. This can be done, but the same pointers are used by the GUI to show the different things/lists. In example: the cell number in a PGC will change (increased by one or more) if a/some previous cell/s in the same PGC is/are splitted. And this cell number is used to store what to do with the cell (replace, blank, etc)
So, seems I need to duplicate the set of pointers, keep the originals to be used as they were before, and use the new set to update the IFOs, updating themselves accordingly.
I'll take some time thinking on it...
jsoto

jsoto
13th December 2005, 01:50
They mean nothing as far as I know, and I have NO IDEA why FixVTS modifies them!!!!! But I'll know tonight (I'll do some tests using the IFOs that davemorell sent me). It's difficult to believe that these values make CloneDVD to fail... But may be FixVTS is done anything more wrong in this situation....
jsoto

jeanl
13th December 2005, 01:56
Well, you read the message from CloneDVD2:
"DVDManager 0 invalid AdaptedDisc Type"
somehow it reads these values as part of the disc type, the volume number and the side ID are not very far, actually...
I sent davemorell a modified IFO with these bits set to 0, and he replaced the one from FixVTS with the new one, and everything opened fine. Then replaced the old one again and everything failed. I checked that the difference between the two was ONLY these 4 bytes. So I'm pretty confident that that's the problem.
I'll tell you guys tonight what the stupid bug was! :)
jeanl

Drinken
13th December 2005, 03:53
I've create a small stupid program that you might find interesting: it creates a VOB file according to an IFO: you start from an existing vob from any DVD you have and it removes or add navpacks, renumbering them as needed, according to the IFO. Of course, the resulting DVD is completely broken from the video/audio point of view, but it does have the VOBU structure of the original, and oftentimes it's enough to test simple bugs.

I'd be very interested in checking out this piece of code, mind sharing it? :)

Dr.

jeanl
13th December 2005, 05:03
OK guys, it was indeed a STUPID bug (aren't all bug stupid? most for sure!).
I've posted version beta 1.16 here:
http://www.videohelp.com/~FixVTS/Downloads/

FixVTS -- Beta 1.16
- Fixed a bug in the IFO class that cause data to be written in the wrong place, which caused CloneDVD2 to refuse to open the DVD (but otherwise had no other side-effect)...
- FixVTS now updates the last navpack pointers in the menu domain as well, if they're incorrect.

This should fix the CloneDVD2 bug. Davemorell can you check that indeed, this does the trick?
Thanks!
jeanl

jeanl
13th December 2005, 05:07
I'd be very interested in checking out this piece of code, mind sharing it? :)
Dr.
Oh I don't mind one bit. I have to clean it a bit before I do that! As it stands some of the stuff is hard-coded. What would you use a tool like that for?
jeanl

Drinken
13th December 2005, 05:35
Not sure what to do with it, consider it educational... I'm guessing that it might be helpful for fixing some old butchered rips I got. VB refuses to process them, but with the "proper" vobs present I think it will. Easier than creating dummy vobs and go through PGCedit/VB mock strip ++ steps.

Did that make any sense? (Disclaimer: I'm NOT talking about downloaded material here, but old backups made with very old software and a stupid guy behind the keyboard (namely me). Sorry that I can't go into more detail, I also got teflon inside my head.).

Dr.

jeanl
13th December 2005, 05:56
Drinken, I think my little app wouldn't help you with that: it creates vobs that are completely useless because it totally messes up the video (sometimes replacing video and audio packs by navpacks) and completely messes the original GOP structure (replacing original navpacks with video packs if the IFO does not want them there!).
But you can still try to run FixVTS on your messed up DVDs, and see if that helps. No need to remove unreferenced material.
Why does vobblanker refuse to process your DVDs? What's the error message?
jeanl

Drinken
13th December 2005, 06:06
Well IIRC it's mostly vobs for non existant extras that it chokes on, but I might be wrong. There's also some with unsynchronised vob errors (which this surely wouldn't do much for). Haven't looked at it in ages. I was about to post that FixVTS might accomplish the same thing but you beat me to it. :)

So I guess it's not a big deal.

Dr.

jeanl
13th December 2005, 06:08
Well, who knows, give it a shot. The one thing that vobblanker does NOT like (and which FixVTS does not fix) is pgc cells that point to vob cells that don't exist. VB complains and won't open the DVD saying something like "cell not found"....
jeanl

jsoto
13th December 2005, 09:37
These cells can be easily removed with PgcEdit, but
VobBlanker also does not like :
A) Wrong references in C_ADT tables (FixVTS fix them )
B) Unsynchronized VOBs:
B.1---> Null packs, produced by DVDdecrypter while reading errored sectors. Fixed by FixVTS
B.2.---> Really unsynchronized, i.e. an offset of some bytes. Very rare, and I think FixVTS is not able to fix it. Is it?
jsoto

davemorell
13th December 2005, 09:55
FixVTS -- Beta 1.16
- Fixed a bug in the IFO class that cause data to be written in the wrong place, which caused CloneDVD2 to refuse to open the DVD (but otherwise had no other side-effect)...
- FixVTS now updates the last navpack pointers in the menu domain as well, if they're incorrect.

This should fix the CloneDVD2 bug. Davemorell can you check that indeed, this does the trick?
Thanks!
jeanl

I have just tried your newest release, and it is working like a charm. I tried two ways: video_ts alone and the fulldvd too, and CloneDVD2 had no problem with them.

Thanks for the great work :)

Drinken
13th December 2005, 10:17
Well, who knows, give it a shot. The one thing that vobblanker does NOT like (and which FixVTS does not fix) is pgc cells that point to vob cells that don't exist. VB complains and won't open the DVD saying something like "cell not found"....
jeanl

I think that's the error I got on several discs actually. I think I solved it on a couple by copying a small dummy vob to the missing ones (IIRC I just deleted the unwanted material, as I said, butchered). PGCEdit kill playback and some mucking about usually fixed it so VB was able to process it afterwards.

It's a wonder most of those discs actually works. Well if you don't click on anything outside of "Play" that is... that's probably the only thing that works.

I've learned alot since then though. :)

r0lZ
13th December 2005, 12:10
Yes, if you have accidentally ;) deleted a VOB by hand, or if you can't rip it from a damaged DVD, you can use PgcEdit's Blank Out All PGCs in Domain function to recreate a valid dummy VOB file. In a menu domain, you can even use the option to remove the VOB file completely. In both cases, it fixes the IFO tables.

weaver4
13th December 2005, 15:09
I'll try it and get back with you.

I tried it both ways and the audio is still out of sync. Any other ideas?

bourtzovlakas
13th December 2005, 15:21
From my experience...
If you use the "remove crap" operation of the psl plugin and then you use FixVTS, you won 't have a/v desync, when you encode to Mpeg4...

jeanl
13th December 2005, 20:41
FixVTS Version Beta 1.17
Here's (http://www.videohelp.com/~FixVTS) the latest beta for FixVTS.


FixVTS now renumbers the VIDs as well as the CIDs.
FixVTS now checks for empty output vobs and renames the others accordingly.
Restore backups now works better (won't forget files)
Fixed a bug that occured when the last cell of the last vob was removed.
Fixed a couple bugs when the vob file was empty to begin with, or the IFO didn't exist.
Fixed a bug in the IFO class that cause data to be written in the wrong place, which caused CloneDVD2 to refuse to open the DVD (but otherwise had no other side-effect)...
FixVTS now updates the last navpack pointers in the menu domain as well, if they're incorrect.
The log is now in the default directory pointed to by the %TEMP% environment variable. To open the log, right-click on FixVTS title's bar, and chose "Open Log".


Enjoy!
jeanl

r0lZ
13th December 2005, 21:43
Thanks, Jean!

dirio49
13th December 2005, 22:44
thanks Jean :)

jeanl
13th December 2005, 22:47
I tried it both ways and the audio is still out of sync. Any other ideas?
I'm not sure... You're saying that you tried running FixVTS without removing the unreferenced material, and you still got a large a/v missync? I'm not sure what that could come from, but I'm not familiar with the tools you're using...
sorry...
Jeanl
r0lZ, dirio49, you're welcome!

jsoto
13th December 2005, 23:18
You're the fastest. Thanks.

jeanl
13th December 2005, 23:20
jsoto, this wan't a race! It so happened that it was fairly easy to add renumbering to FixVTS. Plus I'm not implementing the cool split-cell feature!!!
jeanl
P.S. It was easy, but I still managed to include a couple bugs! Thanks to r0lZ for the early testing!

setarip_old
13th December 2005, 23:50
@jsoto

Hi!

VobBlanker also does not like :
B.1---> Null packs, produced by DVDdecrypter while reading errored sectors.
Perhaps I've misunderstood you but, I just used DVD Decrypter v.3.5.4 to rip "Valiant" to my hard drive. It identified and replaced two areas with dummy sectors. I then simply used VOBBlanker to "Process", and it did so without any "complaints" - and then successfully used several different (I like to experiment ;>}) compression programs to compress to 4.36Gb.

Did I misunderstand what you were saying in the quote above?

r0lZ
14th December 2005, 00:45
@weaver4
Try the PSL2 plugin, and do the remove crap pass.
If there is still an audio desynchronization, load the DVD in PgcEdit, and select the main title PGC. Then use the plugin menu Tools -> Display PGC starting time (SCR). It will not fix the problem for you, but you will know the exact timing to substract to the audio to have it in sync.

jeanl
14th December 2005, 00:49
r0lZ, do you understand what's going on here? Cause I don't! :confused:
jeanl

jsoto
14th December 2005, 00:54
@jsoto
Hi!
Perhaps I've misunderstood you but, I just used DVD Decrypter v.3.5.4 to rip "Valiant" to my hard drive. It identified and replaced two areas with dummy sectors. I then simply used VOBBlanker to "Process", and it did so without any "complaints" - and then successfully used several different (I like to experiment ;>}) compression programs to compress to 4.36Gb.
Did I misunderstand what you were saying in the quote above?
VobBlanker does complain accessing dummy sectors, but if the dummy sectors are in unreferenced (or blanked) material, VobBlanker will never try to access them, so it doesn't fail.
Anyway, I'll change the code to skip the dummy sectors with a warning instead of an error in the next release (seems easy).

jsoto, this wan't a race! I know. Just pointing out your continuous effort.

jsoto

jeanl
14th December 2005, 00:56
I know. Just pointing out your continuous effort.
jsoto
Yes, but I didn't take a vacation :(
Soon though!!!
jeanl

jsoto
14th December 2005, 01:35
a/v synch issues...
I've never seen one (but I do not have many protected DVDs)
But,
IMHO, there are two cases:
a) the tiny cells in different VOBid. The main movie starts with a new VOBid, non-seamless linked. In this case there are no issues.

b) the tiny cells in the same VOBID than the main movie. Deleting one more than the real weird ones will produce an a/v missynch. In example, I've one DVD where
1/23 is 12 frames. video is a black GOP starting in PTS="a". audio starts also in PTS="a" (a/v delay =0)
1/24 is where the video really starts (PTS="a"+12 frames), but audio starts in PTS lower than "a"+12 frames. (a/v delay "negative" in the "isolated" cell)

So, if you remove the 1/23 cell (because it is only 12 frames) an a/v synch problem will appear.

EDIT: Just to clarify: The PSL2 plugin does not select 1/23 to be removed.

jsoto

jeanl
14th December 2005, 01:38
jsoto, I agree with your analysis, but weaver4 says that even if he does not remove anything he has an audio/video mis synchronization...
jeanl

jsoto
14th December 2005, 01:43
Ah!
This can be the root cause....
the PGC is composed by many (blank?) cells at the begining w/o audio, but they are in the PGC
The ripping packs, probably decode the cells following the PGC order, so the video is including the frames of the blank cells, but the demuxed audio (which does not start until cell # 20 or 30) will not have "black" frames.
I think he should delete (or at least remove from the PGC) the fake cells.
jsoto

bourtzovlakas
14th December 2005, 01:44
I repeat...
From my experience with the latest Greek releases, the a/v desync occurs when you use only FixVTS after the rip...
If "remove crap" is performed and then the files are processed with FixVTS, no desync problem occurs...
I encode to Mpeg4, using AutoGK...

r0lZ
14th December 2005, 01:58
Bourtzovlakas, you're right. But I've seen one DVD where there is a desync of the subpic stream, even after remove crap and FixVTS. The DVD is Seinfeld Season 4, DVD 4 (VTS 3), where all cells of the first title are made of the same V/CID 1/1. I guess the problem with the subpics can occur also with the audio. But I agree it's a very special case. Most of the time, it should work w/o problems.

The same problem can theorically occur even if the CIDs are different in all cells, but when the VID is identical. See Jsoto's post, above.

Also, the program you use to encode to MPEG4 may be sensible or not to this "bug" in the VOB files.

bourtzovlakas
14th December 2005, 02:05
Τhe problem with the desync subpics is present in all ARccOS releases, when encoding to Mpeg4, unfortunately...
...but it is much easier to fix....

Obviously it is a problem with the specific programs, that were not designed to handle such irregularities...

setarip_old
14th December 2005, 02:16
@jsoto
VobBlanker does complain accessing dummy sectors, but if the dummy sectors are in unreferenced (or blanked) material, VobBlanker will never try to access them, so it doesn't fail.
Thanks for clarifying that ;>}

jeanl
14th December 2005, 17:56
For those interested, I posted the source code for version beta 1.17 on the FixVTS page (http://www.videohelp.com/~FixVTS/).
jeanl

Cyberace
15th December 2005, 15:20
For those interested, I posted the source code for version beta 1.17 on the FixVTS page (http://www.videohelp.com/~FixVTS/).thank you :)

JoeBG
17th December 2005, 11:00
@ jeanl

Is there any possibility to use your tool with commandlines so that it works automatically? Would be a great help :)

r0lZ
17th December 2005, 15:33
Yes! Have a look at the About screen (available in the Windows system menu of FixVTS.)
FixVTS is used via CLI by the PSL2 plugin for PgcEdit.

JoeBG
17th December 2005, 17:02
@ r0lZ

Puuuhhh: I canīt find the commands, sorry. Maybe Iīm a little stupid.
Can you tell me the commands? Or an example?
Maybe the following in cli:
Remove unref. and blank Cells In Place of VTS_01_1.VOB. Do it for the hole DVD.

Thank you :)

jeanl
17th December 2005, 18:24
Right click on the top bar of the app, and chose "about", you'll get all the command line options. In your case:
fixvts.exe -u -i -s -f vts_01_1.vob

jeanl

JoeBG
17th December 2005, 19:54
Right click on the top bar of the app, and chose "about", you'll get all the command line options. In your case:
fixvts.exe -u -i -s -f vts_01_1.vob

jeanl

Thank you very much. Works great :)