On 31/12/2008, at 10:05 AM, Art Clarke wrote: > > Hi Ash, > > If you want the encoder to just drop frames to meet a frame rate, drop > them yourself is the easiest way since you pass each frame to be > encoded in :) > > For example, if you've decoded 30fps video, and want to encode 15fps, > only encode every 2nd frame.
This is a horribly simplistic approach to frame rate conversion and results in jerky motion. Frame rate conversion is an art and not even the most expensive converters get it right. There are 3 main types of conversion. * Frame duplication/dropping. The easiest and least CPU intensive. results in sharp images but jerky motion. yuvfps can be found as part of the mjpeg tools http://mjpeg.sourceforge.net/ * Frame blending. moderate coding and cpu requirements. results in smoother motion and sometimes blurring images. Is preferable to frame duplication. Most NLE software will perform this sort of conversion on the fly. http://silicontrip.net/~mark/lavtools/index.php#yuvafps * Motion Compensation. This is the most difficult to code and requires the most cpu. Tries to estimate the motion between frames to produce in between frames. Introduces it's own style of artefacts. Currently can not be done realtime, with today's cpus anyway. http://jcornet.free.fr/linux/yuvmotionfps.html Just opening up another can of worms! Mark _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
