start()
のインスタンスのメソッドを呼び出そうとすると、このエラーが発生しFFmpegFrameGrabber
ます。
java.lang.UnsatisfiedLinkError: org.bytedeco.javacpp.avutil
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
at org.bytedeco.javacpp.Loader.load(Loader.java:390)
at org.bytedeco.javacpp.Loader.load(Loader.java:358)
at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2539)
at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:383)
at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:377)
これらは、プロジェクトjavacppおよびjavacvの READMES に従って参照している依存関係です。
compile group: 'org.bytedeco', name: 'javacpp', version: '1.0'
compile group: 'org.bytedeco', name: 'javacv', version: '1.0'
プロジェクトに .so ファイルを追加しませんでしたが、依存関係があることを期待していました。以前にそれらを追加しようとしたときに、重複ファイルのgradleエラーが発生し始めたので、依存関係があると思います。
何らかの理由で.soファイルを読み込めないことが起こっていると思いますが、この問題を解決する方法がわかりません。
systemProperty
GitHub README に記載されている依存関係を次のように設定しようとしました。
task execute(type: JavaExec) {
systemProperty "platform.dependencies", true
}
書いてあることは役に立ちません。
このエラーが表示される理由と対処方法を教えてください。
この問題に関するガイダンスをいただければ幸いです。全体的な目標は、FFmpegFrameGrabber を使用して、ユーザーがデバイスで撮影したビデオをトリミングすることです。私はすべての解決策に対してオープンです。