PDA

View Full Version : Framerate conversion


HymnToLife
1st August 2006, 17:38
Sorry if the issue has been discussed before, I did quite a bit of searching and found nothing. So here's the problem, I have & PAL DVD rip (50 fps) I want to encode. When using VDub to encode it into XviD, I used the Framerate conversion tool to convert it into 25 fps, which worked perfectly. But now I want to use MeGUI (thus AviSynth) to encode it into x264 and I just can't figure out how to convert the FPS. I tried convertfps but there's an error telling me it needs a YUY2 input, changefps doesn't work either.

Any help would be much appreciated :)

foxyshadis
1st August 2006, 18:45
Just place SelectEven() within the generated script somewhere.

HymnToLife
1st August 2006, 18:55
Thanks :)

AVIL
1st August 2006, 19:46
Hi,

You can also convert to 25 fps interlaced (50 fields) adding (instead of selecteven) at the end of script:

assumeframebased()
assumetff()
separatefields()
selectevery(4,0,2)
assumefieldbased()
assumefps(25)

this method gives good result to see this videos on TV.

Good luck

HymnToLife
1st August 2006, 19:56
Actually I deinterlace my videos (and I only watch them on my PC) so I don't think interlaced encoding would be OK - I might very well be wrong though.

Here's the AVS script I'm using :

DGDecode_mpeg2source("Z:\rips\gsg01\gsg01.d2v")
crop(6,2,-6,-2)
BicubicResize(640,352,0,0.5)
AssumeTFF()
interp = separatefields().EEDI2(field=-2)
tdeint(mode=1,edeint=interp)
SelectEven()
textsub("Z:\rips\gsg01\gsg01.ass")

I'm currently in the process of encoding it, I'll see how it turns out but I'm open to any suggestions :)

AVIL
1st August 2006, 23:53
Hi,

By first bobbing (duplicating framerate) and after discarding odd frames you will lose detail. I think is better deinterlace directly to desired framerate. You can try

DGDecode_mpeg2source("Z:\rips\gsg01\gsg01.d2v")
crop(6,2,-6,-2)
BicubicResize(640,352,0,0.5)
AssumeTFF()
interp = separatefields().EEDI2(field=-2)
tdeint(mode=0,edeint=interp)
textsub("Z:\rips\gsg01\gsg01.ass")

mode 0 of tdeing gives in output same framerate than input.

Good luck

HymnToLife
2nd August 2006, 00:04
Thanks :) I'll give it a try

foxyshadis
2nd August 2006, 00:31
Deinterlace = Bob.SelectEven

It really is that simple, almost all bob+deinterlace filters will produce identical output one way or the other, and there usually isn't any extra cost in time either. TDeint and LeakKernelDeint I know for sure do. (I think that whether it's even or odd frames depends though, but it doesn't really matter.) If you bob first, then before decimation you can use some kind of temporal filtering and get stronger/more accurate filtering, but that'll definitely cost you in extra time to create all frames.

Oh well, pick a way you like and stick to it. :p

AVIL
2nd August 2006, 08:30
@foxyshadis

Its true (in tdeint case, at least) that output will be the same. No detail loss, I was wrong, sorry.

Nevertheless, in this case i think that maintaining framerate keeps things simpler (and a little time gain is possible too).