m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.54k stars 267 forks source link

Vmaf enabled build refuses built-in model path? #2180

Closed ls-milkyway closed 2 years ago

ls-milkyway commented 2 years ago

Something is messing up vmaf model path in media auto build whereas same command runs smoothly in both BtbN's & Gyan's builds:

Command: ffmpeg -f lavfi -i color=c=black:s=640x480:d=1 -filter_complex "[0:v][0:v]libvmaf='model_path=C\:/Temp/FF/Audio Video/FFMetrics.1.0.0/vmaf-models/vmaf_v0.6.1.json:log_path=VMAF_out.json:n_threads=2:log_fmt=json'" -f null -

Output BtbN: btbn

Output Gyan's: gyans

Output Media Autobuild: media-auto-build

Any body any ideas???

1480c1 commented 2 years ago

I can run it if I escaped the colon with three backslashes, so

ffmpeg.exe  -f lavfi -i color=c=black:s=640x480:d=1 -filter_complex "[0:v][0:v]libvmaf=model_path=D\\\:/media-autobuild_suite/build/vmaf-git/libvmaf/build-64bit/src/vmaf_v0.6.1.json" -f null -

or

ffmpeg.exe  -f lavfi -i color=c=black:s=640x480:d=1 -filter_complex "[0:v][0:v]libvmaf=model='path=D\\\:/media-autobuild_suite/build/vmaf-git/libvmaf/build-64bit/src/vmaf_v0.6.1.json'" -f null -

as recommended by the warning or

ffmpeg.exe  -f lavfi -i color=c=black:s=640x480:d=1 -filter_complex "[0:v][0:v]libvmaf=model=version=vmaf_v0.6.1" -f null -

to use the built-in models

ls-milkyway commented 2 years ago

ffmpeg.exe -f lavfi -i color=c=black:s=640x480:d=1 -filter_complex "[0:v][0:v]libvmaf=model='path=D\\\:/media-autobuild_suite/build/vmaf-git/libvmaf/build-64bit/src/vmaf_v0.6.1.json'" -f null -

This path command works for me.....thanks....but built-in does not work (fyi: is working on both BtbN & Gyan?? As I want to use built-in command for my project...kindly suggest. Gyan: gyan BtbN: btbn Media-Build media-build

Since both gyan & media-build use gcc with MSYS2 ...hence I am attaching ffmpeg -buildconf as text for your reference ...Thanks build-gyan.txt media-build.txt

1480c1 commented 2 years ago

I'm absolutely confused as to why yours doesn't work, I ran the commands with the ffmpeg produced by the suite

image

I just pushed a commit to explicitly install vim, which should provide xxd.exe, try pulling and deleting build/vmaf-git and rerun and meanwhile it's running, try getting the log files from build/vmaf-git

ls-milkyway commented 2 years ago

I just pushed a commit to explicitly install vim, which should provide xxd.exe, try pulling and deleting build/vmaf-git and rerun and meanwhile it's running, try getting the log files from build/vmaf-git

Hmm....sure....I will build & let you know ....you mean vim (with xxd,exe) is also needed on Windows ....I also see that you are running it from original path i.e. \local64\bin-video...(cmd or mintty) ....whereas I am running by moving the builds to another partition with folder: G:\My..on cmd....anyway ...well I should try the new commit before speculating....

Also forgot to tell you ...that I am mimicking BtbN's vmaf compile parameters: -Denable_float=true -Denable_tests=false -Denable_docs=false --buildtype=release --default-library=static -Dbuilt_in_models=true -Denable_avx512=true in the file media-suite_compile.sh ...hope that it's not messing with the command.

1480c1 commented 2 years ago

xxd.exe is needed for vmaf to generate internal models

ls-milkyway commented 2 years ago

meanwhile it's running, try getting the log files from build/vmaf-git

What do you mean? Plz elaborate ....there is a logs folder at: \build\vmaf-git\.git\logs....do you want me to attach it?

Latest Output: media-build

1480c1 commented 2 years ago

What do you mean? Plz elaborate ....there is a logs folder at: \build\vmaf-git.git\logs....do you want me to attach it?

Yes, I want to confirm that the built-in models were actually compiled in

ls-milkyway commented 2 years ago

What do you mean? Plz elaborate ....there is a logs folder at: \build\vmaf-git.git\logs....do you want me to attach it?

Yes, I want to confirm that the built-in models were actually compiled in

Attached: The logs folder at: \build\vmaf-git\.git\logs logs.zip

1480c1 commented 2 years ago

oh, you meant the .git folder's logs, I mean /build/vmaf-git/build-64bits/ab*.log files. There should have been one with meson in it's name

ls-milkyway commented 2 years ago

oh, you meant the .git folder's logs, I mean /build/vmaf-git/build-64bits/ab*.log files. There should have been one with meson in it's name

??? But there is no folder named: build-64bits inside location /build/vmaf-git/ ..I have the following folders & files inside the vmaf-git: vmaf-git

1480c1 commented 2 years ago

Seems I was wrong, it's build/vmaf-git/libvmaf/build-64bit. Forgot that vmaf uses an extra subdirectory for their project

ls-milkyway commented 2 years ago

Seems I was wrong, it's build/vmaf-git/libvmaf/build-64bit. Forgot that vmaf uses an extra subdirectory for their project

nope, there is no such folder inside /build/vmaf-git/libvmaf/ refer below: libvmaf

1480c1 commented 2 years ago

Hmm, seems like your build deleted the folders after it finished, mine still has them.

image

image

Can you try deleting the vmaf-git folder and rebuilding, and while it's running the suite, but after it builds vmaf, can you try to get those log files?

ls-milkyway commented 2 years ago

Hmm, seems like your build deleted the folders after it finished, mine still has them.

Yeah, I saw some cleaning up after the successful build.

Can you try deleting the vmaf-git folder and rebuilding, and while it's running the suite, but after it builds vmaf, can you try to get those log files?

Sure....I will post them.

1480c1 commented 2 years ago

Actually, try repulling and rerunning, found an issue and pushed https://github.com/m-ab-s/media-autobuild_suite/commit/c734b9c9b1dc4bf58e8c883a43167ce18d0491f9

Either way, the key line I'm looking for is

Program xxd found: YES (C:\media-autobuild-suite\msys64\usr\bin/xxd.EXE)
ls-milkyway commented 2 years ago

Actually, try repulling and rerunning, found an issue and pushed c734b9c

Either way, the key line I'm looking for is

Program xxd found: YES (C:\media-autobuild-suite\msys64\usr\bin/xxd.EXE)

added -m switch....started build.....got the logs & the log file: ab-suite.meson.log does contain "Program xxd found: YES (E:\Programs\FFmpeg\msys64\usr\bin/xxd.EXE)" @ line 27 ab-suite.meson.log ab-suite.build.log ab-suite.install.log Full build pending....

ls-milkyway commented 2 years ago

All tools, global tools, audio tools, & video tools compilation successful (without any errors)...

FFmpeg Running configure...... ERROR: sdl2 requested but not found. config.log Waiting...& trying again....nope not working same error? Removing sdl2 & ffmpeg-git ...trying again.... trying with --disable-sdl2 Same Error...

ls-milkyway commented 2 years ago

Could not find vim or xxd,exe in BtbN source.?? I mean in-built are working without xxd.exe in BtbN ??

1480c1 commented 2 years ago

For BtbN's, it's probably because his base docker image contains xxd https://github.com/BtbN/FFmpeg-Builds/blob/master/images/base/Dockerfile#L7

1480c1 commented 2 years ago

Do you have your logs.zip or media-autobuild_suite.ini and ffmpeg_options.txt and mpv_options.txt? (last two are optional if you didn't select 4 for selection libraries)

Having those 3 files would make it easier for me to try to reproduce your issue

1480c1 commented 2 years ago

Seems your issue is due to https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff, sdl2 went from 2.0.23 to 2.23.0, causing ffmpeg to fail detection

ls-milkyway commented 2 years ago

Having those 3 files would make it easier for me to try to reproduce your issue

ffmpeg_options.txt was made to temporarily --disable-sdl2...now removed it & mpv_options.txt is not present.

Seems your issue is due to https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff, sdl2 went from 2.0.23 to 2.23.0, causing ffmpeg to fail detection.

I will try with previous commit or new media autobuild commit & then let u know with logs.zip ...thanks.

INI file entries: [compiler list] arch=3 license2=1 standalone=2 vpx2=1 aom=1 rav1e=1 dav1d=1 libavif=2 jpegxl=1 x2643=1 x2652=1 other265=2 svthevc=2 xvc=2 vvc=1 svtav1=1 svtvp9=2 flac=1 fdkaac=1 faac=2 exhale=2 mediainfo=1 soxB=1 ffmpegB2=1 ffmpegUpdate=2 ffmpegChoice=3 mp4box=2 rtmpdump=2 mplayer2=2 mpv=2 vlc=2 bmx=2 curl=1 ffmbc=2 cyanrip2=1 ripgrep=2 jq=1 jo=1 dssim=1 avs2=2 CC=2 cores=2 deleteSource=1 strip=1 pack=2 logging=1 autouploadlogs=2 updateSuite=2 timeStamp=1 ccache=2 noMintty=2

ls-milkyway commented 2 years ago

Seems your issue is due to https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff, sdl2 went from 2.0.23 to 2.23.0, causing ffmpeg to fail detection

Yeah that's the reason .... in-built commands are now working! ....thanks ...just to remind you .....master branch requires commit for libwebp patches as:

do_patch "https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/libwebp/0001-WEBP_DEP_LIBRARIES-use-Threads-Threads.patch" am do_patch "https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/libwebp/0003-CMake-link-imageioutil-to-exampleutil-after-defined.patch" am do_patch "https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/libwebp/0004-CMake-use-import-library-for-SDL-if-available.patch" am do_patch "https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/libwebp/0005-CMake-add-WEBP_BUILD_WEBPMUX-to-list-of-checks-for-e.patch" am do_patch "https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/libwebp/0006-CMake-add-WEBP_BUILD_WEBPINFO-to-list-of-checks-for-.patch" am

as per issue #2178 ...libwebp is still throwing compiling errors on the latest master.