Avisynth: Converts 60fps Video into 24fps?
This is the script I use to convert my 29.97fps Interlaced (non-telecined!) movies to 23.976fps.
The function convert60ito24p is from scharfis_brain, whose site is here: http://home.arcor.de/scharfis_brain/ Just change the relevant lines to what your source and target will be, using MovieStacker or FitCD. And also, this script (my portion) is not really optimized. But it just works great :) -kwag Code:
## DLL Section ## |
Hi Kwag, you where fast, cause Im writing a interlacing-deinterlacing Guide and its basics which I also wanted to post as sticky as the last weeks there where a lot of Threads according to this and its encoding problems. :)
I see you're still using a simple bob above, I did some tests a time ago using Fielddeinterlace(full=false) as it works smart and only the combed parts will be treated. Even more quality gives Smoothdeinterlace(doublerate=true, TFF=true, blend=false).selectodd() EDIT: In case of the 60ito24p function as showed above you HAVE TO USE: Smoothdeinterlace(doublerate=true, TFF=true, blend=false) WITHOUT Selectodd() !! As a full 60fps deinterlacer is needed! Also be aware which fieldorder is used in the source in case of "bottomfield first" use TFF=false! And also here do test blend with true or false as shown below. ... wich won't result in blendings but only good on Videos which do not contain fine static! text and lines ... but the image comes out more clear, more sharp (even deinterlaced parts) and do have the right contrast which disappears when frames come out blended. Did you try to do first the filtering on the fieldbased data and afterwards doing the 29.976:arrow:23.976 conversion? Here a little comparison of the blending in case of deinterlacing (just a part of the guide) watch the drops above right. All images here are safed in Jpeg, quality 45% http://www.digitalfaq.com/archives/error.gif And here comes a sample where we should use blend=true (no matter if fielddeinterlace() or Smoothdeinterlace() ... as you see very fine Typo is contained which would be destroyed but her eyes do look correct. Because the typo is static and blend=false would cause problems. I know that Girl Sonja from the station Pro7 does have everything a man really wants ;-) http://www.digitalfaq.com/archives/error.gif |
Quote:
It was just posted as a basic framework, to be improved upon ;) Obviously, Smoothdeinterlace is far better :) -kwag |
:D YEP! You're right I did read to fast as you mentioned it, but as we know some noobs could read even more faster and just eat the food they see.
I only say one word: "maxThreshold" in MA :D You can also use Fielddeinterlace(full=false,blend=false) but I did the last weeks a lot of tests and Smoothdeinterlace with doublerate and discarted evenfields ("selectodd()") did look better. |
Any suggestions for a smooth progressive 29.97 fps source (like an avi or mpeg-1) to 23.976 fps convertion?[/b]
|
a progressive 29.97 ???? Are you shure?
Well in that case if NO! interlacing apperas in fast moving areas, you just perform a Decimate() wich inverses the pulldown ... means RESTORES the amount of 29.97 Frames per second to 23.976 FPS. IF the movie is in a correctly pulldowned state! or use smartdecimate() (look for the plugin at Warpenterprises) It gots a threshold routine inside which auto detects the pulldown method within your source. But still risky as it works smart ;-) |
Here's a developed version of the original function (props to scharfis_brain and Manao):
Usage: Code:
MPEG2Source("path\clip.d2v") - MVTools.dll, see my next post - MVConvert60ito24p(), see my next post - KernelDeint() , must be version 1.5 or above!, http://www.avisynth.org/warpenterprises The original discussion thread is here: http://forum.doom9.org/showthread.php?s=&threadid=76041 Replace order=x by order=1 for top field first video or order=0 for bottom field first video. |
Here's the version which works with v0.9.3:
Code:
function mvconvert60ito24p(clip x, int "mode") |
The latest script is now up-to-date again. The only change was that KernelBob is now included in KernelDeint since v1.5.0.
|
I tried mvconvert60ito24p to convert 29.97 to 23.976 in order to save some bits for movie and found it considerably slowed the encoding speed. Is it normal or my script needs optimising. I put mvconvert60ito24p before other actions such as Crop, BicubicResize and AddBorders.
|
Doing the conversion is very slow, that's normal. The function that Kwag posted might be faster, but you'll have to remember that the script I posted evolved from that one as both are scharfis_brain's creations.
|
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.