PDA

View Full Version : Removing specific frames with Gordian Knot


BunnyX
13th February 2003, 05:34
I've just started my first rip of a non film dvd, it consists of a number of Vob files I'm trying to combine into one. Following the tutorials everything goes fine except that each of the vobs has a single frame flash of white at the very start. I'm assuming on playback the dvd is just instructed to avoid them, obviously this means the image is flashed on screen, and being very different to the surrounding frames (solid black to solid white and then back again) have been made keyframes (this is conjecture on my point, as I'm not 100% on how keyframes are chosen). When trying to remove them after the avi has been encoded I run into the problem of not being able to cut out just the specific frame, and cutting at the keyrames surrounding the single white frame gives an annoying visual jump.

Is there anyway to tell the encoder not to include these specific frames or just to cut them totally? I tried using dvd2avi but seemed to only allow a start and ending setting instead of multiple in and out points. I guessed I could encode each vob seperately, encode them all seperately and then stitch them together after, but as I'm using a dual pass encode I couldn't think of an obvious way to work out how big each should be with various frames across the vobs being more compressable than others.

Thanks in advance for any solutions.

ammck55
13th February 2003, 05:54
Welcome:

Having never worked with G-Knot, I can't give you any specific help, but if you haven't tried this already, it's a place to start until somebody drops in to give you a hand. There's a whole forum devoted to G-Knot, a search run over in that forum will give you more hits, and maybe a little bit better place from which to begin. Just keep on entering keywords and reading the results, something's bound to come up that will steer you in the right direction. It's always worked for me in the past. Everything's here if you dig deeply enough!

Good luck:

ammck55

manono
13th February 2003, 09:48
Hi and welcome to the Forum.

Say, for example's sake, you have 4 vob files, and they are each 25000 frames long (adjust for your circumstance) and you have 1 white frame that you want to cut out of every 25000 frames. So, the frames with the white flash are numbered 0,25000,50000,75000 (remember that the first frame is numbered as 0). Then something like this would work:

LoadPlugin("C:\DIVXST~1\GORDIA~1\mpeg2dec.dll")
mpeg2source("G:\Jeeves\20\Jeeves20.d2v")
crop(10,2,696,476)
BilinearResize(512,384)
Trim1=Trim(1,24999)
Trim2=Trim(25001,49,999)
Trim3=Trim(50001,74999)
Trim4=Trim(75001,0)
Trim1+Trim2+Trim3+Trim4

However, you will have audio synch problems. You could probably fix that by adjusting the delay so the asynch isn't noticeable. It's said that you can't notice asynch less than about 100 ms. With 4 vob files you'll be about 160 ms off by the time of the 4th vob. So if the original delay is 0, I think I'd delay it by -100 ms (you'll get 40 ms of that back immediately because of the dropped first frame). But I'm not 100% sure of the audio workaround. You might have to fool around with the delays a bit. If worse comes to worst, you could always shorten the audio in a WAV editor such as CoolEdit Pro by the amount of the total length of the dropped frames (minus that first dropped frame-you can fix that one by adding a -40 ms delay). Good Luck.

BunnyX
13th February 2003, 17:55
Thanks for the help, but where do I actually put that script though?