2

I have a real-time 30fps video, and I wish to convert it to a timelapse 30fps video so that each frame of the target video is the result of arithmetical mean of 10 original frames in a linear color-space. I thought of using the framerate filter, but it is designed to interpolates frames only when increasing the frame-rate. When I reduce the frame rate it simply drops some 9/10 of the frames resulting in jerky movement of fast moving objects instead of a nice smooth motion blur.

Any way to achieve this with the command-line ffmpeg?

5
  • See if you can adapt the basic method here.
    – Gyan
    Mar 20, 2016 at 14:13
  • I'm so unsure what exactly it does that it would be easier to write in C with libav directly... Mar 20, 2016 at 23:17
  • Each frame in the output is mean of 4 frames i.e. output frame 1 = mean of input frames 1,2,3,4, output frame 2 = mean of input frames 5,6,7,8...
    – Gyan
    Mar 21, 2016 at 4:54
  • @Mulvya this is obvious, but in what color space does it work? For nice motion blur it is really important. Besides this won't be getting me beyond the power-of-two factors. Mar 21, 2016 at 7:29
  • It performs arithmetic upon the values as decoded. If those are gamma-weighted, so is the result.If you want a linear space, you can apply a pixel format change beforehand (with an expanded depth), then use the lut or other applicable filter and adjust gamma.
    – Gyan
    Mar 21, 2016 at 7:47

0

You must log in to answer this question.

Browse other questions tagged .