0

i have creating slowmotion video app in android and i can try to set video motion speed in any start and ending postion in total video length.

but some error occur in start FFmpegFrameGrabber.

here my code:

private class PrepareMedia extends AsyncTask<Void, Void, Void> {
    private PrepareMedia() {
    }

    protected Void doInBackground(Void... params) {
        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(viewSource);
        try {
            grabber.start();
            grabber.stop();
            grabber.release();
        } catch (Exception e) {
            Log.e(TAG, "doInBackground: ");
        }
        return null;
    }
}

view my error.

01-12 15:59:16.374 14990-14990/com.example.slowmotiondemo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.slowmotiondemo, PID: 14990
    java.lang.UnsatisfiedLinkError: org.bytedeco.javacpp.avutil
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:324)
        at org.bytedeco.javacpp.Loader.load(Loader.java:585)
        at org.bytedeco.javacpp.Loader.load(Loader.java:530)
        at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2819)
        at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:468)
        at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:462)
        at com.example.slowmotiondemo.ActivityCutMergeVideo.prepareMediaForOreantation(ActivityCutMergeVideo.java:687)
        at com.example.slowmotiondemo.ActivityCutMergeVideo.onCreate(ActivityCutMergeVideo.java:507)
        at android.app.Activity.performCreate(Activity.java:6904)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
        at android.app.ActivityThread.access$1100(ActivityThread.java:229)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:7331)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

please tell me how to solve error.

4

1 回答 1

1

首先尝试手动安装 javacv ( https://github.com/bytedeco/javacv#manual-installation )。

然后尝试从 jar 中提取 .so 文件并将它们放入 app/src/main/jniLibs 中。

如果这也不起作用,请使用本手册: https ://github.com/bytedeco/javacpp-presets/wiki/The-UnsatisfiedLinkError-X-File-%28a-real-experience%29

于 2018-02-27T09:33:27.513 回答