Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 | Link |
Registered User
Join Date: Jun 2007
Posts: 158
|
VapourSynth Installer, Applications, & Plugins for macOS
What began as a "beginners pack" installer turned into requests for practically everything coming out. It's really impractical to download everything over and over again to get simple updates, so I will be making the external plugins and placing them here in addition to reducing the installer down to a basic VapourSynth install. Each of these plugins are compiled on macOS 10.11 and modified in a way to work with any VapourSynth install. Simply copy the plugin autoloading path and any dependencies to the lib path (ex. /usr/local/lib/vapoursynth & /usr/local/lib).
NOTE: Anyone who used the previous all-in-one installer will need to download a new version of D2V Witch! NOTE: For anyone already using brew, it is recommended you use that method to install VapourSynth instead of the installer! Source Downloads VapourSynth Installer: Downloads Installers include D2V Source, FFMS2, & LSMASHSource. INFO: To access the python environment for the VapourSynth.framework just run vspython in terminal. IMPORTANT: Installer requires Gatekeeper to be disabled, to do so run the following command in terminal: Code:
sudo spctl --master-disable NOTE: Gatekeeper does not need to be disabled for this method! Use brew command: Code:
brew install vapoursynth Code:
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" Applications: D2V Witch v2 VapourSynth Editor Wobbly v4 Plugins: Downloads Current List (& Dependencies): AddGrain AutoCrop aWarpSharp2 Bifrost Bilateral BM3D (needs FFTW3F) CNR2 ColorBars CombMask ContinuityFixer CTMF D2VSource (needs FFmpeg Libs) DCTFilter (needs FFTW3F) Deblock DeblockPP7 DeCross DegrainMedian DeLogo (NOT TESTED) DePan (needs FFTW3F) Descale DFTTest (needs FFTW3F) DotKill EEDI2 EEDI3CL (needs Boost & GCC Libs*) FFMS2 (needs FFmpeg Libs & ZLib) FFT3DFilter (needs FFTW3F & GCC Libs*) FieldHint FillBorders Flash3kyuu Deband Fluxsmooth Format Conversion GradCurve (NOT TESTED) Histogram HQDN3D KNLMeansCL LSMASHSource (needs FFmpeg Libs & L-Smash) MSmoosh MVTools (needs FFTW3F) NNEDI3 NNEDI3CL (needs Boost) RawSource RemapFrames Retinex SangNom SCXvid SmoothUV SSIQ TCanny TComb TDeintMod TemporalSoften ToneMap TTempSmooth VagueDenoiser VFR to CFR (NOT TESTED) Yadifmod ZNEDI3 *Library files from GCC 8.1.0 are needed for some plugins to work on macOS 10.11 due to C++17 code or other incompatibilities with the one included in the OS. Brew users will need to install GCC then use the following commands to link the needed dylibs: Code:
sudo ln -s /usr/local/Cellar/gcc/8.1.0/lib/gcc/8/libstdc++.6.dylib /usr/local/lib/libstdc++.6.dylib sudo ln -s /usr/local/Cellar/gcc/8.1.0/lib/gcc/8/libgcc_s.1.dylib /usr/local/lib/libgcc_s.1.dylib Last edited by l33tmeatwad; 2nd December 2019 at 16:30. Reason: Updated information. |
![]() |
![]() |
![]() |
#3 | Link |
Registered User
Join Date: Jun 2007
Posts: 158
|
Setting Up VapourSynth.framework
Note: It is recommended that you either use macOS 10.11 or use the '-mmacosx-version-min=10.11' in "export CPPFLAGS=' for better distribution compatibility. VapourSynth and other tools will not work on 10.10 or older. Install the latest version of Xcode from the App Store. Open Xcode and accept the user agreement, then close it. Open Terminal and install Brew: Code:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Code:
brew install cmake ragel autogen automake wget Create a working directory: Code:
cd $HOME mkdir .installs cd .installs Setup zlib Code:
git clone https://github.com/madler/zlib cd zlib git checkout v1.2.11 ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setting up Python Code:
cd $HOME/.installs wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz tar xvfj Python-3.6.5.tar.xz cd Python-3.6.5 export LDFLAGS='-L/Library/Frameworks/VapourSynth.framework/lib' export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' export PKG_CONFIG_PATH=/Library/Frameworks/VapourSynth.framework/lib/pkgconfig ./configure --prefix=/Library/Frameworks/VapourSynth.framework --enable-shared make sudo make install Setup Cython Code:
cd $HOME/.installs wget https://files.pythonhosted.org/packages/b3/ae/971d3b936a7ad10e65cb7672356cff156000c5132cf406cb0f4d7a980fd3/Cython-0.28.3.tar.gz tar xvzf Cython-0.28.3.tar.gz cd Cython-0.28.3 sudo /Library/Frameworks/VapourSynth.framework/bin/python3.6 setup.py install Setup libpng Code:
cd $HOME/.installs wget ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.34.tar.xz tar xvzf libpng-1.6.34.tar.xz cd libpng-1.6.34 ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup JPEG v9c Code:
cd $HOME/.installs wget http://www.ijg.org/files/jpegsrc.v9c.tar.gz tar xvzf jpegsrc.v9c.tar.gz cd jpeg-9c ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup libtiff Code:
cd $HOME/.installs wget http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz tar xvzf tiff-4.0.9.tar.gz cd tiff-4.0.9 ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup GIFLIB Code:
cd $HOME/.installs git clone git://git.code.sf.net/p/giflib/code giflib-code cd giflib git checkout 5.1.4 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup LIBWEBP Code:
cd $HOME/.installs git clone https://chromium.googlesource.com/webm/libwebp cd libwebp git checkout v0.6.1 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup OpenJPEG Code:
cd $HOME/.installs git clone https://github.com/uclouvain/openjpeg cd openjpeg git checkout v2.3.0 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/Library/Frameworks/VapourSynth.framework/ . make sudo make install Setup Leptonica Code:
cd $HOME/.installs wget http://www.leptonica.com/source/leptonica-1.76.0.tar.gz tar xvzf leptonica-1.76.0.tar.gz cd leptonica-1.76.0 export LDFLAGS='-L/Library/Frameworks/VapourSynth.framework/lib' CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include/leptonica' git clone https://github.com/tesseract-ocr/tesseract cd tesseract git checkout 3.05.01 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup FreeType Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.1.tar.gz tar xvzf freetype-2.9.1.tar.gz cd freetype-2.9.1 ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup Harfbuzz Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' git clone https://github.com/harfbuzz/harfbuzz cd harfbuzz git checkout 1.8.0 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup FreeType with HarfBuzz Support Code:
cd $HOME/.installs/freetype-2.9.1 unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include/hafbuzz' ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup FriBidi Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' git clone https://github.com/fribidi/fribidi cd fribidi git checkout v1.0.4 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup LIBASS Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include/freetype2 -I/Library/Frameworks/VapourSynth.framework/include/harfbuzz' git clone https://github.com/libass/libass cd libass git checkout 0.13.6 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup ImageMagick Code:
cd $HOME/.installs unset CPPFLAGS export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' git clone https://github.com/ImageMagick/ImageMagick cd ImageMagick git checkout 7.0.5-10 ./configure --prefix=/Library/Frameworks/VapourSynth.framework --without-xml make sudo make install Setup ZIMG Code:
cd $HOME/.installs git clone https://github.com/sekrit-twc/zimg cd zimg git checkout release-2.9.1 ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Setup FFmpeg Code:
cd $HOME/.installs git clone https://github.com/ffmpeg/ffmpeg git checkout n4.0 cd ffmpeg ./autogen.sh ./configure --toolchain=msvc --enable-gpl --enable-version3 --disable-encoders --disable-programs \ --disable-filters --disable-network --disable-doc --disable-avdevice \ --disable-postproc --disable-avfilter --enable-avresample make sudo make install Code:
cd $HOME/.installs export PYTHON=/Library/Frameworks/VapourSynth.framework/bin/python3 git clone https://github.com/vapoursynth/vapoursynth cd vapoursynth ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.framework make sudo make install Details for Plugins Most plugins will be compiled similarly to the dependencies above, here's an example using FFMS2: Code:
git clone https://github.com/FFMS/ffms2 cd ffms2 export LDFLAGS='-L/Library/Frameworks/VapourSynth.framework/lib' export CPPFLAGS='-I/Library/Frameworks/VapourSynth.framework/include' export PKG_CONFIG_PATH=/Library/Frameworks/VapourSynth.framework/lib/pkgconfig ./autogen.sh ./configure --prefix=/Library/Frameworks/VapourSynth.Framework make sudo make install Code:
otool -L libffms2.4.dylib Code:
/Library/Frameworks/VapourSynth.framework/libffms2.4.dylib (compatibility version 5.0.0, current version 5.0.0) /Library/Frameworks/VapourSynth.framework/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.12.100) /Library/Frameworks/VapourSynth.framework/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.18.100) /Library/Frameworks/VapourSynth.framework/lib/libswscale.5.dylib (compatibility version 5.0.0, current version 5.1.100) /Library/Frameworks/VapourSynth.framework/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.14.100) /Library/Frameworks/VapourSynth.framework/lib/libavresample.4.dylib (compatibility version 4.0.0, current version 4.0.0) /Library/Frameworks/VapourSynth.framework/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) Code:
sudo install_name_tool -id "libffms2.4.dylib" libffms2.4.dylib Additionally, the location of dependencies can be changed to be relative to the location of the actual plugin. For example, ffms2 looks for it's dependency zlib in /Library/Frameworks/VapourSynth.framework/lib, that location can be change to look for it one directory above where libffms2.4.dylib is located (assuming you place libffms2.4.dylib in the VapourSynth autoloading folder) by using a variable called @loader_path. Here is an example of how that would work: Code:
sudo install_name_tool -change /Library/Frameworks/VapourSynth.framework/lib/libz.1.dylib @loader_path/../libz.1.dylib libffms2.4.dylib Last edited by l33tmeatwad; 8th July 2019 at 17:16. Reason: Updated info. |
![]() |
![]() |
![]() |
#4 | Link |
N00b
Join Date: Aug 2011
Location: Loli Island
Posts: 9
|
SCXvid was removed from mediafire ^^
EDIT: Another question, if I had to compile a few plugins by myself which are not present in the list, what params should I use? Since I get an error about not finding vapoursynth.h. Last edited by Mad_Hatter; 13th June 2018 at 11:49. |
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 188
|
It seems your VS headers are not in the include path or so, you can look for them in the most common folders (usually /usr/local/include, etc) and add extra include dir at configure step.
__________________
Me on GitHub | My Telegram PC Specs: Ryzen 3900X (no OC with 250W Air cooling), Asus ROG Crosshair Hero VII (WiFi) @ chipset x470, 32 GB RAM @ 3333MHz OC, Gigabyte RTX 2070, Kingston A1000 @ 240 GB |
![]() |
![]() |
![]() |
#6 | Link | |
Registered User
Join Date: Jun 2007
Posts: 158
|
FFT3DFilter uses C++17 code and EEDI3m would not compile correctly with the macOS 10.11 compiler so I had to use GCC 8.1.0 for that as well.
Quote:
Last edited by l33tmeatwad; 28th June 2018 at 17:45. Reason: Updated information. |
|
![]() |
![]() |
![]() |
#7 | Link |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 5,905
|
Can't test before Sunday, just to get it straight what needs to be done to get a working Vapoursynth with all the plugins:
a. Download http://www.mediafire.com/folder/8xulo6r12tqbv which contains the installer and D2V Source, FFMS2 and LSMASHSource. b. Go to https://www.mediafire.com/folder/wvdlnjapm1vvw and download the latest 7z from each folder, extract the dylib file and place it into the plugins folder (/usr/local/lib/vapoursynth) Is that all or do I have to do anything else? Are the dependencies compiled statically into the dylib files? Do the dependencies come with the installer or is there something else to do? @Hybrid-users: no panic I'll bundle the plugins with the Hybrid release, so no hours downloading and extracting the files. @l33tmeatwad: how about adding the .dylib files to a git repository on github or similar, so getting the latest versions could be done with a 'git clone --depth=1 <remote_repo_url>' ? (always having to check all the folders by hand for updates and extracting the 7z files seem bothersome ![]() Cu Selur Ps.: @l33tmeatwad: any change of an uninstaller for the base installer? Something that would remove everything the installer added to the system?
__________________
Hybrid here in the forum, homepage Notice: Since email notifications do not work here any more, it might take me quite some time to notice a reply to a thread,.. Last edited by Selur; 13th June 2018 at 19:11. |
![]() |
![]() |
![]() |
#8 | Link | ||||
Registered User
Join Date: Jun 2007
Posts: 158
|
Quote:
Quote:
Quote:
Quote:
Code:
sudo rm -rf /Library/Frameworks/VapourSynth.framework sudo rm -rf /usr/local/bin/ffmsindex sudo rm -rf /usr/local/bin/vspipe sudo rm -rf /usr/local/bin/vspython sudo rm -rf /usr/local/include/vapoursynth sudo rm -rf /usr/local/lib/libvapoursynth-script.dylib sudo rm -rf /usr/local/lib/libvapoursynth.dylib |
||||
![]() |
![]() |
![]() |
#11 | Link |
Registered User
Join Date: Nov 2004
Location: UK
Posts: 2,412
|
Traceback (most recent call last):
File "src/cython/vapoursynth.pyx", line 1847, in vapoursynth.vpy_evaluateScript File "", line 9, in File "/Library/Frameworks/VapourSynth.framework/lib/python3.6/site-packages/havsfunc.py", line 1222, in QTGMC dnWindow = core.fft3dfilter.FFT3DFilter(noiseWindow, sigma=Sigma, planes=CNplanes, bt=noiseTD, ncpu=FftThreads) File "src/cython/vapoursynth.pyx", line 1561, in vapoursynth._CoreProxy.__getattr__ File "src/cython/vapoursynth.pyx", line 1416, in vapoursynth.Core.__getattr__ AttributeError: No attribute with the name fft3dfilter exists. Did you mistype a plugin namespace? even if libfft3dfilter.dylib is in plugins folder and gcc 8.1.0 is already installed and up-to-date. Had issues with mvtools (mv.Super) also but installing with brew and overwriting library fixed it. Last edited by kolak; 15th June 2018 at 17:16. |
![]() |
![]() |
![]() |
#12 | Link | |
Registered User
Join Date: Jun 2007
Posts: 158
|
Quote:
Side note, if you are already using brew to install some things, I would recommend using it to install vapoursynth as well, this will help to avoid any issues of finding dependencies as they will all be in a single location. The installer is intended to be used if you do not wish to install xcode & brew and creates it's own self contained environment to not conflict with anything already installed. This is to maintain it working and not break things if other updates are done (like if you are using brew and update FFmpeg beyond the version FFMS2 or LSMASHSource was compiled to be compatible with). This means that the location /Library/Frameworks/VapourSynth.framework will need it's own copy of each dependency, or you can create links to them. Last edited by l33tmeatwad; 15th June 2018 at 17:43. |
|
![]() |
![]() |
![]() |
#13 | Link |
Registered User
Join Date: Nov 2004
Location: UK
Posts: 2,412
|
Found LibstdC++ library (libstdc++.dylib) which was a link pointing to actual library. Made same link in Vapoursynth/Lib but still no luck (so VS/Lib/libstdc++.dylib is definitely pointing to actual library).
Well- I'm bit lost with it, so some things are done through brew, some not (or even compiled blindly by me). It's most likely mess. Issue with mv.Super was I think related to some by in mvtools which are in your package. mvtools itself worked I assume, just some part if it (mv.Super) didn't o maybe this is just my understanding. By installing it with brew and then replacing your library all got fixed. Last edited by kolak; 15th June 2018 at 17:51. |
![]() |
![]() |
![]() |
#14 | Link | |
Registered User
Join Date: Jun 2007
Posts: 158
|
Quote:
|
|
![]() |
![]() |
![]() |
#15 | Link |
Registered User
Join Date: Nov 2004
Location: UK
Posts: 2,412
|
Code:
import vapoursynth as vs core = vs.get_core() import havsfunc as haf clip = core.ffms2.Source(source="") clip = core.resize.Bicubic(clip=clip,format=vs.YUV422P8) deint = haf.QTGMC(clip, Preset='Fast', TFF=True) deint.set_output() If you add grain retention: Code:
deint = haf.QTGMC(clip, Preset='Fast', TFF=True, EZKeepGrain=1) Last edited by kolak; 15th June 2018 at 17:59. |
![]() |
![]() |
![]() |
#16 | Link | |
Registered User
Join Date: Jun 2007
Posts: 158
|
Quote:
Edit: I just noticed I didn't list MVTools as needing FFTW3, it does require that dependency. Last edited by l33tmeatwad; 15th June 2018 at 18:11. Reason: Updated information. |
|
![]() |
![]() |
![]() |
#17 | Link |
Registered User
Join Date: Nov 2004
Location: UK
Posts: 2,412
|
Yes, it was probably failing due to missing dependencies (due to mess on my system).
Hm... still have to fight FFT3DFilter problem. I did uninstall vs with brew and used installer, so it should work. Does FFT3DFilter needs some other library (other than. LibstdC++)? What about FFTW3 itself (I think I actually tried copying all of its libraries into VS/Lib folder)? |
![]() |
![]() |
![]() |
#18 | Link | ||
Registered User
Join Date: Jun 2007
Posts: 158
|
Quote:
Quote:
Code:
otool -L libfft3dfilter.dylib libfft3dfilter.dylib: libfft3dfilter.dylib (compatibility version 0.0.0, current version 0.0.0) @loader_path/../libfftw3f_threads.3.dylib (compatibility version 9.0.0, current version 9.8.0) @loader_path/../libfftw3f.3.dylib (compatibility version 9.0.0, current version 9.8.0) @loader_path/../libstdc++.6.dylib (compatibility version 7.0.0, current version 7.25.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) @loader_path/../libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Last edited by l33tmeatwad; 15th June 2018 at 19:10. |
||
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|