View Full Version : VapourSynth Installer, Applications, & Plugins for macOS (Intel)
Pages :
1
2
3
4
5
[
6]
7
8
9
10
l33tmeatwad
12th September 2020, 17:04
I could host it on my server. But you could also put everything on github for free... and with macOS binaries on github, vsrepo could be extended with macos support. Maybe it already works in portable mode.I haven't looked into the terms of service enough on GitHub, but I know for the most part it's expected that you're hosting the source project there. That said I don't feel like managing so many repositories, the ones already on GitHub are easier, but that's just a mess I haven't been interested in organizing up to this point. It would be nice to work with someone on maintaining everything.
l33tmeatwad
12th September 2020, 21:33
Added the following:
AdaptiveGrain
AreaResize*
ASharp
Average
NoiseGenerator*
TBilateral
TemporalSoften2
Warpsharp Single Precision
*Crashes VapourSynth Editor when preview window is closed or refreshed.
shph
13th September 2020, 14:09
Seems AdaptiveGrain-0.3.1 archive contains some random files and folders instead of .dylib plug-in
https://i.imgur.com/JnZ7kyM.jpg
l33tmeatwad
13th September 2020, 14:41
Seems AdaptiveGrain-0.3.1 archive contains some random files and folders instead of .dylib plug-in
https://i.imgur.com/JnZ7kyM.jpgI mean technically that is the plugin...but clearly I mixed up the source code and compiled compressed files. Files are now in their correct directory.
shph
13th September 2020, 15:29
How about add description to the filters list about namespaces conflict and warning description at the bottom of the list about do not put filters with same namespace to autoload folder? Something like this:
EdgeFixer (uses ContinuityFixer namespace)
SangNomMod (uses SangNom namespace)
Focus (uses TemporalSoften namespace)
Also maybe add "8-bit only" warning to filters list?
I done bit depth filters tests in Hybrid here https://forum.doom9.org/showthread.php?p=1922287#post1922287
DeGrain -> MLDegrain
DeGrain -> TemporalDegrain
Artefacts -> DeCrawl -> DotKill (R1 and R2 versions)
Artefacts -> DeCrawl -> DeDot
Artefacts -> DeRainbow -> BiFrost
Artefacts -> DeRainbow -> SSIQ
Artefacts -> DeCross
Line -> AntiAliasing -> SangNomMod
l33tmeatwad
13th September 2020, 15:43
Or, ya know, just download plugins you need instead of everything that exists. There is no need to have two different versions of the same thing, some of these I'm compiling partially for archival purposes.
l33tmeatwad
13th September 2020, 20:20
Just added FFTSpectrum & VMAF, with these there are now 100 external plugins available for macOS! Other updates:
Currently Investigating:
Damb - Needs libsndfile which needs other dependancies.
SRMD - Need to test with AMD GPU.
vs-placebo - Needs libplacebo.
Plugins with Issues:
MVTools-Float - Needs C++20, not implamented in macOS yet.
tc2cfr - No Timecodes Work
Currently Windows Only:
DelogoHD
DGHDRtoSDR
DGMVSource
vcfreq
vcm
VSFilterMod
xy-VSFilter
Other:
bilateralgpu - Depreciated, use CuPy.
AdamCarter
14th September 2020, 13:06
Selur needs these
got tools which are used in Hybrid which I can't update:
rav1e, used for AV1 encoding
mencoder/mplayer, used for DVD Input and the normal Preview
opusenc, used for opus audio encoding
oggenc2, used for ogg vorbis audio encoding
l33tmeatwad
14th September 2020, 14:45
Selur needs these
got tools which are used in Hybrid which I can't update:
rav1e, used for AV1 encoding
mencoder/mplayer, used for DVD Input and the normal Preview
opusenc, used for opus audio encoding
oggenc2, used for ogg vorbis audio encoding
Please keep things on topic for VapourSynth support.
AdamCarter
14th September 2020, 17:45
Hey don’t shoot the messenger. If this type of work Is too complicated we Can always Teach shph how to compile.
l33tmeatwad
14th September 2020, 17:59
Hey don’t shoot the messenger. If this type of work Is too complicated we Can always Teach shph how to compile.
Both of you could learn since you both seem so fascinated with Hybrid.
l33tmeatwad
15th September 2020, 20:13
Added Damb, Placebo, & SRMD. A few more updates:
neo f3kdb - Won't Compile
neo FFT3D - Crashes
neo DFTTest - Won't Compile
neo TMedian - Won't Compile
neo Gradient Mask - Won't Compile
neo Vague Denoiser - Crashes
As for downloads, thanks to ChaosKing there are now direct downloads available in addition to the MediaFire downloads!
shph
16th September 2020, 03:12
Really great improvements! Thanks a lot l33tmeatwad and ChaosKing!
I tested Waifu2x NCNN Vulkan + SDK and seems that system works well. But that is very heavy AI filter and it is rather slow even on my Radeon RX 580 GPU.
shph
16th September 2020, 03:17
Added Anime4KCPP, it seems to work okay, but GPUMode previews are not correct, have not tried encoding with it.
I can confirm. It gives me errors when i attempt to run it on GPU. https://forum.selur.net/showthread.php?tid=1495&pid=9115#pid9115
No problem run it on CPU.
l33tmeatwad
16th September 2020, 03:36
I can confirm. It gives me errors when i attempt to run it on GPU. https://forum.selur.net/showthread.php?tid=1495&pid=9115#pid9115
No problem run it on CPU.
I wouldn't recommend it anyways, it over filters and looks pretty terrible when not used on it's ideal sample sources.
l33tmeatwad
17th September 2020, 15:50
As I was working on the plugins I realized a few quality of life changes I can make to the installer, I will most likely update the R52 installer and archive the older ones at some point. I plan to have the installer to move plugins stored in /usr/local/lib/vapoursynth to the desktop when installing so it can safely create a symbolic link from that location to the framework. In addition to that I'm going to be adding symbolic links for the package config files so that export commands aren't needed for (most) plugins to be compiled. This should help with compatibility for other tools & installers to not only work with manually compiled or brew installed versions, but to also work with installs from the VapourSynth Installer.
l33tmeatwad
18th September 2020, 02:44
The R52 installer was updated, it is a non-essential update and only benefits anyone that is interested in compiling plugins themself. The only addition the average user could benefit from can be accomplished by the following terminal command:
if test -d "/usr/local/lib/vapoursynth"; then sudo mv /usr/local/lib/vapoursynth $HOME/Desktop/VSPlugins-Backup; fi
sudo ln -s /Library/Frameworks/VapourSynth.framework/lib/vapoursynth /usr/local/lib/vapoursynth
Selur
20th September 2020, 11:12
@l33tmeatwad: when adding new filters, you could add vcm which includes vcmod and vcmove and quite a few others around frequency domain filtering. :)
see: http://www.avisynth.nl/users/vcmohan/
l33tmeatwad
21st September 2020, 16:05
@l33tmeatwad: when adding new filters, you could add vcm which includes vcmod and vcmove and quite a few others around frequency domain filtering. :)
see: http://www.avisynth.nl/users/vcmohan/
Currently the code does not compile on macOS and I am working with the developer to make adjustments, but as of right now we haven't found the correct adjustments to make it work.
Selur
21st September 2020, 19:08
Thanks for looking into it. :)
l33tmeatwad
22nd September 2020, 15:46
Figured I would ask for anyone following this thread, would you prefer the VapourSynth folder created to continue to be on the desktop or would it be preferred to be located in your home folder instead?
shph
23rd September 2020, 06:03
It depends of situation.
VapourSynth on desktop is easier to see and reach when you install first time. But i usually just always keep copy of that folder in Applications folder and delete folder from Desktop. To be honest it is a little annoying because every time i reinstall Vapoursynth i need to delete that folder from desktop and also type password because folder is sort of locked.
VapourSynth at home folder looks like more seamless option. But may be slightly less obvious to new users.
l33tmeatwad
23rd September 2020, 14:10
I could make shortcuts optional.
shph
24th September 2020, 15:18
Nice idea
shph
10th October 2020, 16:11
Seems we need temporalmedian library https://github.com/dubhater/vapoursynth-temporalmedian it required by mClean filter
Selur
11th October 2020, 18:50
@l33tmeatwad: Another filter that might be interesting assuming it can be compiled for MacOS: https://github.com/Kiyamou/VapourSynth-RealSR-ncnn-Vulkan/
l33tmeatwad
20th October 2020, 14:57
Just an update, I've added the requested plugins to my list and as soon as I get back to working on this project I'll see about getting them compiled.
Selur
20th October 2020, 15:50
Thanks, no hurry from my side.
AdamCarter
6th November 2020, 17:37
Vmod moved all his plugins here
http://www.avisynth.nl/users/vcmohan/
l33tmeatwad
17th November 2020, 16:44
I have updated the topic to specify the software and plugins are compiled for Intel based macOS since the first set of ARM based MacBooks are now in the wild. Based on the initial benchmarks spreading across the web the performance should be fine even if it's not natively compiled for the M1 chips, however if anyone can share their experience that would be great. I do not currently have plans to compile for ARM at the moment as I do not have a machine to compiling with and do not want to just cross compile with no means to test the resulting files.
Selur
29th November 2020, 08:26
@l33tmeatwad: another useful filter you could add: https://github.com/Kiyamou/VapourSynth-DehazingCE
ChaosKing
30th November 2020, 20:23
Is someone interested in a vsrepo (https://github.com/vapoursynth/vsrepo)mac version?
I just realised I could make a "fake github api" for the plugins hosted on vsdb.top. That means auto updating should work with minimal code changes.
Selur
1st December 2020, 14:55
I'd use it.
ChaosKing
2nd December 2020, 17:24
@Selur can you test this binary (pyinstaller bundle) http://vsdb.top/avsrepo-64.zip. I was generated by a github action here https://github.com/avisynth-repository/avsrepo/actions/runs/392449849
(I'm not a mac user and only have a mac Mojave-VM for testing ... )
It shows an "request ssl error" when I run "avsrepo-64 update".
If it fails for you too, try: Download http://vsdb.top/avspackages.zip extract it and try to "install" something, like "avsrepo install dfttest"
I just need to know if the error pops up only on my machine or for everyone. Btw. the error is gone if I install "certifi" via pip.
I think my "mac" does not know any cloudflare certs. Note to myself: switch to Letsencrypt :D
EDIT
oh and you need 7z in PATH. brew install p7zip
l33tmeatwad
2nd December 2020, 19:38
@ChaosKing I'll look into making this easier for everyone as the plugin directory can vary based on how VapourSynth was installed (even brew wants to use its own directory that's different). I may try to make a build of p7zip that can be bundled with avsrepo or something.
ChaosKing
2nd December 2020, 20:46
What would be the plugin path instead of /usr/local/lib/vapoursynth for other install methods?
Why am I even testing pyinstaller... This is vapoursynth + python and not Avisynth :rolleyes:
l33tmeatwad
3rd December 2020, 14:09
What would be the plugin path instead of /usr/local/lib/vapoursynth for other install methods?
Why am I even testing pyinstaller... This is vapoursynth + python and not Avisynth :rolleyes:Both my installer and Brew use alt locations and symbolic links for the main library files. In recent revisions I've started adding a symbolic link to forward stuff sent to that location as well so it should work fine with the installer, but unless you take some specific steps before using "brew install vapoursynth" you'll end up with the plug-in path in a weird location. Side note, part of the point of the installer is that it does not require any compilation tools to be installed, unlike Brew, so I was going to try and make sure it can be used without needing to install Brew.
ChaosKing
3rd December 2020, 14:48
VS docs: http://www.vapoursynth.com/doc/plugins.html#os-x
Autoloading can be configured using the file $HOME/Library/Application Support/VapourSynth/vapoursynth.conf. Everything else is the same as in Linux.
So wouldn't it make sense for vsrepo-mac to use the paths from this config? (Assuming your installer would create the config file)
p.s. vsrepo supports custom path params for scripts/plugins in case you want to download your files to a different folder.
l33tmeatwad
3rd December 2020, 15:14
I would take it into consideration, but by default neither Brew nor the installer setup the Autoloading config file. That said, in the first post of this thread I did encourage people using Brew to setup the autoloading config file.
ChaosKing
7th December 2020, 17:06
The "vsdb-github-api" is ready http://vsdb.top/vapoursynth/mac/api.php?plugin=SangNom
But I noticed that 7z does not work as intended. It extracts only the tar from tar.gz files. I need to look closer at the python tarfile module...
That would mean 7z will not be needed anymore (if all files are tar.gz files)
Selur
23rd March 2021, 10:19
I finally had some time to also do some testing. I nstalled p7zip using brew got an error when trying to install vstcanny:
selur@Georgs-Mac-2 Downloads % ./avsrepo-64 install vstcanny
vsTCanny 1.0.0: 100%|████████████████████████████████████████████████████████████████████████████████████████████| 60.2k/60.2k [00:00<00:00, 9.38MB/s]
Successfully installed vsTCanny 1.0.0
1 package installed
selur@Georgs-Mac-2 Downloads % usage: avsrepo-64 [-h] [-f] [-p] [-d] [-t {win32,win64}] [-b BINARY_PATH] [-s SCRIPT_PATH]
{install,update,upgrade,upgrade-all,uninstall,installed,available,paths} [package [package ...]]
avsrepo-64: error: argument -s: expected one argument
Cu Selur
ChaosKing
23rd March 2021, 12:07
Hmm looks like it downloaded vsTCanny. Can you see an avisynth folder with the binary inside!?
You only ran this one command? It looks a bit like 2 command were triggered.
You can test also the script version. I think the only thing I did was to remove the "import winreg" block:
https://github.com/theChaosCoder/avsrepo/blob/07e2d76ab360fb727866f63b5c7aa2e3138e02c1/avsrepo.py#L40
It was then just converted to a "bin" with pyInstaller. But you can just run it with Python3 avsrepo.py install vstcanny
I will test it a bit later (with mac files) next week or so as I'm a bit busy right now
Selur
23rd March 2021, 13:45
To be sure I did everything again:
1. download file
2. make file executeable (chmod +x avsrepo-64)
3. getting json file with filters (avsrepo-64 update)
4. install file (avsrepo-64 install vstcanny)
funny thing is everything seems to work, download happens, command line is there
./avisynth64/plugins:
total 168
drwxr-xr-x 3 selur staff 96 Mar 23 13:32 .
drwxr-xr-x 3 selur staff 96 Mar 23 13:30 ..
-rw-r--r-- 1 selur staff 85504 Mar 23 13:32 vsTCanny.dll
and 1-2 seconds after the error message it shown.
Running:
python3 avsrepo.py update
python3 avsrepo.py install vstcanny
it aborts with:
selur@Georgs-Mac-2 Downloads % python3 avsrepo.py
usage: avsrepo.py [-h] [-f] [-p] [-d] [-t {win32,win64}] [-b BINARY_PATH] [-s SCRIPT_PATH] {install,update,upgrade,upgrade-all,uninstall,installed,available,paths} [package [package ...]]
avsrepo.py: error: the following arguments are required: operation, package
selur@Georgs-Mac-2 Downloads % python3 avsrepo.py update
Local definitions updated to: Fri, 12 Mar 2021 10:21:29 GMT
selur@Georgs-Mac-2 Downloads % python3 avsrepo.py update
Local definitions updated to: Fri, 12 Mar 2021 10:21:29 GMT
selur@Georgs-Mac-2 Downloads % python3 avsrepo.py install vstcanny
Fetching: https://github.com/Asd-g/AviSynth-vsTCanny/releases/download/1.0.0/vsTCanny-1.0.0.7z
Traceback (most recent call last):
File "avsrepo.py", line 446, in <module>
res = install_package(name)
File "avsrepo.py", line 329, in install_package
res = install_files(p)
File "avsrepo.py", line 303, in install_files
result = subprocess.run([cmd7zip_path, "e", "-so", tfpath, fn_props[0]], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '7z.exe'
so simply removing the winreg part isn't encough. :)
No problem, just wanted to know what the current status is. :)
Cu Selur
ChaosKing
23rd March 2021, 14:39
ahh and I removed the ".exe" in 7z.exe :D
l33tmeatwad
25th March 2021, 15:14
Sorry for the long hiatus, had a few life events happen. I'll look into testing that plugin downloader in the next month or so and hopefully we can get it into the installer.
Sent from my Pixel 4a using Tapatalk
ChaosKing
25th March 2021, 16:21
I have not worked on this since, so nothing missed. A tar.gz extractor needs to be implemented. Everything else should work on a mac like it does on windows. (At least for the portable mode)
Ideally this would then be added to the official vsrepo script.
dev-null
14th April 2021, 18:30
Is the particular znedi3 r2 build from this release broken in any form or not compatible with all CPUs (i7/Haswell on an older Mac mini here)?
After locating various information here and there I was under the impression that znedi3 should perform noticeably better than nnedi3. Since I failed to build it myself quickly I just hunted down for the binary from the plugin download page and dropped it into the right place ("/usr/local/lib/vapoursynth" here).
Many hasvfunc functions make automatically use of znedi3 and prefer it over nnedi3.
In my case performance dropped noticeably. First I encountered it with havsfunc's daa(). It now took like ~10s to process a frame compared to like ~1s with just nnedi3 installed. Maybe just a certain problem with my parameters or with the "progressive" input clip, but a generic QTGMC test over properly combed 1440x1080i data also showed huge performance losses:
znedi3: encoded 1000 frames, 3.76 fps, 1482.79 kb/s
nnedi3: encoded 1000 frames, 4.82 fps, 1474.58 kb/s
Also the actual data seems to come out differently (different bitrate/ resulting filesize), but I don't know if both plugins should work entirely identical here or not? But primarily the performance drop is huge. I was hoping for the opposite result. :D
l33tmeatwad
22nd April 2021, 02:42
VapourSynth R53 installer is now up. It's a quick update so none of the dependencies were updated, but I'll try to do an updated version later.
Selur
24th April 2021, 16:38
@l33tmeatwad: Would be nice if you could add TIVTC (https://github.com/dubhater/vapoursynth-tivtc)
l33tmeatwad
19th May 2021, 18:04
@l33tmeatwad: Would be nice if you could add TIVTC (https://github.com/dubhater/vapoursynth-tivtc)
Added to my to-do list right behind updating dependancies.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.