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

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:

3. Browse to the new folder:

cd $HOME/.installs/vapoursynth

4. Checkout the latest stable release:

git checkout R50

5. Run the following commands to install VapourSynth:

Debian & openSUSE:

./autogen.sh
./configure
make
make install
sudo ldconfig

Pacman & RPM:

./autogen.sh
./configure  --prefix=/usr
make
make install

C. VapourSynth Editor

1. Browse to the installs folder:

cd $HOME/.installs

2. Download VapourSynth-Editor:

git clone https://bitbucket.org/mystery_keeper/vapoursynth-editor.git

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 hasvsfunc/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 you will need to move it to the vapoursynth plugins folder by doing the following:

Debian & openSUSE:

sudo mv /usr/local/lib/libffms2.so /usr/local/lib/vapoursynth/libffms2.so

Pacman:

sudo mv /usr/local/lib/libffms2.so /usr/lib/vapoursynth/libffms2.so

RPM:

sudo mv /usr/local/lib64/libffms2.so /usr/lib64/vapoursynth/libffms2.so


Meson Method

1. Enter the plugin directory:

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

2. FFMS2 has autogen.sh 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 you will need to move it to the vapoursynth plugins folder by doing the following:

Debian & openSUSE:

sudo mv /usr/local/lib/libffms2.so /usr/local/lib/vapoursynth/libffms2.so

Pacman:

sudo mv /usr/local/lib/libawarpsharp2.so /usr/lib/vapoursynth/libawarpsharp2.so

RPM:

sudo mv /usr/local/lib64/libawarpsharp2.so /usr/lib64/vapoursynth/libawarpsharp2.so


Waf Method

1. Enter the plugin directory:

cd $HOME/.installs/plugins/flash3kyuu_deband

2. FFMS2 has autogen.sh 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

Option 1: Installer

1. Download the latest VapourSynth Installer.

2. Open terminal and run the following command to disable Gatekeeper to allow the installer to run:

sudo spctl --master-disable

3. Open VapourSynth-R50.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.8 (64-bit)
    2. Run python-3.8.2-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-r50.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.8 (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 plugin in the following directory:

      • C:\Program Files\VapourSynth\plugins

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

      • Scripts Directory: C:\Program Files\Python38\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.