2
$\begingroup$

I've made a simple animation in blender 2.81a and am now trying to render it.

My system specs: CPU i7-6500U; GPU Nvidia Geforce GTX 950M; RAM 16gb DDR4 So far, I've done two test renders (both in cycles):

  1. 8 samples, 8 light bounces, denoising on, 60fps (240 frames). Total render time was about 3 hours. Looking at single frames, they were flawless, but if you play the animation, you see that the denoiser is producing some kind of jitter (like in this video).

  2. 256 samples, 4 light bounces, denoising on. I set the framerate to 24fps and used time remapping to maintain animation speed (96 frames). The jitter has become far less, but is still there. However, the time remapping made the animation look kind of not-fluent. So I figured that I probably need 512 samples to reduce the jitter and render at 60fps. However, this will probably take about 16 hours to render. Are there any other ways to

  3. change the framerate without changing the animation speed? (except for manually repositioning keyframes)
  4. decrease general render time/reduce the jitter (aka denoising for animations) Thanks in advance!

Edit: I heard that Blender 2.83 and 2.90 (which is not yet oficially released) have improved the denoising system, e.g. AI-accellerated denoise, adaptive sampling and optix viewport denoising. Do any of these also apply to video or is there now any option for better denoising for animations?

$\endgroup$
1
  • 1
    $\begingroup$ 3 hours is not that much for this low-end setup. AI accellerated denoise shouldn't be something new to you, after reading my answer to one of your other questions: Which denoser is better. Turn denoising off and use intels denoiser in the compositor. Related or dupe: Type of Denoiser built into Blender. There is a new 'adaptive sampling' option as of Blender 2.83 which can reduce render time as well. $\endgroup$
    – brockmann
    Commented Jun 6, 2020 at 14:19

3 Answers 3

6
$\begingroup$

The default denoise options currently offered in blender (AI, Optix and the original blender denoiser) produce jittering because they do only Spatial Denoising, meaning that they use only one frame for input, so all images are denoised separately. The main problem with this approach is that noise patterns might not be consistent or homogeneous from one frame to the next. Sometimes this kind of denoising might actually create more problems than using no denoising at all.

In case of animation, you could also use denoise tools created specifically for video. Those tools not only can do Temporal Noise Reduction, by analyzing several frames to understand how noise is transforming from frame to frame, but also use some spatial noise reduction as well.

Some suggested tools:

Blender denoiser for animations.

For proper temporal denoising in Blender, read:
How to denoise animations using Blender's Temporal Denoiser?
But take in mind that Blender animation denoiser have no GUI, at least for now. So if you are not ready to use scripts or terminal, here are some commercial options:

Neat

This denoiser can remove noise from a video sequence, and it uses information from neighboring frames to denoise images. The best use for this plug-in - render animation without denoising, then remove noise from sequence in Natron (or any post-production software with OFX support). Unfortunately, this OFX plugin is commercial.

Deflicker

This OFX plug-in can remove jittering from denoised sequence. Instead of Neat, it can not remove noise, only flickering. The best use for this plug-in - render animation with denoising, then remove flickering from sequence. As Neat, this plug-in can work in Natron (or any post-production software with OFX support) and, unfortunately, it is also commercial.

Resolve

This video editor also has sophisticated noise reduction tools (only in studio version) and it is also commercial.

$\endgroup$
0
$\begingroup$

You could also use ffmpeg denoise video filters, such as nlmeans. It's not perfect but gets some denoising done.

ffmpeg 
-i frames/r%04d.png // input frames in range r0000.png - r9999.png
-vf "nlmeans=s=3" // video filter nlmeans with strength = 3
video/vid.webm // output video

More on nlmeans settings here.

$\endgroup$
0
$\begingroup$

There is also Flicker Free Denoising this add-on is great as you don't need to leave Blender and uses AI so you can have really low sample counts.

Try it here: https://4917137779526.gumroad.com/l/FlickerFreeDenoising

enter image description here

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .