gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:40 34 4
gpt4 key购买 nike

我正在尝试使用 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\;

最佳答案

几天前我遇到了同样的错误,我按照以下步骤解决了这个问题,

下载适用于windows的ffmpeg预编译文件

对于窗口 32 http://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-0.7.1-win32-shared.7z

适用于 64 位窗口 http://ffmpeg.zeranoe.com/builds/win64/shared/ffmpeg-0.7.1-win64-shared.7z

解压缩硬盘上某处的文件夹,复制所有 dll 并将它们放入 system32 文件夹中。基本上这些 dll 需要在你的路径中,以便 java 程序可以访问它们

关于java - 尝试使用 javacv 使用 ffmpeg 加载视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621028/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com