Add motion blur to videos
Blur is a program made for easily and efficiently adding motion blur to videos through frame blending.
The amount of motion blur is easily configurable, and there are additional options to enable other features such as interpolating the video's fps. This can be used to generate 'fake' motion blur through frame blending the interpolated footage. This motion blur does not blur non-moving parts of the video, like the HUD in gameplay footage.
As visible from these images, the interpolated 60fps footage produces motion blur that is comparable to actual 600fps footage.
To install blur for Windows, just download and run the installer. Other operating systems are not currently supported.
For manual installation, see manual installation
The program can also be used in the command line, use -h or --help for more information.
interpolation preset - preset used for framerate interpolation, one of:
interpolation algorithm - algorithm used for framerate interpolation, one of:
interpolation block size - block size used for framerate interpolation. higher block size = less accurate blur, will result in spaces around non-moving objects of the frame, also renders faster. lower block size = more accurate blur, but can result in artifacting, also slower. for higher framerate input videos lower block size can be better. options:
interpolation mask area - mask amount used when interpolating. higher values can mean static objects are blurred less, but can also result in less smooth output (moving parts of the image can be mistaken for static parts and don't get blurred)
You can customise the SVP interpolation settings even further by manually defining json parameters. see here for explanations on settings
these options are not visible by default, add them to your config and they will be used.
Most of the default settings are what I find work the best, but some settings can depend on your preferences.
For 60fps footage:
intent | amount |
---|---|
Maximum blur/smoothness | >1 |
Normal blur | 1 |
Medium blur | 0.5 |
Low blur | 0.2-0.3 |
To preserve your old blur amount when changing framerate use the following formula:
[new blur amount] = [old blur amount] × ([new fps] / [old fps])
So normal blur at 30fps becomes 0.5, etc.
Results can become worse if this is too high. In general I recommend around 5x the input fps. Also SVP seems to only be able to interpolate up to 10x the input fps, so don't bother trying anything higher than that.
Using blur on 60fps footage results in clean motion blur, but occasionally leaves some smearing artifacts. To remove these artifacts, higher framerate source footage can be used. Recording with software such as OBS at framerates like 120/180fps will result in a greatly reduced amount of artifacting.
If your footage contains duplicate frames then occasionally blurred frames will look out of place, making the video seem unsmooth at points. The 'deduplicate' option will automatically fill in duplicated frames with interpolated frames to prevent this from happening.
Blur supports rendering from frameservers. This means you can avoid having to run blur on your input videos when video editing. When rendering, simply output (make sure your project is high framerate) to the frameserver and then drag the generated AVI into blur. Note that some video editing software might limit the maximum project framerate.
Note: I don't suggest manual installation due to the large amount of dependencies. If possible, stick to using the provided installer.