SVP:Mac

From SmoothVideo Project
Jump to navigation Jump to search

Automatic installation uses Homebrew and works on macOS 12 Monterey or later!

For macOS 11 Big Sur and earlier see MacPorts method below.


HDR tone mapping broken in mpv 0.39 release - i.e. the one installed from Homebrew. Until 0.40 release, the only workaround is building mpv from sources:

brew uninstall mpv
brew install --head mpv

Note that this will require Xcode.

Compatible video players

  • mpv with Vapoursynth support
  • Plex Media Player - requires libmpv built with Vapoursynth support
  • IINA - requires libmpv built with Vapoursynth support
  • VLC 3.0 or later

Installation

Svp4-mac-dmg.png

  1. Mount SVP 4 Mac DMG image
  2. Move "SVP 4 Mac" icon into Applications
  3. Control key + double-click on Install mpv.command script to install all the stuff listed below and write default mpv.conf.
    Note: you DON'T need to run this on every SVP update.

Updating

Updating SVP app:

  1. Download an updated DMG package
  2. Mount it and replace SVP 4 Mac.app in Applications
  3. That's it! You DON'T need to run Install mpv.command when updating SVP!

Updating mpv to the newer version: open Terminal and type

brew upgrade mpv

Uninstall

To remove SVP simply delete the SVP 4 Mac.app from Applications.

Additionally if you want to remove all the Homebrew packages including mpv video player run this command from the Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

Note that it will remove EVERYTHING from Homebrew, not only mpv dependencies.

Manual installation

  • Take at least macOS 12 "Monterey" or later.
  • Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Note that on Apple M1 systems this will install native ARM binaries into /opt/homebrew. You can either add /opt/homebrew/bin/ to your PATH, or call '/opt/homebrew/bin/brew' instead of simple 'brew' in the following commands.

  • Install mpv (this will also automatically install Vapoursynth) (DO NOT install it via 'brew install --cask mpv' !):
brew install mpv

Note: this step is essential even if you don't want to use mpv at all.

Alternate installation via MacPorts

Use this method if you are still on macOS 11 or earlier OR just don't like Homebrew ;)

Prebuilt mpv package

!!! DO NOT INSTALL THIS if you're using MacPorts already! Go to the next section and just install mpv in your existing MacPorts installation.

Just install our prebuilt mpv 0.37, and you're good to go. Works with macOS 10.15 "Catalina" or later.

Full MacPorts installation

  • Install full Xcode from the App store, run it for the first time, accept user agreement, install whatever it wants to install.
  • Install MacPorts
  • Install mpv:
sudo port install mpv +vapoursynth +libmpv

This will install everything into /opt/local - i.e. /opt/local/bin/mpv.

Problems:

sudo ln -s /opt/local/bin/rst2man-3.12 /opt/local/bin/rst2man-3.12.py
git clone --single-branch https://github.com/macports/macports-ports.git
cd macports-ports
git checkout 772d1aa5a7c314db69fa709e04d37e7025467b40
cd multimedia/mpv
sudo port install +vapoursynth

Apple M1 (Apple Silicon, ARM64) systems

SVP 4.5.205 and later supports both x86 (Intel) and native ARM video players. Native SVPflow libraries + mpv give ~50% performance improvement over x86 versions running via Rosetta 2.

Homebrew will install native ARM binaries in /opt/homebrew. Still you can install x86 binaries side-by-side in case you have any problem with the native ones.

Tell SVP which version to use

Open Application settings -> All settings, search for player and set main.setup.player to either /usr/local/bin/mpv (default path for x86 build) or /opt/homebrew/bin/mpv (default path for ARM build).

mpv configuration

Just add --input-ipc-server=/tmp/mpvsocket to mpv args (or config file, usually located in ~/.config/mpv/mpv.conf) and SVP should find it.

# create ~/.config/mpv directory for the first time
mpv --version  
echo "input-ipc-server=/tmp/mpvsocket" >> ~/.config/mpv/mpv.conf


Alternatively you can "open" video file via SVP - it'll launch mpv with the correct argument, assuming that mpv is actually installed either in $PATH or in /usr/local/bin (you can also define the actual path in SVP's settings - see main.setup.player and main.setup.player_args values).

Note: only "copy-back" hardware video decoders are compatible with Vapoursynth filters, use --hwdec=auto-copy.

Recommended minimal mpv.conf:

input-ipc-server=/tmp/mpvsocket
hwdec-codecs=all
hwdec=auto-copy
opengl-early-flush=no
hr-seek-framedrop=no

VLC configuration

SVP's plugin for VLC replaces the "deinterlace" filter.

Install SVP's plugin via SVP main menu -> Utilities -> SVP in VLC.

macOS 12 Ventura or later: you have to allow SVP to modify apps on your Mac - go to System settings -> Privacy & security -> App Management and turn it on for SVP 4 Mac.
Ventura-privacy.png

Then you'll be able to quickly "install" and "uninstall" SVP's plugin.

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

Transcoding with SVPcode

Muxing .MKV files

If the output format after transcoding is Matroska (.MKV) then it's highly recommended to additionally install mkvmerge command line tool (which is part of the MKVToolNix package):

brew install mkvtoolnix