PDA

View Full Version : 25fps > 24fps?


zeronegative
21st January 2004, 17:17
After converting a PAL DVD to DivX with GK, I checked the final movie in Nandub and found out that every 24th and 25th sample are almost identical [almost probably because I used KernelDeinterlace to get rid of interlacing].

In other words, it seems that they converted this 23.976 movie by speeding it up to 24 and then adding a duplicate 25th frame. I can't really check the original vob right now, but perhaps someone has an idea how to change the avs file so that the movie is back to 23.976?

Leak
21st January 2004, 17:28
Originally posted by zeronegative
In other words, it seems that they converted this 23.976 movie by speeding it up to 24 and then adding a duplicate 25th frame. I can't really check the original vob right now, but perhaps someone has an idea how to change the avs file so that the movie is back to 23.976?

Decimate(cycle=25) using Donald Graft's Decomb plugin?

np: Bola - VM8 (Fyuti)

zeronegative
21st January 2004, 17:36
Well, the main problem is that it isn't frame 25, frame 50, etc. It seems to depend a bit on the scene. Does Decomb detect which frames are the same?

mf
21st January 2004, 17:38
I think you can use either Decimate or SelectEvery. I haven't got both to do what I want but I think decimate's syntax is easier (decimate 1 out of every X). I do have a headache now because I used interleave with blankclips of contrasting colors.

Leak
21st January 2004, 18:38
Originally posted by zeronegative
Well, the main problem is that it isn't frame 25, frame 50, etc. It seems to depend a bit on the scene. Does Decomb detect which frames are the same?

Well, that's why I recommended Decimate - it eliminates the frame out of <cycle> frames that is most similar to it's predecessor, which should exactly be what you're looking for. SelectEvery would just throw out every 25th frame, be it a duplicate or not.

np: B. Fleischmann - 02/00 (Welcome Tourist)

scharfis_brain
21st January 2004, 23:36
and found out that every 24th and 25th sample are almost identical [almost probably because I used KernelDeinterlace to get rid of interlacing].

please use this for deinterlacing:

telecide(order=1,post=0)
decimate(25)

I think, this will work well.

zeronegative
22nd January 2004, 21:08
I tried to reencode. It's not working:

Telecide/Decimate cuts out wrong frames making the video even more stuttery.

Fielddeinterlace() creates a fluid, but ghosty video

Fielddeinterace(blend=false), TomsMoComp, KernelDeInt all have the problem that the 24th and 25th sample are the same except colouring, one of the two frames seems more washed out.

Putting Decimate(25) after one of these methods is not cutting away the duplicate sample...

Any other suggestions? :(

scharfis_brain
23rd January 2004, 08:22
please post a sample clip (5 to 10 sec) with constant motion.
No reencoding, no resizing

Use ChopperXP for cutting the VOBs.

zeronegative
23rd January 2004, 13:18
I'm at work with a remote desktop connection so it's a bit hard to see if I have a good 10 second part with lots of motion, but try this one:

http://www.zeronegative.net/test.vob

as a backup:
http://www.zeronegative.net/test2.vob

scharfis_brain
23rd January 2004, 17:19
the video has the following pattern:

Filmframe: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Videoframes
blended: 0 10 25 35 50
normal: 1 2 5 6 9 11 13 15 17 19 21 23 26 27 30 31 34 35 38 40 42 44 46 48 51 52
3 7 12 14 16 18 20 22 24 28 32 37 39 41 43 45 47 49 53
4 8 29 33 54

it is (again) a lousy FILM (24fps) -> NTSC (60fps, telecine) -> PAL (50fps, blending) conversion.

try to use

this command sequence on this video

loadplugin("...\mpeg2dec3.dll")
loadplugin("...\kerneldeint140.dll")
loadplugin("...\unblend.dll")
loadplugin("...\smartdecimate.dll")
import("kernelbob.avs")
mpeg2source("test.d2v")
converttoyuy2(interlaced=true)
kernelbob(6).assumeframebased
converttoyv12(interlaced=false)
unblend()
smartdecimate(24,100)

zeronegative
23rd January 2004, 20:15
I found all the filters you recommended, but what's kernelbob.avs?

scharfis_brain
23rd January 2004, 22:22
http://forum.doom9.org/showthread.php?s=&threadid=66093&highlight=kernelbob

in this thread I placed a function called kernelbob.

paste its code into a file called kernelbob.avs

load this kernelbob.avs via import into your script.

instead of kernelbob, you could also use dgbob, or even bob()

Jeff D
27th March 2004, 20:07
Diggin up this old thread because I have a similar, yet different problem.
Source is a 25fps PAL DIVX file, and I want to convert it to 23.976 NTSC (original source is film).

I've thought about using decimate, but dropping the 25th frame would reduce the frame rate to 24 which I don't want.

I've tried to use AVI2SVCD with the DVD templates, but it seems the script is the key to getting the frame rate conversion and that's what I can't figure out how to do.

And I've tried the steps listed here:
http://www.geocities.com/xesdeeni2001/StandardsConversion/index.html#PALFilmDVD2NTSCVCD
But DVD2AVI won't work with the Divx file. I attempted to use wsola to slow down the audio, but I get an "unable to map file" error on my raw 48KHz .wav file. It sounds like it can work on 48KHz files.