Since early 2023, the original Python version of Smoothie is deprecated.
It is now actively developed in Rust here and documented there.
The rest of the old README can be found below.
Apply motion-blur efficiently on gameplay footage, however you want it.
Smoothie is a cross-platform fork of blur rewritten in Python, it is useable through the CLI but there's tons of wrappers so you never have to open and type anything yourself:
sm
on the command line, see docsWIP for VEGAS Pro
-override
argument to change on the fly some recipe setting(s), useful in shortcuts!![!CAUTION] For the people who read diagonally: A very important reminder is specified at the top
To automatically install Smoothie and its dependencies for Windows, run this command in PowerShell:
# IMPORTANT REMINDER: This now installs smoothie-rs, see releases if you REALLY want an old version (contact me if a feature of smoothie regressed)
iex(irm tl.ctt.cx); Get Smoothie
This will do the following for you:
sm
), set up shortcuts and prompt you for misc pluginsIf you don't want to run the installation script can also grab the latest portable zip from the repo's releases here (though be aware you'll need to set up shortcuts yourself)
🐧 See installation instructions for Linux here
You should find Scoop (per default) in your %USERPROFILE%
folder, if you want to delete Smoothie specificly it's in ...\scoop\apps\smoothie
If installed with Scoop, the main (default) recipe can be opened from the Run dialog (Windows+R):
You can learn what each setting does on it's wiki page
interpolation: # Tries to guess frames in between existing ones to increase FPS
enabled: yes # If you want to interpolate or not
fps: 960 # The FPS you wish to interpolate to
speed: medium # What accuracy you want (fast, faster and fastest will take less time, but make worse frames)
tuning: weak # This and 'algorithm' are different ways to make interpolation, check the wiki
algorithm: 23 # Same deal
use gpu: yes # GPU acceleration
frame blending: # Converts high FPS footage (e.g 240, 960) to a lower frame rate (e.g 30, 60 for YT) with motion blur
enabled: yes # If you want want it to frame blend or not
fps: 60 # The FPS you want it blended down to
intensity: 1.27 # 1.0 is what you're used to, more will make a longer kind of "ghoserfz", I love 1.5 @ 60FPS
weighting: equal # How each blur frame's opacity is decided (default is every one of them is equal)
encoding:
process: ffmpeg # ffmpeg's executable path
args: H264 CPU # You can replace with with your own -c:v/-vf FFmpeg filters
misc:
mpv bin: mpv # mpv executable path, same deal as FFmpeg
stay on top: true # if you don't want the progress bar always on top
verbose: false # Can also be turned on with -verbose/-v on the CLI
ding after: 1 # Minimum numbers of videos queued before it plays a little notification sound when all video(s) finished rendering
folder: # Redirect all output videos to a specific folder
deduplication: y # Frame deduplication (useful if you have a tiny little bit of encoding lag)
container: .MP4 # Set this to .MKV to be able to watch the video before it even finishes rendering! (You'll need to remux them to .MP4 after to use the video in specific applications)
prefix: # Empty by default, you can make your apex.mp4 be outputted as SM-apex.mp4
suffix: detailed # Detailed will say some misc stuff about the settings used on it, can be replaced with your own string
dedupthreshold: 0 # Turn that to 0.001 if you want frame deduplication like blur's
timescale: # Set the speed in/out, I like out @ 1.03 to speed a liiittle bit to look cool
in: 1
out: 1