FFmpegFrameGrabber.start () вылетает при загрузке файла mp4 - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь загрузить видеофайл mp4, который я записал в другом месте приложения, а затем хочу передать адрес изображения в jni-код opencv для некоторой обработки.

FFmpegFrameGrabber grabber;

            grabber = new FFmpegFrameGrabber(videoPath);
            grabber.start();
            grabber.getFrameNumber();
            grabber.getLengthInTime();
            grabber.getLengthInFrames();

            frameRate = grabber.getFrameRate();

            Log.d("V1", "FRAME RATE = " + frameRate);

            grabber.stop();
            grabber.release();

Это показывает Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.v1.v1golf2-rWziofbEW92JsJ7hvlJj5g==/base.apk"],nativeLibraryDirectories=[/data/app/com.v1.v1golf2-rWziofbEW92JsJ7hvlJj5g==/lib/arm64, /data/app/com.v1.v1golf2-rWziofbEW92JsJ7hvlJj5g==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libjniavutil.so" ошибка.

Зависимость, которую я использую ниже: -

implementation 'org.bytedeco.javacpp-presets:opencv-platform:3.1.0-1.3'
    implementation 'org.bytedeco.javacpp-presets:ffmpeg-platform:3.2.1-1.3'

1 Ответ

0 голосов
/ 23 сентября 2019

Вы создаете приложение для архитектуры arm64, но вам не хватает встроенных библиотек ffmpeg для arm64.Если вы хотите поддерживать 64-битную версию, вы должны обновить свою зависимость ffmpeg-platform до версии, которая предлагает 64-битную сборку.См. Версии 4.x на http://central.maven.org/maven2/org/bytedeco/javacpp-presets/ffmpeg/ с android-arm64 банками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...