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:

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-R65.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

C. Plugins & Scripts

D. D2V Witch (Optional)

E. AMVtool (Optional)

III. Windows

A. Python

B. VapourSynth

C. VapourSynth Editor

D. Plugins & Scripts

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

vsrepo.py install avisource 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:

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

E. DGMPGDec (Optional)

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.