SVP:Linux

From SmoothVideo Project
Jump to: navigation, search

Svp4linux-mpv.png

Get it from the Download page, note that Linux 32-bit is not supported!

Recommended Linux version: Ubuntu 16.04 64-bit

Compatible video players

Not tested, may not be compatible at all:

Prerequisites

Despite of the Linux distro in use you'll need to pre-install:

  1. Qt 5.5.0 or later
  2. Vapoursynth R31 or later
  3. MediaInfo
  4. lsof command line tool (install it via your package manager)
  5. Required for SVPtube: Python 3.5
  6. (recommended) Proprietary video drivers including OpenCL ICD
  7. (recommended) mpv 0.17 or later built with Vapoursynth support
  8. (optional) Recommended UI for mpv: SMPLayer
  9. (optional) VLC 2.1 or later

Ubuntu packages

Ubuntu 16.04 and later specific

# Ubuntu 16.04+ and others (e.g. ElementaryOS) - Qt5Concurrent, Qt5Svg, Qt5Qml packages are probably not installed by default

sudo apt-get install libqt5concurrent5 libqt5svg5 libqt5qml5

Older versions (e.g. 14.04) specific

# Qt 5.5
# depends on the distro, for example for 14.04 you may try this PPA:
# https://launchpad.net/~beineri/+archive/ubuntu/opt-qt551-trusty

# Python 3.5

add-apt-repository ppa:fkrull/deadsnakes
apt-get update
apt-get install libpython3.5

Common packages

# mediainfo

sudo apt-get install mediainfo
# mpv and Vapoursynth:

sudo add-apt-repository ppa:djcj/vapoursynth 
sudo apt-get update 
sudo apt-get install mpv libass5
# SMPlayer:

sudo add-apt-repository ppa:rvm/smplayer 
sudo apt-get update 
sudo apt-get install smplayer smplayer-themes smplayer-skins
# VLC

sudo apt-get install vlc

mpv configuration

Svp4linux-open.png

Just add --input-ipc-server=/tmp/mpvsocket to mpv args (or config file) and SVP should find it. Alternatively you can "open" video file via SVPManager - it'll execute mpv with the correct argument.

Note: hardware video decoders are NOT compatible with Vapoursynth filters, use --hwdec=no.

VLC configuration

As of now SVP assumes that VLC installed into /usr/bin, /usr/lib etc.

SVP's plugin for VLC replaces the "deinterlace" filter. To be able to quickly switch them from SVP's main menu you may need to change VLC's plugins folder access rights:

sudo chmod 777 /usr/lib/vlc/plugins/video_filter 
# OR (e.g. Ubuntu 17.04)
sudo chmod 777 /usr/lib/x86_64-linux-gnu/vlc/plugins/video_filter 

Then "install" or "uninstall" SVP's plugin via SVP main menu -> Utilities -> SVP in VLC

You must turn on deinterlace in VLC via Video -> Deinterlace -> On to start using SVP's plugin.. Alternatively you can turn it on permanently: Tools -> Preferences -> Video -> Deinterlacing = On

Note 1: Hardware decoding may not be compatible with the Vapoursynth filter! To be investigated...

Issues

Installation

Installer may hang while attempting to request admin privileges during installation.


Error message Execution failed (Unexpected exit code: 8) ... means you haven't install either Qt 5 libs or MediaInfo before, especially "libqt5concurrent5 libqt5svg5" on Ubuntu.


Some repos (for example SMPlayer's Ubuntu PPA) may provide incorrect mpv's version numbering forcing package manager to "update" mpv with the one w/o Vapoursynth support.

# apt-cache policy mpv
mpv:
 Installed: 1:0.17.0-1~trusty
 Candidate: 2:0.15.0+git
 Version table:
    2:0.15.0+git 0
       500 http://ppa.launchpad.net/rvm/smplayer/ubuntu/ trusty/main amd64 Packages
 *** 1:0.17.0-1~trusty 0
       500 http://ppa.launchpad.net/djcj/vapoursynth/ubuntu/ trusty/main amd64 Packages

To install specific version:

apt-get install mpv=1:0.17.0-1~trusty

Note the version string in the command above, it should match the version from the djcj PPA.

If SVP Manager doesn't run after installation you may want to check if all the dependencies are met with a simple command:

ldd SVPManager

Here's an example of missing libQt5Concurrent.so library, which may not be installed by default:

[email protected]:~/SVP4$ ldd SVPManager 
    linux-vdso.so.1 =>  (0x00007ffc099dc000)
    libmediainfo.so.0 => /usr/lib/x86_64-linux-gnu/libmediainfo.so.0 (0x00007fed10ca1000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fed1031f000)
    libQt5Concurrent.so.5 => not found
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fed0f413000)


Another possible error:

./SVPManager: symbol lookup error: ./SVPManager: undefined symbol: _ZN7QString13toUtf8_helperERKS_

means "installed Qt version is too old". Check that actual libQt5*.so in use are from Qt 5.5.0 or later. If Qt 5.5 is installed into /opt, you can try something like this:

LD_LIBRARY_PATH=/opt/qt55/lib ./SVPManager

Common issues

One major issue is incompatibility between the way system tray icon/menu implemented in Qt and some display managers. For example in Xubuntu 15.10/Xfce tray icon is completely unusable. Because of this SVP runs w/o tray icon by default, BUT it's possible to switch Windows behavior with -tray command line arg.


For GPU acceleration support use proprietary video drivers with (probably) some additional modules - search for "OpenCL ICD". For example in case of NV cards "nvidia-modprobe" package is needed for OpenCL to work. Check the installation with utils/clinfo.


"Auto" settings expect hardware video decoding which may be unavailable for mpv with Vapoursynth video filter enabled. So you may need to lower SVP settings manually.


Unlike the Windows version, SVP 4 Linux doesn't measure actual screen refresh rate, but uses OS provided value instead. For 59.xxx Hz screens this value is often rounded to "59.0", so you'll get sub-optimal FRC rate like 25/11 instead of 5/2. To avoid this use fixed "Movie x2.5" target rate.


The number of computation threads are set for the Windows' Avisynth and may not be optimal for Vapoursynth. In case of any unexpected video stuttering try to adjust this value at the first place.


Fix for the following error:

/usr/bin/mpv: symbol lookup error: /usr/bin/mpv: undefined symbol: ass_set_check_readorder

is

apt-get install libass5


Error message - Unable to find mpv's pid:

SVP 4.1 and later uses lsof utility to find which mpv instance is on the other end of the local socket, so ensure that lsof is installed. In Gentoo-based distros you may also need to update lsof to ver.4.89 or later.