Selur's Little Message Board
VapourSynth 58 for Ubuntu 22.04 - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html)
+--- Forum: Problems & Questions (https://forum.selur.net/forum-3.html)
+--- Thread: VapourSynth 58 for Ubuntu 22.04 (/thread-3473.html)



VapourSynth 58 for Ubuntu 22.04 - artenaki - 23.11.2023

Hi, you might be interested in my VapourSynth build with plugins and utilities for Ubuntu 22.04, which can also work together with Hybrid.
vapoursynth-58-jammy-amd64.deb
GitHub
Mega

Contents:
vsedit (Qt6)
d2vwitch (Qt5)
ffmpeg 6.1 with vapoursynth and fdk-aac support
examples

Not all plugins are there, if you are missing something (like addgrainc) ask me to build it. QTGMC works.

Run Hybrid as follows: cd /path/to/hybrid && ./Hybrid. This is necessary for the application to run correctly.
If you encounter a segfault, remove the ~/.hybrid folder (settings).
Hybrid for Linux


RE: VapourSynth 58 for Ubuntu 22.04 - Selur - 23.11.2023

Thanks for the offer.
Using:
https://github.com/Selur/HybridDeploy/blob/master/build-tools.sh
I can build all the programs Hybrid uses. (this includes ffmpeg with for example libdvd, libbluray,...)

Using:
https://github.com/Selur/hybrid-vapoursynth-addon
I can already, build:
* Vapoursynth R65
* all the plugins under https://github.com/Selur/hybrid-vapoursynth-addon/tree/master/build-plugins

The problem is: l-smash-works doesn't work.

Build scripts are better, since it allows users on different Debian based distros to build all the stuff.
So unless you are prepared to build all the above and offer your .deb-file for different distros, that it is currently of no use.

If you got the time, motivation, knowledge and time, it would help if you can figure out a way to fix the current script to also build l-smash-works.


Cu Selur


RE: VapourSynth 58 for Ubuntu 22.04 - artenaki - 23.11.2023

I compiled it this way. It worked.

git clone https://github.com/l-smash/l-smash
cd l-smash
./configure --prefix=/usr --enable-shared --disable-static
make
sudo checkinstall
sudo ldconfig

git clone https://github.com/AkarinVS/L-SMASH-Works
cd L-SMASH-Works
git checkout ee60c53b18ea958081c3b96a817a66d4b9989619
cd VapourSynth
mkdir build && cd build
meson .. --prefix=/usr --libdir=/usr/lib/vapoursynth
ninja -j1
sudo ninja install

So I used a different repository (fork), the address of which I found here.


RE: VapourSynth 58 for Ubuntu 22.04 - Selur - 23.11.2023

I'll try whether I can get this integrated into the existing script this evening.
Off to work now. Smile

Cu Selur


RE: VapourSynth 58 for Ubuntu 22.04 - Selur - 24.11.2023

Doesn't work here, also ee60c53b18ea958081c3b96a817a66d4b9989619 is 2+ years old.
tried with
ghdl AkarinVS/L-SMASH-Works
git checkout vA.3j
ghdl l-smash/l-smash

./configure --prefix="$vsprefix" --extra-cflags="$CFLAGS" || cat config.log
make -j$JOBS lib
cp liblsmash.a ..

cd ../VapourSynth

mv meson.build meson.build.ORIGINAL
sed < meson.build.ORIGINAL > meson.build \
-e "/vapoursynth_dep *=/i\
liblsmash_dep = declare_dependency(link_args : ['-L../../build', '-llsmash'],\\
                                   include_directories : ['../../build'])\n" \
-e "s/dependency('liblsmash')/liblsmash_dep/g"

if [ -z "$vsprefix" ]; then
    vsprefix="/usr/local"
fi

CFLAGS="$CFLAGS -Wno-deprecated-declarations" meson setup build --prefix="$vsprefix"
ninja -C build -j $JOBS

cp build/libvslsmashsource.so ../libvslsmashsource.so
cd ..
finish libvslsmashsource.so
=> seems like it's time to drop Linux support and switch to Windows only releases.

Cu Selur


RE: VapourSynth 58 for Ubuntu 22.04 - artenaki - 25.11.2023

Hello.
1.
Build l-smash in shared (.so) mode.
static (.a) does not work:
--enable-shared --disable-static
You will have to modify the script.

2.
Remove system dev packages so they don't interfere with linking:
sudo apt purge libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libffms2-dev libpostproc-dev libswresample-dev libswscale-dev

3.
For L-SMASH-Works, use commit 5bea7a5750db08abf7ca43839e363dc3c05b5e5c This is the ffmpeg-4.5 branch, which is recommended for ffmpeg 5.0+ (newer distributions).
https://github.com/AkarinVS/L-SMASH-Works/commit/5bea7a5750db08abf7ca43839e363dc3c05b5e5c
https://github.com/AkarinVS/L-SMASH-Works/tree/ffmpeg-4.5

It works for me.
I wouldn't want you to stop supporting Linux, at least completely.

UPD: When compiling l-smash-works plugin, add to beginning of the line: PKG_CONFIG_PATH=/path/to/l-smash-ffmpeg/lib/pkgconfig


RE: VapourSynth 58 for Ubuntu 22.04 - Selur - 25.11.2023

It's not about whether I find a way to build it in my system, it's about whether I can modify the existing script to build the plugins can be adjusted to work.
Since I don't want the stress again of getting tons of emails and threads in forums that Hybrid doesn't work since something went wrong with the building of the dependencies.

Cu Selur


RE: VapourSynth 58 for Ubuntu 22.04 - artenaki - 26.11.2023

You could discontinue support for vapoursynth for Linux, but not all of Linux.
Maybe it makes sense to supply your builds of everything? (python, cython, vapoursynth, ffmpeg, plugins). Like in Windows.
Because of glibc this will weed out older systems though.
It's funny, I've always wanted a MeGUI for Linux and found your program which is very similar and you talk about stopping development.


RE: VapourSynth 58 for Ubuntu 22.04 - Selur - 26.11.2023

Quote:You could discontinue support for vapoursynth for Linux, but not all of Linux.
Without Vapoursynth, on Linux, you could just use Handbrake, ShutterEncoder or other ffmpeg/mencoder frontends.

Quote:Maybe it makes sense to supply your builds of everything?
I haven't found a way to build everything and package it so it will run on all current Linux distros.
+ I lack the time to look into this further.

Cu Selur