Blur is a program made for easily and efficiently adding motion blur to videos through frame blending.

Overview

Blur

Blur is a program made for easily and efficiently adding motion blur to videos through frame blending.

Features

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.

Sample output

600fps footage, blurred with 0.6 blur amount

60fps footage, interpolated to 600fps, blurred with 0.6 blur amount

As visible from these images, the interpolated 60fps footage produces motion blur that is comparable to actual 600fps footage.

Installation

To install blur for Windows, just download and run the installer. Other operating systems are not currently supported.

For manual installation, see manual installation

Usage

  1. Open the executable and drag a video file onto the console window, or directly drop video files onto the executable file.
  2. A config file will be generated in the video's directory, which can be modified to suit your needs.
  3. The program will process the inputted video according to the configuration file located in the same folder as the video, and will output the blurred version to the same directory with " - blur" appended.

The program can also be used in the command line, use -h or --help for more information.


Config settings explained:

blur

  • blur - whether or not the output video file will have motion blur
  • blur amount - if blur is enabled, this is the amount of motion blur (0 = no blur, 1 = fully blend every frame together, 1+ = more blur/ghosting)
  • blur output fps - if blur is enabled, this is the fps the output video will be
  • blur weighting - weighting function to use when blending frames. options are listed below:
    • equal - each frame is blended equally
    • gaussian
    • gaussian_sym
    • pyramid
    • pyramid_sym
    • custom weights - custom frame weights, e.g. [5, 3, 3, 2, 1]. higher numbers indicate frames being more visible when blending, lower numbers mean they are less so.
    • custom function - generate weights based off of custom python code, which is called for each frame 'x', e.g. -x**2+1

interpolation

  • interpolate - whether or not the input video file will be interpolated to a higher fps
  • interpolated fps - if interpolate is enabled, this is the fps that the input file will be interpolated to (before blending)

rendering

  • quality - crf of the output video (qp if using GPU rendering)
  • preview - opens a render preview window
  • detailed filenames - adds blur settings to generated filenames

timescale

  • input timescale - timescale of the input video file (will be sped up/slowed down accordingly)
  • output timescale - timescale of the output video file
  • adjust timescaled audio pitch - will pitch shift audio when sped up/slowed down

filters

  • brightness - brightness of the output video
  • saturation - saturation of the output video
  • contrast - contrast of the output video

advanced rendering

  • gpu - enables experimental gpu accelerated rendering (likely slower)
  • gpu type (nvidia/amd/intel) - your gpu type
  • deduplicate - removes duplicate frames and generates new interpolated frames to take their place
  • custom ffmpeg filters - custom ffmpeg filters to be used when rendering (replaces gpu & quality options)

advanced blur

  • blur weighting gaussian std dev - standard deviation used in the gaussian weighting
  • blur weighting triangle reverse - reverses the direction of the triangle weighting
  • blur weighting bound - weighting bounds, spreads out weights more

advanced interpolation

  • interpolation program (svp/rife/rife-ncnn) - program used for interpolation.
    • svp - fastest option, also blurs static parts of video the least
    • rife - considerably slower than SVP but can produce more accurate results, particularly for low framerate input videos. this is the CUDA implementation of RIFE, and is the faster option for NVIDIA gpus.
    • rife-ncnn - Vulkan implementation of rife, works for all devices but is slower.
  • interpolation speed - default is 'medium', explained further here
  • interpolation tuning - default is 'smooth', explained further here
  • interpolation algorithm - default is 13, explained further here

Recommended settings for gameplay footage:

Config options

  • blur amount - for maximum blur/smoothness use 1, for medium blur use 0.5, low blur 0.2-0.3. 0.6-0.8 gives nice results for 60fps, 0.3~ is good for 30fps

  • blur weighting - just keep it at equal

  • interpolated fps - results become worse if this is too high, for 60fps source footage around 300-900 should be good, for 180fps 1200 is good. In general the limit tends to be at around 10x the input video's fps.

  • interpolation speed - just keep it at default

  • interpolation tuning - for gameplay footage default (smooth) keeps the crosshair intact, but film is also a good option

  • interpolation algorithm - just keep it at default

Limiting smearing

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.

Preventing unsmooth output

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.

Manual installation

Note: I don't suggest manual installation due to the large amount of dependencies. If possible, stick to using the provided installer.

Requirements

VapourSynth plugins

  1. Download the latest release or build the project.
  2. Download and run installer.bat to automatically install all of the requirements.

Or

  1. Install Python
  2. Install FFmpeg and add it to PATH
  3. Install the 64-bit version of VapourSynth
  4. Install the required VapourSynth plugins using the command "vsrepo.py install ffms2 havsfunc"
  5. Install vs-frameblender manually by downloading the x64 .dll from here to "VapourSynth/plugins64"
  6. Install SVPflow 4.2.0.142 manually by downloading the zip from here and moving the files inside "lib-windows/vapoursynth/x64" to "VapourSynth/plugins64"
  7. Install weighting.py and filldrops.py to "%appdata%/Roaming/Python/Python39/site-packages"
Comments
  • Does blur have a resampling limit?

    Does blur have a resampling limit?

    In some ffmpeg filters there's a 128 blurframe limit. I would assume this isn't the case for blur, but is there a higher limit, or is there just none at all?

    opened by textmacro 5
  • Wrong path error

    Wrong path error

    So I did all the requirements properly then I dropped a video to the window and it says the video couldn't be opened (wrong path?) It looks like this: image

    Can someone tell me how to fix this?

    Thank you.

    opened by ThomasLQV 4
  • idk how to download

    idk how to download

    How do i download Automatic:

    Download the latest release or build the project. Download and run installer.bat to automatically install all of the requirements.

    because when i click on "installer.bat" it open me a page but dont download

    opened by Ptridman 3
  • Getting

    Getting "Failed to Initialize VapourSynth environment" and "pipe:: Invalid data found when processing output"

    Whenever I drag a video clip in, I get these errors. I downloaded all the dependencies and files required for it to run normally and I got these errors.

    opened by cutieion 3
  • I/O Error

    I/O Error

    I've been encountering this error a lot that stops it from rendering an entire video. It often happens on longer videos, anything less than a minute would mostly finish fine. blur_ihpYL8SytF

    Any solutions for this?

    opened by DannyGrey7 1
  • weighting.py link dead

    weighting.py link dead

    weighting.py link in the installer is dead.

    I replaced it with powershell Invoke-WebRequest "https://raw.githubusercontent.com/f0e/blur/v1.5/weighting.py" -OutFile "%temp%\weighting.py"

    opened by lapentad 1
  • i'm too stupid to understand this help

    i'm too stupid to understand this help

    Deprecated option --y4m specified, use -c y4m instead Script evaluation failed: Python exception: No module named 'havsfunc'

    Traceback (most recent call last): File "src\cython\vapoursynth.pyx", line 2788, in vapoursynth._vpy_evaluate File "src\cython\vapoursynth.pyx", line 2789, in vapoursynth._vpy_evaluate File "C:\Users\zzzz\Videos\shadowplay\Desktop\blur_temp\evyAha.vpy", line 3, in import havsfunc as haf ModuleNotFoundError: No module named 'havsfunc'

    pipe:: Invalid data found when processing input

    opened by ghrave 1
  • Automatic SH Script for Smoothie Linux Installation!

    Automatic SH Script for Smoothie Linux Installation!

    Smoothie Linux Installation Script 1.0

    This is a script I made to automate the process of installing smoothie on linux to make it more easier for new users to their linux machines.

    This was really needed since I saw the tutorial on what Couleur made in the discord, and to me that would be confusing for the new user.

    Try to be easy on me, this is my second bash script, and I still dont know a ton of stuff. I did learn some really useful stuff though lol

    #!/bin/sh
    echo "Welcome to the Smoothie installation script!"
    sleep 3
    echo "Please do not press any button during the installation."
    sleep 3
    echo "Checking for required packages..."
    
    # CHECKING #########################
    
    # Check if python is installed
    if command -v /usr/bin/python3 >/dev/null 2>&1
    then
      echo "Python 3 is installed!"
    else
      echo "Python 3 is not installed, please install it with your package manager."
      exit
    fi
    
    # Check if git is installed
    if command -v /usr/bin/git >/dev/null 2>&1
    then
      echo "Git is installed!"
    else
      echo "Git is not installed, please install it with your package manager."
      exit
    fi
    
    ###################################################
    
    
    # Aquire sudo/su and automate
    if command -v /usr/bin/sudo >/dev/null 2>&1
    then
      echo "Sudo is installed!"  # POSIX compliant, works on every shell that supports this [bash, zsh and tons more]
        sudo cp ./plugins/*.py /usr/lib/python*/site-packages/ && curl https://github.com/couleurm/vs-frameblender/releases/download/1.2/vs-frameblender-1.2.so -o /usr/lib/vapoursynth/vs-frameblender-1.2.so
    else
      echo "Sudo is not installed, will use su for privileges!"
      su -c 'cp ./plugins/*.py /usr/lib/python*/site-packages/ && curl https://github.com/couleurm/vs-frameblender/releases/download/1.2/vs-frameblender-1.2.so -o /usr/lib/vapoursynth/vs-frameblender-1.2.so'
    fi
    
    # ENDING #################################################
    echo "Finishing up..."
    echo "alias sm='python $PWD/smoothie.py'" >> $HOME/.bashrc
    sleep 1
    echo "Thank you for installing Smoothie. Please join our discord server 'discord.gg/CTT', it would mean the best to us!"
    sleep 1
    echo "We added a alias to your bashrc for quick use of smoothie."
    exit 0
    
    opened by UltraToon 0
  • uhh

    uhh

    i ran the installer.bat and it downloaded everything then i opened the blur.exe put my video in and this error came up and yes i have checked that vapoursynth is installed

    Failed to initialize VapourSynth environment pipe:: Invalid data found when processing input

    Script evaluation failed: Python exception: No attribute with the name ffms2 exists. Did you mistype a plugin namespace?

    Traceback (most recent call last): File "src\cython\vapoursynth.pyx", line 2242, in vapoursynth.vpy_evaluateScript File "src\cython\vapoursynth.pyx", line 2243, in vapoursynth.vpy_evaluateScript File "C:\Users\playi\Desktop\blur_temp\hMybiY.vpy", line 6, in video = core.ffms2.Source(source="C:/Users/playi/Desktop/real_jumpshoyT.mp4", cache=False) File "src\cython\vapoursynth.pyx", line 1891, in vapoursynth._CoreProxy.getattr File "src\cython\vapoursynth.pyx", line 1754, in vapoursynth.Core.getattr AttributeError: No attribute with the name ffms2 exists. Did you mistype a plugin namespace?

    pipe:: Invalid data found when processing input

    opened by december6th 0
  • Running into an error randomly after switching to RIFE under interpolation program

    Running into an error randomly after switching to RIFE under interpolation program

    Frame blending with weights [0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000, 0.040000] Error: Failed to retrieve frame 5 with error: Resize error: Resize error 3074: no path between colorspaces (2/2/2 => 0/2/2). May need to specify additional colorspace parameters.

    Not sure how I even go about fixing this, googling doesn't really help and I don't know a thing about python.

    opened by captainrice 0
  • I keep getting this error...

    I keep getting this error...

    When I first tried blur, I got a The program can't start because api-ms-win-core-path-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem. error, so I reinstalled. Nothing. So I dowload the dll file from a website and installed it manually. Now I keep getting this error: image

    Any help?

    opened by its-truce 1
  • help pls

    help pls

    Script evaluation failed: Python exception: No attribute with the name fmtc exists. Did you mistype a plugin namespace?

    Traceback (most recent call last): File "src\cython\vapoursynth.pyx", line 2242, in vapoursynth.vpy_evaluateScript File "src\cython\vapoursynth.pyx", line 2243, in vapoursynth.vpy_evaluateScript File "C:\Users\godra\Desktop\blur_temp\9M5LhF.vpy", line 7, in video = core.fmtc.matrix(clip=video, mat="601", col_fam=vs.YUV, bits=16) File "src\cython\vapoursynth.pyx", line 1891, in vapoursynth._CoreProxy.getattr File "src\cython\vapoursynth.pyx", line 1754, in vapoursynth.Core.getattr AttributeError: No attribute with the name fmtc exists. Did you mistype a plugin namespace?

    pipe:: Invalid data found when processing input

    opened by TalhaDaddy 2
  • I can't make it work

    I can't make it work

    Well, i did everything on the installation right but when i start the rendering i get this error:

    Script evaluation failed: Python exception: 'utf-8' codec can't decode byte 0xe9 in position 160: invalid continuation byte

    Traceback (most recent call last): File "src\cython\vapoursynth.pyx", line 2239, in vapoursynth.vpy_evaluateScript File "encodings\utf_8_sig.py", line 23, in decode UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 160: invalid continuation byte

    pipe:: Invalid data found when processing input

    opened by M70000 4
Releases(v1.8)
Owner
null
This project demonstrate how to infer and track from a 360 videos by using the dewarper plugin.

Deepstream Dewarper App This project demonstrate how to infer and track from a 360 videos by using the dewarper plugin. Dewarping 360 videos helps to

NVIDIA AI IOT 25 Sep 13, 2022
TIP (translate it, please) is a plugin for VLC media player that helps you to study languages by watching videos.

vlc-tip-plugin TIP (translate it, please) is a plugin for VLC media player that helps you to study languages by watching videos. Features The plugin a

Aleksey Koltakov 42 Sep 21, 2022
Example programs for Talking Async videos

Talking Async Example programs for the Talking Async videos, which can be found on YouTube. Episode 1: Why C++20 is the Awesomest Language for Network

null 106 Oct 1, 2022
Provides a menu for playing Karaoke videos.

Provides a menu for playing Karaoke videos. Audio input from a microphone is automatically mixed with output from videos. Videos can be paused and scrubbed.

Fabio Arnold 2 Jul 19, 2022
Real-Time Intermediate Flow Estimation for Video Frame Interpolation filter for VapourSynth

Description RIFE filter for VapourSynth, based on rife-ncnn-vulkan. Usage rife.RIFE(clip clip[, int model=0, int gpu_id=auto, int gpu_thread=2, bint t

Home Of VapourSynth Evolution 64 Sep 15, 2022
Sentry-Picam is a simple wildlife / security camera solution for the Raspberry Pi Zero W, providing 1080p/30fps motion activated H.264 video capture.

Sentry-Picam is a simple wildlife / security camera solution for the Raspberry Pi Zero W, providing 1080p/30fps motion activated H.264 video capture.

null 123 Sep 19, 2022
⏺️ A simple recording program with the ability to record screens and audio on your computer.

⏺️ A simple recording program with the ability to record screens and audio on your computer.

kimhwan 381 Oct 3, 2022
AAAAnimation - An ASCII Art animation program working with FFmpeg and Qt. Some code is written in assembly.

AAAAnimation About This is a term project of the Assembly Language and System Programming course in NCU. It decodes video with FFmpeg and plays ASCII

null 18 May 25, 2022
Program for IP TV streaming on the network via HTTP

msd Rozhuk Ivan [email protected] 2011 - 2021 msd - Multi stream daemon. Program for organizing IP TV streaming on the network via HTTP. Licence BSD

rim 40 Sep 22, 2022
trdrop - a raw video analysis program

trdrop - a raw video analysis program

null 258 Oct 1, 2022
yangwebrtc is a self-developed rtc architecture supporting Webrtc/Srt/Rtmp, including a variety of video and audio codecs and processing, etc.

YangWebrtc Overview yangwebrtc是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。 支持视频会议、高清录播直播、直播互动等多种视音频应用。 可用于远程教育、远程医疗、指挥调度、安防监控、影视录播、协同办公、直播互动等多种行业应用

null 315 Sep 28, 2022
FFmpeg Kit for applications. Supports Android, Flutter, iOS, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.

FFmpeg Kit for applications. Supports Android, Flutter, iOS, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.

Taner Şener 5 Sep 29, 2022
Kodi is an award-winning free and open source software media player and entertainment hub for digital media

website • docs • community • add-ons Welcome to Kodi Home Theater Software! Kodi is an award-winning free and open source software media player and en

Team Kodi 14.5k Oct 2, 2022
Vireo is a lightweight and versatile video processing library written in C++11

Overview Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems an

Twitter 862 Oct 5, 2022
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive Team 6.4k Sep 29, 2022
An Open Source PSVita/TV MP4 player with 1080p playback and subtitle support

Vita-Media-Player An Open Source PSVita/TV MP4 player with 1080p playback and subtitle support 1080i output supported on the PSTV natively and on the

Jaylon Gowie 45 Aug 29, 2022
Even newer Custom Firmware for Xiaomi Cameras based on Hi3518ev200 Chipset. It includes free RTSP, ONVIF and other improvements based on the work by roleoroleo

Why this Yi-Hack-V5 firmware? The answer is simple: missing updates, RTSP and not based on the latest stock firmware (which features improvements and

null 338 Sep 30, 2022
A WFH utility to visually indicate user engagement of audio and video

DIY: In meeting indicator - WFH Utility The need for in meeting indicator at home So many of you have gotten accustomed to work from home by now. This

krishna kumar T 10 Jun 28, 2021
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

ossrs 19.3k Oct 4, 2022