1
$\begingroup$

I have shot a few clips using a Panasonic LX100 at 50p Full HD.

I created a project in Blender 2.77 and am trying to slow down some of these strips to get a dramatic, smooth and stable effect, so I applied a speed control effect strip (speed factor: 1, multiply speed: 0.5) to them and the slowdown is previewed fine in the viewport (it seems to me, although my computer is not powerful enough to preview all frames).

When I render the project however (with an output frame rate of 25fps and "100 old / 100 new" time remapping settings), I can distinctly see that the playback of the strips I slowed down is jagged, ie. I see the distinct frames coming up, no smooth playback. The speed is fine but playback fps seem to be half of 25 fps.

How can I achieve a smooth slow-motion effect? I have double the needed frames (source footage 50p) so it should work to output slow and smooth 25fps video, right?

$\endgroup$
  • $\begingroup$ Would run the clip through VLC or ffmpeg and check the details of the codec that the camera uses. It could be a frame segmented frame which blender doesn't like. In which case you would need to transcode it into another format that Blender can play properly. $\endgroup$ – 3pointedit Aug 14 '16 at 11:01
  • $\begingroup$ VLC says "25 frames per second" in the codec information. $\endgroup$ – kdarras Aug 17 '16 at 20:43
  • $\begingroup$ Yes the frame rate can be 25 frames but the encoding of each frame can be mishandled by Blender. If the HD content is progressive it can still be interlaced, that is the single frame is encoded into 2 smaller interleaved frames.See Frame Segmented Progressive en.wikipedia.org/wiki/Progressive_segmented_frame Now Blender thinks that the first part is "the" frame and ignores the second part but duplicates the first frame. Result is twice as many frames as expected for the duration. And possibly lower resolution. $\endgroup$ – 3pointedit Aug 17 '16 at 22:15
  • $\begingroup$ Take a look at this question: blender.stackexchange.com/questions/10468/… $\endgroup$ – Justin Aug 17 '16 at 22:28
2
$\begingroup$

After some research, and the help of the people who commented and answered my question, I now understand that Blender handles output frame rates differently to the way it is done in commercial video editing programs (ie. Power Direcotr, Adobe Premiere Elements).

When the output frame rate does not match (ie. is smaller or higher) the footage's input rate, the result is either a slowed down or a sped up video.

It might seem obvious to Blender aficionados but wasn't to me as a newcomer, who was used to video editing programs that preserved the original speed of the video, whatever the chosen output frame rate.

So there are two ways to slow down a video: simply lower the output frame rate or skip frames with the frame step (thanks @Edgel3D). Both work but I recommend using the frame rate as it results in an exact frame rate (using frame step resulted in a video with 25.0499 fps). However both also affect the entire video, and individual sequences thus need to be adjusted singly using a speed effect.

In my case, I was already unknowingly slowing down the video as my output frame rate was halved (I had muted audio), and additionally slowing it down with the 0.5x speed effect, resulting in a jerky output video.

$\endgroup$
  • $\begingroup$ that was a beginner's mistake, feel free to archive the question. Otherwise if it has some pedagogic value I will accept my own answer... $\endgroup$ – kdarras Aug 17 '16 at 21:06
1
$\begingroup$

I've done this and also found the output was jerky and downright terrible. I had to edit the footage anyway so I used the VSE (editor) and set the "Frame Steps" to "2" in the properties panel at right. (SH-SPACE) i.e. skip every 2nd frame.See this pic

This gave an excellent result. Trying to convert 30 back to 25 in the VSE wasn't so hot though so I took the rendered video and textured a "Plane" in the 3D window with that and (would you believe) "Filmed" the frame using an ordinary camera object! Crude? Yes, but it worked very well and still rendered with remarkably smooth motion.

This is the 3D window where the 2nd step was done. 30 fps down to 25. from this pic The video was rendered as a normal 3D animation but at 25 fps. The 30fps video was "screened" on the vertical "Plane Object". If I recall correctly this one was rendered using the GL renderer.

In case you haven't textured a plane with video before, there is a setting in the Plane's textures property panel -->Image tab, that requires you to tick the "Auto Refresh" box.

3D window

Hope this works for you also...

$\endgroup$
  • $\begingroup$ Thanks for your detailed answer; it stimulated me to dig further into the issue. Setting the frame step to 2 while keeping the output at 50 fps (same as native) gave perceptually identical results to setting the output to 25 fps. $\endgroup$ – kdarras Aug 17 '16 at 20:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.