尝试使用javacv和ffmpeg加载视频文件

3

我正在尝试使用javacv加载视频文件,但是我遇到了一些问题。

我已经编译了一个应用程序,可以在屏幕上显示图像,因此我认为我的设置是正确的。

我正在使用以下代码。

import java.io.File;

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FFmpegFrameGrabber;

public class TestCV{

    public static void main(String[] args) throws Exception {

        File f = new File("input.mp4");
        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(f);

        final CanvasFrame canvas = new CanvasFrame("My Image");

        canvas.showImage(grabber.grab());

    }
}

这里出现了错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\takas\AppData\Local\Temp\jniavutil3690549951281752227.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at com.googlecode.javacpp.Loader.load(Loader.java:337)
    at com.googlecode.javacpp.Loader.load(Loader.java:271)
    at com.googlecode.javacv.cpp.avutil.<clinit>(avutil.java:76)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.googlecode.javacpp.Loader.load(Loader.java:291)
    at com.googlecode.javacv.cpp.avcodec.<clinit>(avcodec.java:87)
    at com.googlecode.javacv.FFmpegFrameGrabber.<init>(FFmpegFrameGrabber.java:73)
    at com.googlecode.javacv.FFmpegFrameGrabber.<init>(FFmpegFrameGrabber.java:69)
    at tester.t.JavaFlow.main(JavaFlow.java:13)

我需要使用单独的ffmpeg dll吗?在opecv bin文件夹中有一个ffmpeg dll。

如果必须这样做,我需要更好的方法来使用eclipse将它们包含进去。到目前为止,我只是将文件夹添加到路径变量中。例如,我添加了以下内容以使opencv工作。

C:\opencv\build\common\tbb\ia32\vc10\;C:\opencv\build\x86\vc10\bin\;


你得到这个答案了吗? - rams
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接