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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 11th June 2018, 16:39   #1  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
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
Alternative VapourSynth Install Method:
Use brew command:
Code:
brew install vapoursynth
IMPORTANT: Brew users will need to create and set the autoload folder prior to installing VapourSynth! Simply run the following commands:
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
aWarpSharp2
Bifrost
Bilateral
CTMF
D2VSource (needs FFmpeg Libs)
DCTFilter (needs FFTW3F)
Deblock
DegrainMedian
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
Flash3kyuu Deband
Fluxsmooth
Format Conversion
KNLMeansCL
LSMASHSource (needs FFmpeg Libs & L-Smash)
MSmoosh
MVTools (needs FFTW3F)
NNEDI3
NNEDI3CL (needs Boost)
SangNom
SCXvid
TComb
TDeintMod
TemporalSoften
ToneMap
TTempSmooth
VagueDenoiser
Yadifmod

*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; 16th June 2018 at 17:53. Reason: Updated information.
l33tmeatwad is offline   Reply With Quote
Old 11th June 2018, 18:35   #2  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,562
Okay. Hoping for the installer, since brew isn't an option for me.
May be two installers, or an installer and an plugin-updater?
Out of curiosity: What plugins use C++17?
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 11th June 2018, 19:16   #3  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by Selur View Post
Out of curiosity: What plugins use C++17?
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.

Last edited by l33tmeatwad; 11th June 2018 at 20:51.
l33tmeatwad is offline   Reply With Quote
Old 13th June 2018, 09:13   #4  |  Link
Mad_Hatter
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 10:49.
Mad_Hatter is offline   Reply With Quote
Old 13th June 2018, 12:41   #5  |  Link
DJATOM
Registered User
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 106
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
DJATOM is online now   Reply With Quote
Old 13th June 2018, 15:26   #6  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by Mad_Hatter View Post
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.
Sorry, having xvid as part of the file name apparently automatically blocks it, but download is fixed now. As for the headers, they are included, but in the /Library/Frameworks/VapourSynth.framework/include/vapoursynth path. As for more information about compiling/building VapourSynth.framework, I started a full post with instructions on how to do so that can be found here.

Last edited by l33tmeatwad; 13th June 2018 at 15:43. Reason: Updated information.
l33tmeatwad is offline   Reply With Quote
Old 13th June 2018, 18:07   #7  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,562
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

Last edited by Selur; 13th June 2018 at 18:11.
Selur is offline   Reply With Quote
Old 13th June 2018, 19:34   #8  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by Selur View Post
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?
That is all that needs to be done.

Quote:
Originally Posted by Selur View Post
Are the dependencies compiled statically into the dylib files? Do the dependencies come with the installer or is there something else to do?
Dependencies are shared libs that will need to be placed in the lib folder. The dependencies for things in the installer are included, but any plugin that lists a needed dependency above will need to be downloaded from the dependencies folder. The installer creates a folder on the desktop with shortcuts to the locations in which dependencies, executables, plugins, and scripts need to be placed.

Quote:
Originally Posted by Selur View Post
@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 )
Sorry, for now this is the distribution method, it is just the easiest for me to get things packaged up and distributed. I suppose I could repackage them in another format at a later time with something the native OS supports.

Quote:
Originally Posted by Selur View Post
Ps.: @l33tmeatwad: any change of an uninstaller for the base installer? Something that would remove everything the installer added to the system?
It's on the to-do list. For now the main way to remove it is to delete /Library/Frameworks/VapourSynth.framework. If you want all of it removed you can run the following terminal commands:
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
l33tmeatwad is offline   Reply With Quote
Old 13th June 2018, 20:19   #9  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,562
Hope to do some testing on Sunday and report back.
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 14th June 2018, 15:25   #10  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
For anyone that is interested in compiling their own plugins that snagged the installer before, I have updated the R43 installer to include the pkgconfig files.
l33tmeatwad is offline   Reply With Quote
Old 15th June 2018, 16:12   #11  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
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 16:16.
kolak is offline   Reply With Quote
Old 15th June 2018, 16:25   #12  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by kolak View Post
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.
Did you install GCC 8.1.0 through brew? If so, FFT3DFilter is looking for the LibstdC++ library file the directory above where it is located (in /Library/Frameworks/VapourSynth.framework/libs) and not in /usr/local/lib. You can either create a link or download library file itself. As for the issues with mv.Super, can you provide the error messages so I can investigate?

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 16:43.
l33tmeatwad is offline   Reply With Quote
Old 15th June 2018, 16:47   #13  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
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 16:51.
kolak is offline   Reply With Quote
Old 15th June 2018, 16:53   #14  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by kolak View Post
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.
Would you mind sharing the script you used that cause issues with mv.Super? I'd like to test it out just to troubleshoot. If I need to fix something with the binary that's available I will.
l33tmeatwad is offline   Reply With Quote
Old 15th June 2018, 16:56   #15  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
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()
so just a call of QTGMC.

If you add grain retention:

Code:
deint = haf.QTGMC(clip, Preset='Fast', TFF=True, EZKeepGrain=1)
then issues with FFT3DFilter appears.

Last edited by kolak; 15th June 2018 at 16:59.
kolak is offline   Reply With Quote
Old 15th June 2018, 17:04   #16  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by kolak View Post
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()
so just a call of QTGMC.

If you add grain retention:

Code:
deint = haf.QTGMC(clip, Preset='Fast', TFF=True, EZKeepGrain=1)
then issues with FFT3DFilter appears.
It is working with the provided dependency binaries from the download location with an install using the VapourSynth installer. It's possibly something related to the split location for all the dependencies.

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 17:11. Reason: Updated information.
l33tmeatwad is offline   Reply With Quote
Old 15th June 2018, 17:40   #17  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
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)?
kolak is offline   Reply With Quote
Old 15th June 2018, 17:48   #18  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by kolak View Post
Yes, it was probably failing due to missing dependencies (due to mess on my system).
I just checked and it also needs FFTW3 as well, sorry about that, in the process of getting all these up all in one day I missed marking those two. The easy way to fix would be to downloaded the provided dependencies and place them in the libraries folder (either through the shortcuts on the desktop or by browsing to /Library/Frameworks/VapourSynth.framework/lib). Having both of those should fix the issue.

Quote:
Originally Posted by kolak View Post
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)?
It actually requires both libstdc++.6.dylib & libgcc_s.1.dylib. If you ever have issues with plugins/library files you can browse to that directory using terminal and run the command otool -L plugin.dylib to see what dependencies it needs. Here's what it looks like for FFT3Dfilter:
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 18:10.
l33tmeatwad is offline   Reply With Quote
Old 15th June 2018, 18:23   #19  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
Ok- maybe we are getting closer
Yes, with this command I can check things myself.
kolak is offline   Reply With Quote
Old 15th June 2018, 18:27   #20  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 139
Quote:
Originally Posted by kolak View Post
Ok- maybe we are getting closer
Yes, with this command I can check things myself.
Instead of using the brew copies, try using the ones I provided in the download location above to see if that resolves your issues.
l33tmeatwad is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 20:30.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.