[MEncoder-users] Inverse telecine? framerate from 120000/1001 to 24000/1001

scostas scostas at det.uvigo.es
Tue Sep 5 10:42:34 CEST 2006


Rich Felker wrote:

Hi all:

>> AFAIK, there is no good way of converting 30 <-> 24 fps.

> Yes, there is no way and never will be. You can't resample
> undersampled signals. (Converting between 3000 fps and 2400 fps would
> be easy on the other hand. :)

I disagree: time interpolation. Why not interpolate between frames? This
is, if the next frame falls between two original frames, let's do a
proportional interpolation between them. It would emulate a motion blur,
which is much more eye-candy than simply repeating a frame each 5.

To test this I did a little proof of concept in python (I attach the
code in this message) and the results are very good. Why not implement
the same into Mencoder?

To test the code, just convert some seconds of a file to PNG or JPG
pictures with

	mplayer -vo png -nosound file_to_test.avi

then call the test with

	time_interpolation ORIG_FPS NEW_FPS

ORIG_FPS are the original FPS of the film and NEW_FPS are the output FPS
desired. You can use a single number (like 24, 25 or 30) or a fractional
(like 30000/1001). Accept both formats.

After doing it, the output frames will be named outXXXXXXXXXX.png. Just
recompress it as a film with mencoder

	mencoder mf://out*.png -ovc lavc -o test.avi

and compare it with the same film simply converted to the new framerate
with Mencoder. With the time interpolation it is smoother.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: time_interpolation.py
Type: text/x-python
Size: 2617 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mencoder-users/attachments/20060905/a7e5dcea/attachment.py>


More information about the MEncoder-users mailing list