【问题标题】:FFmpegFrameGrabber.start() crashes when loading mp4 file加载 mp4 文件时 FFmpegFrameGrabber.start() 崩溃
【发布时间】:2020-01-20 08:35:24
【问题描述】:

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

【问题讨论】:

    标签: android opencv ffmpeg android-ffmpeg


    【解决方案1】:

    您正在为arm64 架构构建应用程序,但您缺少arm64 的本机ffmpeg 库。如果您想支持 64 位,则必须将您的 ffmpeg-platform 依赖项更新为提供 64 位构建的版本。请参阅 http://central.maven.org/maven2/org/bytedeco/javacpp-presets/ffmpeg/ 上的 4.x 版本,其中包含 android-arm64 jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-10
      • 2023-04-07
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多