Error de segmentación FFMPEG LIBVMAF

Estoy tratando de comparar dos videos usando libvmaf en ffmpeg 4.0. Compilé e instalé desde la fuente VMAF y FFMPEG y FFMPEG tiene soporte incorporado para libvmaf. Esa es la configuración de ffmpeg:

$ ffmpeg -version
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --pkg-config-flags=--static --extra-libs='-lpthread -lm' --toolchain=hardened --enable-gpl --enable-nonfree --enable-version3 --disable-stripping --enable-avisynth --enable-libass --enable-libfontconfig --enable-libfreetype --enable-libvmaf --enable-libfribidi --enable-libgme --enable-libgsm --enable-librubberband --enable-libshine --enable-libsnappy --enable-libssh --enable-libtwolame --enable-libwavpack --enable-libzvbi --enable-openal --enable-sdl2 --enable-libdrm --enable-frei0r --enable-ladspa --enable-libpulse --enable-libsoxr --enable-libspeex --enable-avfilter --enable-postproc --enable-pthreads --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-ffplay --enable-libopenjpeg --enable-libsrt --enable-libwebp --enable-libxvid --enable-libvidstab --enable-libopenh264 --enable-zlib --enable-openssl
libavutil      56. 14.100 / 56. 14.100
libavcodec     58. 18.100 / 58. 18.100
libavformat    58. 12.100 / 58. 12.100
libavdevice    58.  3.100 / 58.  3.100
libavfilter     7. 16.100 /  7. 16.100
libswscale      5.  1.100 /  5.  1.100
libswresample   3.  1.100 /  3.  1.100
libpostproc    55.  1.100 / 55.  1.100

Mi VMAF es la versión:

VMAF Development Kit (VDK) Version 1.3.5
VMAF Version 0.6.3

Cuando trato de ejecutar VMAF en ambos archivos con el siguiente comando, aparece un error de falla de segmentación y un error sobre formato desconocido y falla de segmentación. La sintaxis de mi comando es la siguiente: ffmpeg -i distorted.nut -i reference.nut -lavfi libvmaf -f null - Los archivos NUT en este caso están en formato sin procesar. Intenté convertir la tuerca a mp4 usando libx264pero el resultado fue exactamente el mismo. He subido el archivo de registro a wetransfer_link con la información de depuración.

Si ejecuto VMAF manualmente desde el directorio de instalación de VMAF, obtuve los resultados:

./run_vmaf yuv420p 1280 720 reference.nut distorted.nut --out-fmt json

Esta es la puntuación VMAF agregada:

"aggregate": {
        "VMAF_feature_adm2_score": 0.989985319391465,
        "VMAF_feature_motion2_score": 12.065062245699426,
        "VMAF_feature_vif_scale0_score": 0.6955497705160056,
        "VMAF_feature_vif_scale1_score": 0.956442334512976,
        "VMAF_feature_vif_scale2_score": 0.9785004960696057,
        "VMAF_feature_vif_scale3_score": 0.9873306412919364,
        "VMAF_score": 99.37877231666236,
        "method": "mean"
    }

Lo he comprobado y el encabezado de la biblioteca libvmaf.hestá debajo /usr/local/include, la biblioteca libvmaf.adebajo /user/local/liby todos los archivos del modelo debajo /usr/local/share, por lo que todo se ve bien.

Respuestas (1)

VMAF ha cambiado su API una vez más. Compilar contra 1.3.4.

Confirmo que ffmpeg 4.0 e incluso el último nightly son compatibles solo con VMAF VDK v. 1.3.4 o inferior. He abierto un ticket en el ffmpeg bug tracker y también con VMAF.