Software Setup

The instructions below are designed to help users install the software utilized in this guide. A few optional tools are included to assist with processing files and scripts. Both D2V Witch and DGMPGDec are used to create d2v files that assist with handling MPEG streams. AMVtool is included as an easy option to process VapourSynth scripts to media files.

IMPORTANT: If you are a Windows user, make sure your Operating System is 64-bit before continuing by checking to see if the folder "Program Files (x86)" exists. If it does not then your operating system is 32-bit and you will need to use the 32-bit versions of the software and plugins.

NOTE: If you are on macOS wish to simplify the installation process then try out AMVpack, an all-in-one installer package including these tools and a few more!

I. Linux

RECOMMENDED: Any Linux distro that includes Python 3 and Qt 5.4 or newer.

Linux Bases:

  • Debian (Includes Linux Mint & Ubuntu)

  • openSUSE

  • Pacman (Includes Manjaro)

  • RPM (Includes CentOS & Fedora)

Currently Tested: CentOS 8.1, Debian 10.3, Fedora 32, Manjaro 20.0, Mint 19.3, openSUSE 15.1, & Ubuntu 20.04

A. Dependencies

1. Check the version of Python 3 included with your Linux distro by running the following command:

python3 -V

Ex. Ubuntu 20.04 includes Python 3.8.2 and Mint 19.3 includes Python 3.6.9.

2. Check to see if your distro uses dist-packages instead of site-packages:

if test -d /usr/local/lib/python3.*/dist-packages; then echo "exists"; else echo "doesn't exist"; fi

If the directory exists create a link to the "dist-packages" directory:

cd /usr/local/lib/python3.*

sudo ln -s dist-packages site-packages

3. Create a folder to run the installs from:

mkdir $HOME/.installs

4. Install dependencies available as packages for VapourSynth and VapourSynth plugins:

Debian:

sudo apt install build-essential meson autoconf automake libtool git nasm yasm python3-dev python3-pip cython3 libass-dev qt5-default libqt5websockets5-dev libfftw3-dev libtesseract-dev ffmpeg libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libswresample-dev libmediainfo-dev

NOTE: Debian 11 does not need qt5-default.

Additionally, run the following command on Linux Mint:

pip3 install cython

openSUSE:

sudo zypper install automake libtool meson nasm yasm python3-devel python3-Cython libass-devel libqt5-qtbase-devel libqt5-qtbase-common-devel libqt5-qtwebsockets-devel fftw3-devel tesseract-ocr-devel ffmpeg ffmpeg-4-libavcodec-devel ffmpeg-4-libavformat-devel ffmpeg-4-libavresample-devel ffmpeg-4-libavutil-devel ffmpeg-4-libswresample-devel ffmpeg-4-libswscale-devel libmediainfo-devel

Pacman:

sudo pacman -S base-devel cython meson nasm yasm libass fftw imagemagick tesseract qt5-websockets zimg libmediainfo

RPM:

Follow the RPM Fusion configuration guide to setup the repository.

sudo dnf install git wget gcc gcc-c++ meson automake libtool make nasm yasm python3-devel python3-Cython libass-devel qt5-qtbase-devel qt5-qtwebsockets-devel fftw-devel tesseract-devel ffmpeg-devel libmediainfo-devel

5. Download, compile, & install additional dependencies:

Debian & openSUSE:

cd $HOME/.installs

git clone https://github.com/l-smash/l-smash.git

cd l-smash

./configure --enable-shared

make lib

sudo make install-lib


cd $HOME/.installs

git clone https://github.com/sekrit-twc/zimg.git

cd zimg

./autogen.sh

./configure

make

sudo make install


cd $HOME/.installs

wget https://www.imagemagick.org/download/ImageMagick.tar.gz

tar xvzf ImageMagick.tar.gz

cd ImageMagick*/

./configure

make

sudo make install

RPM:

cd $HOME/.installs

git clone https://github.com/l-smash/l-smash.git

cd l-smash

./configure --prefix=/usr --enable-shared

make lib

sudo make install-lib


cd $HOME/.installs

git clone https://github.com/sekrit-twc/zimg.git

cd zimg

./autogen.sh

./configure --prefix=/usr

make

sudo make install


cd $HOME/.installs

wget https://www.imagemagick.org/download/ImageMagick.tar.gz

tar xvzf ImageMagick.tar.gz

cd ImageMagick*/

./configure --prefix=/usr

make

sudo make install


B. VapourSynth

NOTE: VapourSynth can alternatively be install on Pacman with: sudo pacman -S vapoursynth

1. Browse to the installs folder:

cd $HOME/.installs

2. Download VapourSynth:

git clone https://github.com/vapoursynth/vapoursynth.git

3. Browse to the new folder:

cd $HOME/.installs/vapoursynth

4. Checkout the latest stable release:

git checkout R59

5. Run the following commands to install VapourSynth:

Debian & openSUSE:

./autogen.sh

./configure

make

sudo make install

sudo mkdir /usr/local/lib/vapoursynth

sudo ldconfig

Pacman & RPM:

./autogen.sh

./configure --prefix=/usr

make

sudo make install

sudo mkdir /usr/lib/vapoursynth


C. VapourSynth Editor

1. Browse to the installs folder:

cd $HOME/.installs

2. Download VapourSynth-Editor:

git clone https://github.com/YomikoR/VapourSynth-Editor

3. Browse to the new folder:

cd $HOME/.installs/vapoursynth-editor/pro

4. Run the following commands to install VapourSynth-Editor:

Debian & Pacman:

qmake pro.pro

make

openSUSE & RPM:

qmake-qt5 pro.pro

make

5. Move executables to the bin folder:

sudo mv ../build/release-64bit-gcc/vsedit /usr/local/bin/

sudo mv ../build/release-64bit-gcc/vsedit-* /usr/local/bin/

(Optional) Add VapourSynth-Editor to application menu:

sudo mv ../build/release-64bit-gcc/vsedit.svg /usr/share/pixmaps/

sudo gedit /usr/share/applications/vsedit.desktop

Enter the following, save, then close gedit:

[Desktop Entry]

Type=Application

Name=VapourSynth Editor

Comment=Cross-platform editor for VapourSynth scripts.

Icon=vsedit.svg

Exec=vsedit

Terminal=false

Categories=VapourSynth;


D. Plugins & Scripts

Getting Started

1. Create a folder to compile the plugins:

mkdir $HOME/.installs/plugins

cd $HOME/.installs/plugins

2. Download the repository for plugins used in this guide:

git clone https://github.com/dubhater/vapoursynth-awarpsharp2

git clone https://github.com/dubhater/vapoursynth-bifrost

git clone https://github.com/dwbuiten/d2vsource

git clone https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest

git clone https://github.com/FFMS/ffms2

git clone https://github.com/myrsloik/VapourSynth-FFT3DFilter

git clone https://github.com/SAPikachu/flash3kyuu_deband

git clone https://github.com/HolyWu/L-SMASH-Works

git clone https://github.com/dubhater/vapoursynth-mvtools

git clone https://github.com/dubhater/vapoursynth-nnedi3

git clone https://github.com/dubhater/vapoursynth-sangnom

git clone https://github.com/dubhater/vapoursynth-tcomb

git clone https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod

3. Download scripts with functions used in this guide:

git clone https://github.com/HomeOfVapourSynthEvolution/havsfunc

git clone https://github.com/dubhater/vapoursynth-adjust

git clone https://github.com/HomeOfVapourSynthEvolution/mvsfunc

git clone https://github.com/mawen1250/VapourSynth-script

git clone https://github.com/Irrational-Encoding-Wizardry/vapoursynth-Hysteria

4. Copy scripts to the Python site-packages directory:

Debian:

sudo cp vapoursynth-adjust/adjust.py /usr/local/lib/python3.*/dist-packages/

sudo cp havsfunc/havsfunc.py /usr/local/lib/python3.*/dist-packages/

sudo cp vapoursynth-Hysteria/hysteria.py /usr/local/lib/python3.*/dist-packages/

sudo cp mvsfunc/mvsfunc.py /usr/local/lib/python3.*/dist-packages/

sudo cp VapourSynth-script/nnedi3_resample.py /usr/local/lib/python3.*/dist-packages/

openSUSE & Pacman:

sudo cp vapoursynth-adjust/adjust.py /usr/lib/python3.*/site-packages/

sudo cp havsfunc/havsfunc.py /usr/lib/python3.*/site-packages/

sudo cp vapoursynth-Hysteria/hysteria.py /usr/lib/python3.*/site-packages/

sudo cp mvsfunc/mvsfunc.py /usr/lib/python3.*/site-packages/

sudo cp VapourSynth-script/nnedi3_resample.py /usr/lib/python3.*/site-packages/

RPM:

sudo cp vapoursynth-adjust/adjust.py /usr/lib64/python3.*/site-packages/

sudo cp havsfunc/havsfunc.py /usr/lib64/python3.*/site-packages/

sudo cp vapoursynth-Hysteria/hysteria.py /usr/lib64/python3.*/site-packages/

sudo cp mvsfunc/mvsfunc.py /usr/lib64/python3.*/site-packages/

sudo cp VapourSynth-script/nnedi3_resample.py /usr/lib64/python3.*/site-packages/

5. Compile plugins and put them into the autoload directory for VapourSynth. Each plugin repository includes files to assist with compiling the plugins and three methods are covered in this guide; Autotools, Meson, and Waf.

Autotools Method

1. Enter the plugin directory:

cd $HOME/.installs/plugins/ffms2

2. FFMS2 has autogen.sh so you would compile and install by doing the following:

./autogen.sh

./configure

make

sudo make install

Pay attention to where the install places the file, most plugins will install to /usr/local/lib instead of the vapoursynth plugins directory. If this is the case it is recommended you create a symbolic link it to the vapoursynth plugins folder by doing the following:

Debian & openSUSE:

sudo ln -s /usr/local/lib/libffms2.so /usr/local/lib/vapoursynth/libffms2.so

Pacman:

sudo ln -s /usr/local/lib/libffms2.so /usr/lib/vapoursynth/libffms2.so

RPM:

sudo ln -s /usr/local/lib64/libffms2.so /usr/lib64/vapoursynth/libffms2.so


Meson Method

1. Enter the plugin directory:

cd $HOME/.installs/plugins/vapoursynth-awarpsharp2

2. aWarpSharp2 uses the Meson build system so you would compile and install by doing the following:

meson build/

cd build

ninja

ninja install

Pay attention to where the install places the file, most plugins will install to /usr/local/lib instead of the vapoursynth plugins directory. If this is the case it is recommended you create a symbolic link it to the vapoursynth plugins folder by doing the following:

Debian & openSUSE:

sudo ln -s /usr/local/lib/libawarpsharp2.so /usr/local/lib/vapoursynth/libawarpsharp2.so

Pacman:

sudo ln -s /usr/local/lib/libawarpsharp2.so /usr/lib/vapoursynth/libawarpsharp2.so

RPM:

sudo ln -s /usr/local/lib64/libawarpsharp2.so /usr/lib64/vapoursynth/libawarpsharp2.so


Waf Method

1. Enter the plugin directory:

cd $HOME/.installs/plugins/flash3kyuu_deband

2. Flash3kyuu Deband uses the Waf build system so you would compile and install by doing the following:

./waf configure

./waf build

After building the plugin move it to the vapoursynth plugins folder by doing the following:

Debian & openSUSE:

sudo cp build/libf3kdb.so /usr/local/lib/vapoursynth/libf3kdb.so

Pacman:

sudo cp build/libf3kdb.so /usr/lib/vapoursynth/libf3kdb.so

RPM:

sudo cp build/libf3kdb.so /usr/lib64/vapoursynth/libf3kdb.so


E. D2V Witch (Optional)

NOTE: This currently does not compile on Fedora!

1. Browse to the installs folder:

cd $HOME/.installs

2. Download D2V Witch:

git clone https://github.com/dubhater/D2VWitch

3. Browse to the new folder:

cd $HOME/.installs/D2VWitch

4. Run the following commands to compile and install D2V Witch:

./autogen.sh

./configure

make

sudo make install

(Optional) Add D2V Witch to application menu:

sudo gedit /usr/share/applications/d2vwitch.desktop

Enter the following, save, then close gedit:

[Desktop Entry]

Type=Application

Name=D2V Witch

Comment=D2V Witch indexes various video streams and writes D2V files.

Icon=

Exec=d2vwitch

Terminal=false

Categories=VapourSynth;

F. AMVtool (Optional)

1. Browse to the installs folder:

cd $HOME/.installs

2. Download AMVtool:

git clone https://github.com/l33tmeatwad/AMVtool

3. Browse to the new folder:

cd $HOME/.installs/AMVtool

4. Run the following commands to compile and install AMVtool:

Debian & Pacman:

qmake

make

sudo make install

RPM & openSUSE:

qmake-qt5

make

sudo make install

II. MacOS

A. VapourSynth

IMPORTANT: By default macOS disables users from installing apps that are not from the App Store or Identified Developers. To approve the VapourSynth installer & other applications please follow the instructions provided by Apple for opening an app that hasn't been notarized or is from an unidentified developer.

Option 1: Installer

1. Download the latest VapourSynth Installer.

2. Open VapourSynth-R59.pkg

4. On the Introduction screen click Continue.

5. On the License Agreement screen click Continue.

6. In the Read License drop down click Agree

7. In the Custom Install screen click Install.

8. Enter your password when requested then click Install Software.

9. On the Summary screen click Close.

Option 2: Brew

1. Install Homebrew by running the following command in terminal:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. A box should pop up to install Xcode, click Install and once it is finished click Done.

3. Back in terminal press "return" and then enter your password to finish installing Homebrew.

4. Setup plugins folder and auto load configuration before installing VapourSynth:

mkdir -p /usr/local/lib/vapoursynth

mkdir -p "$HOME/Library/Application Support/VapourSynth"

touch "$HOME/Library/Application Support/VapourSynth/vapoursynth.conf"

echo UserPluginDir=/usr/local/lib/vapoursynth >> "$HOME/Library/Application Support/VapourSynth/vapoursynth.conf"

echo SystemPluginDir=/usr/local/lib/vapoursynth >> "$HOME/Library/Application Support/VapourSynth/vapoursynth.conf"

5. Install VapourSynth:

brew install vapoursynth

6. Create shortcuts on the desktop for copying plugins and dependencies:

mkdir -p $HOME/Desktop/VapourSynth

ln -s /usr/local/bin "$HOME/Desktop/VapourSynth/Add Executables"

ln -s /usr/local/lib "$HOME/Desktop/VapourSynth/Add Libraries"

ln -s /usr/local/lib/vapoursynth "$HOME/Desktop/VapourSynth/Add Plugins"

ln -s /usr/local/lib/python3.7/site-packages "$HOME/Desktop/VapourSynth/Add Scripts"

B. VapourSynth Editor

    1. Download VapourSynth Editor

    2. Open VapourSynthEditor.dmg and drag "VapourSynth Editor" into the Applications folder shortcut.

C. Plugins & Scripts

  1. Download the following plugins that are used in this guide and their dependencies from here:

    • Dependencies: FFMPEG Libs, FFTW3F, GCC Libs, L-Smash, Zlib

    • Plugins: aWarpSharp2, Bifrost, D2V Source, DFTTest, ffms2, FFT3DFilter, Flash3kyuu Deband, L-SMASH-Works, MVTools, nnedi3, Sangnom, TComb, TDeintMod

  2. Download the following scripts with functions used in this guide:

  3. In the VapourSynth folder on the desktop there is a shortcut to the Libraries folder, place all of the dependencies there.

  4. In the VapourSynth folder on the desktop there is a shortcut to the Plugins directory, place all plugins there.

  5. In the VapourSynth folder on the desktop there is a shortcut to the Scripts folder, place all of the scripts there.

D. D2V Witch (Optional)

    1. Download D2V Witch

    2. Open D2VWitch-macOS.dmg and drag "D2V Witch" into the Applications folder shortcut.

E. AMVtool (Optional)

    1. Download AMVtool

    2. Open AMVtool-macOS.dmg and drag "AMVtool" into the Applications folder shortcut.

III. Windows

A. Python

    1. Download Python 3.9 (64-bit)

    2. Run python-3.9.6-amd64.exe

      • NOTE: The version required will depend on the VapourSynth version.

    3. On the Install Python Screen check "Add Python to PATH", then click "Custom installation".

    4. On the Optional Features Screen make sure "for all users" is checked, then click Next.

    5. On the Advanced Options Screen check "Install for all users", then click Install.

    6. On the Setup was successful Screen click Close.

B. VapourSynth

    1. Download VapourSynth.

    2. Run vapoursynth-r59.exe

      • NOTE: The file name will vary based on the version you download.

    3. On the Select Components Screen click Next.

    4. On the Select Python Installation Screen select Python 3.9 (64-bit) then click Next.

    5. On the Select Additional Tasks Screen click Next.

    6. On the Ready to Install Screen click Install.

      • NOTE: If a box pops up asking to install Visual C++ 2015-2019 Redistributableclick Yes.

    7. On the Completing the VapourSynth Setup Wizard Screen click Finish.

C. VapourSynth Editor

    1. Download the 64-bit (x64) version of VapourSynth Editor.

    2. Extract VapourSynthEditor-64bit.7z to the directory: C:\Program Files\VapourSynth\Editor

      • NOTE: The file name will vary based on the version you download.

    3. Create a shortcut of vsedit.exe and place it in the location of your choice.

D. Plugins & Scripts

1. Open "Command Prompt" or "PowerShell" (run as Admin) and run the following command:

vsrepo.py install bifrost d2v ffms2 lsmashsource tcomb tdeintmod havsfunc -b "C:\Program Files\VapourSynth\plugins" -s "C:\Program Files\Python38\Lib\site-packages"

2. Download the following plugin and script that are both used in this guide:

3. Place the x64 version of the Flash3kyuu Deband plugin in the following directory:

      • C:\Program Files\VapourSynth\plugins

4. Place the Hysteria script in the Python site-packages folder:

      • Scripts Directory: C:\Program Files\Python39\Lib\site-packages

E. DGMPGDec (Optional)

    1. Download DGMPGDec.

    2. Extract the files dgmpgdec158.zip to the directory: C:\Program Files (x86)\DGMPGDec

    3. Create a shortcut of DGIndex.exe and place it in the location of your choice.

F. AMVtool (Optional)

1. Download AMVtool

2. Extract files in AMVtool_WINx64.zip to the directory: C:\Program Files\AMVtool

3. Open Command Prompt (run as Admin) and run the following command:

mklink "C:\Program Files\AMVpack\AMVtoo\vspipe.exe" "C:\Program Files\VapourSynth\core\vspipe.exe"

4. Create a shortcut of AMVtool.exe and place it in the location of your choice.