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 > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th September 2023, 18:58   #141  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
I just rebuild standard ffmpeg («ffmpeg-5.1.3-3.fc37.src.rpm»), enabling «--enable-avisynth» in spec file, install it,
and rebuild standart mpv («mpv-0.35.1-2.fc37.src.rpm»), linking to this ffmpeg.

And same issue persists (ok — ColorBars, not OK — FFMS2).
belonesox is offline   Reply With Quote
Old 26th September 2023, 19:25   #142  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,410
What is the output of

Code:
ls ~/.avisynth ~/.local/lib/avisynth ~/.local/lib64/avisynth /usr/lib64/avisynth /usr/local/lib/avisynth /usr/local/lib64/avisynth
qyot27 is offline   Reply With Quote
Old 26th September 2023, 20:47   #143  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
Quote:
Originally Posted by qyot27 View Post
What is the output of

Code:
ls ~/.avisynth ~/.local/lib/avisynth ~/.local/lib64/avisynth /usr/lib64/avisynth /usr/local/lib/avisynth /usr/local/lib64/avisynth
Code:
$ ls ~/.avisynth ~/.local/lib/avisynth ~/.local/lib64/avisynth /usr/lib64/avisynth /usr/local/lib/avisynth /usr/local/lib64/avisynth
ls: cannot access '/home/stas/.avisynth': No such file or directory
ls: cannot access '/home/stas/.local/lib/avisynth': No such file or directory
ls: cannot access '/home/stas/.local/lib64/avisynth': No such file or directory
ls: cannot access '/usr/lib64/avisynth': No such file or directory
ls: cannot access '/usr/local/lib/avisynth': No such file or directory
/usr/local/lib64/avisynth:
libconvertstacked.so  libimageseq.so  libshibatch.so  libtimestretch.so
strace log also shows that not "not found" libs:

Code:
…
2171084 openat(AT_FDCWD, "/home/stas/.avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/home/stas/.avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/home/stas/.local/lib/avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/home/stas/.local/lib/avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = 9
2171084 newfstatat(9, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libimageseq.so", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=101808, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/libIL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/usr/lib64/libIL.so.1", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=502432, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/libmng.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/usr/lib64/libmng.so.2", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=482128, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/libjasper.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
2171084 openat(AT_FDCWD, "/usr/lib64/libjasper.so.6", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=344744, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libshibatch.so", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=179600, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libtimestretch.so", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=129944, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libconvertstacked.so", O_RDONLY|O_CLOEXEC) = 10
2171084 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=47008, ...}, AT_EMPTY_PATH) = 0
2171084 openat(AT_FDCWD, "/usr/local/lib64/avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = 9
2171084 newfstatat(9, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
2171084 getcwd("/mnt/storage/nextclouds/i/software/bugs/avisynth-mpv", 4096) = 53
2171084 openat(AT_FDCWD, "/mnt/storage/nextclouds/i/software/bugs/avisynth-mpv/libffms2.so", O_RDONLY|O_CLOEXEC) = 9
2171084 newfstatat(9, "", {st_mode=S_IFREG|0755, st_size=260984, ...}, AT_EMPTY_PATH) = 0
2171072 --- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
…

Last edited by belonesox; 26th September 2023 at 21:14.
belonesox is offline   Reply With Quote
Old 26th September 2023, 21:30   #144  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,410
You don't have libffms2 in any of the autoload paths. And implicitly speaking, trying to rely on ensuring you're using the correct absolute path every time with LoadPlugin is rather fragile and very easy to make mistakes with.

Code:
ln -s /usr/local/lib64/libffms2.so /usr/local/lib64/avisynth/libffms2.so

Last edited by qyot27; 26th September 2023 at 21:32.
qyot27 is offline   Reply With Quote
Old 26th September 2023, 21:32   #145  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
Quote:
Originally Posted by belonesox View Post
I just rebuild standard ffmpeg («ffmpeg-5.1.3-3.fc37.src.rpm»), enabling «--enable-avisynth» in spec file, install it,
and rebuild standart mpv («mpv-0.35.1-2.fc37.src.rpm»), linking to this ffmpeg.

And same issue persists (ok — ColorBars, not OK — FFMS2).
+ «ffplay» from rebuilded «ffmpeg-5.1.3-3.fc37.src.rpm» also works
with ColorBars, and not works with FFMS2
belonesox is offline   Reply With Quote
Old 26th September 2023, 21:45   #146  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
Quote:
Originally Posted by qyot27 View Post
You don't have libffms2 in any of the autoload paths.
Yes, but I provided absolute path to libffms, and strace logs show that libffms was found.

Quote:
And implicitly speaking, trying to rely on ensuring you're using the correct absolute path every time with LoadPlugin is rather fragile and very easy to make mistakes with.
Of course, I just wish to make it work somehow

Quote:
Code:
ln -s /usr/local/lib64/libffms2.so /usr/local/lib64/avisynth/libffms2.so
«Libffms» selfinstalled «make install» to «/usr/local/lib», so
I added symlink

Code:
ln -s /usr/local/lib/libffms2.so /usr/local/lib64/avisynth/libffms2.so
and nothing changed — it obviously found libffms2.so
(mpv-avisynth-ffms-not-ok-after-symlinking.strace)

Code:
…
2191774 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=129944, ...}, AT_EMPTY_PATH) = 0
2191774 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libconvertstacked.so", O_RDONLY|O_CLOEXEC) = 10
2191774 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=47008, ...}, AT_EMPTY_PATH) = 0
2191774 openat(AT_FDCWD, "/usr/local/lib64/avisynth/libffms2.so", O_RDONLY|O_CLOEXEC) = 10
2191774 newfstatat(10, "", {st_mode=S_IFREG|0755, st_size=260984, ...}, AT_EMPTY_PATH) = 0
2191774 openat(AT_FDCWD, "/usr/local/lib64/avisynth/", O_RDONLY|O_CLOEXEC|O_DIRECTORY) = 9
2191774 newfstatat(9, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
2191774 openat(AT_FDCWD, "/usr/local/lib/libffms2.so", O_RDONLY|O_CLOEXEC) = 9
2191774 newfstatat(9, "", {st_mode=S_IFREG|0755, st_size=260984, ...}, AT_EMPTY_PATH) = 0
2191745 --- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
…
but something wrong happened.

What versions of AVISynth and FFMS work together for you?
belonesox is offline   Reply With Quote
Old 26th September 2023, 23:44   #147  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,410
git master of both AviSynth+ (r4003 / fc5b9bc41fd47001b7da39ea777d29c0ede2a2a7) and FFMS2 (ef243ab40b8d4b6d18874c6cef0da1a2f55a6a45), as well as the standard HEAD of the FFMS2 C-plugin (https://github.com/qyot27/ffms2_cplu...4669bb30db4828). Fedora 38 x86_64.



(libffms2.so.5.0.0 in /usr/local/lib is the upstream autotools buildsystem, libffms2.so.3.1.1 in /usr/local/lib64 is the C-plugin, built by meson)
qyot27 is offline   Reply With Quote
Old 27th September 2023, 01:22   #148  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
Quote:
Originally Posted by qyot27 View Post
git master of both AviSynth+ (r4003 / fc5b9bc41fd47001b7da39ea777d29c0ede2a2a7) and FFMS2 (ef243ab40b8d4b6d18874c6cef0da1a2f55a6a45),
I aligned by versions with you on AVS+, FFMS2, MPV — same problem.

Probably something magicly broken on my box, I will try to install FC38 on other laptop, to absolutely reproduce your setup (how did you build MPV?)


Quote:
Originally Posted by qyot27 View Post
as well as the standard HEAD of the FFMS2 C-plugin (https://github.com/qyot27/ffms2_cplu...4669bb30db4828). Fedora 38 x86_64.
Cannot get why we need «FFMS2 C-plugin» → I just tried to use it as AVS+ plugin but get

Code:
[ffmpeg/demuxer] avisynth: '/usr/local/lib64/avisynth/libffms2.so' cannot be used as a plugin for AviSynth.
[ffmpeg/demuxer] (./test04.avs, line 4)
[lavf] avformat_open_input() failed
Failed to recognize file format.
belonesox is offline   Reply With Quote
Old 27th September 2023, 02:12   #149  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,410
The meson buildsystem doesn't build any of plugin interfaces by default, it's just the plain library. -Davisynth-c=enabled turns on the C-plugin.

mpv was built by fetching the builddeps, and then just
Code:
PKG_CONFIG_PATH=/path/to/ffmpeg-avs/lib/pkgconfig meson setup ../ -Dsdl2=enabled
qyot27 is offline   Reply With Quote
Old 28th September 2023, 01:29   #150  |  Link
belonesox
Registered User
 
Join Date: May 2010
Location: Moscow, Russia
Posts: 47
Quote:
Originally Posted by qyot27 View Post
mpv was built by fetching the builddeps, and then just
Code:
PKG_CONFIG_PATH=/path/to/ffmpeg-avs/lib/pkgconfig meson setup ../ -Dsdl2=enabled
Thank you very much!

Finally I get my example working!

I build
1) FFMPEG with AVS,
Code:
./configure --prefix=$HOME/ffmpeg_build --enable-gpl --enable-version3 --disable-doc --disable-debug --enable-pic --enable-avisynth --enable-ffplay --enable-shared --disable-static
2) MPV
Code:
PKG_CONFIG_PATH=/home/stas/ffmpeg_build/lib/pkgconfig meson setup ../ -Dsdl2=enabled
and FFMS2

Code:
PKG_CONFIG_PATH=/home/stas/ffmpeg_build/lib/pkgconfig CPPFLAGS=-I/usr/local/include/avisynth LDFLAGS=-L/usr/local/lib  ./configure --enable-avisynth
linked to same FFMPEG with AVS.

Looks my problem was because FFMS2 was linked to different version of FFMPEG.
belonesox 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 15:59.


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