FFmpegFrameGrabber.start() 在加载 mp4 文件时崩溃



我正在尝试加载我在应用程序中其他地方录制的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'

您正在为arm64体系结构构建应用程序,但缺少用于arm64的本机 ffmpeg 库。如果要支持 64 位,则必须将 ffmpeg 平台依赖项更新为提供 64 位版本的版本。查看 http://central.maven.org/maven2/org/bytedeco/javacpp-presets/ffmpeg/上的 4.x 版本,这些版本具有android-arm64罐子。

最新更新