我正在这样做,但遇到了问题。
这是我的代码
package vid;
import java.io.File;
import org.apache.log4j.BasicConfigurator;
import org.openimaj.image.MBFImage;
import org.openimaj.video.Video;
import org.openimaj.video.xuggle.XuggleVideo;
public class Movie{
public static void main(String[] args){
BasicConfigurator.configure();
Video<MBFImage> video;
video = new XuggleVideo(new File("in.flv"));
for (MBFImage mbfImage : video) {
//something
}
video.close();
}
}
当我运行它时,我开始了
21:18:51.520 [main] DEBUG com.xuggle.xuggler - Could not open output url: file:/D:/Workspace/openIMAJ/in.flv (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:436)
1 [main] INFO org.openimaj.video.xuggle.XuggleVideo - URL file:/D:/Workspace/openIMAJ/in.flv could not be opened by ffmpeg. Trying to open a stream to the URL instead.
Exception in thread "main" java.lang.NoClassDefFoundError: org/openimaj/io/InputStreamObjectReader
at org.openimaj.video.xuggle.XuggleVideo$MBFImageConverter.toImage(XuggleVideo.java:264)
at com.xuggle.mediatool.MediaReader.dispatchVideoPicture(MediaReader.java:600)
at com.xuggle.mediatool.MediaReader.decodeVideo(MediaReader.java:519)
at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:475)
at org.openimaj.video.xuggle.XuggleVideo.readFrame(XuggleVideo.java:482)
at org.openimaj.video.xuggle.XuggleVideo.hasNextFrame(XuggleVideo.java:577)
at org.openimaj.video.VideoIterator.hasNext(VideoIterator.java:59)
at vid.Movie.main(Movie.java:17)
Caused by: java.lang.ClassNotFoundException: org.openimaj.io.InputStreamObjectReader
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more
还有我的pom.xml(很长,所以我把它保存在 pastebin 上)。openIMAJ 的不同部分有很多依赖关系,因为我已经不知道该做什么了。我尝试在此之后下载库,但是当我添加核心以外的任何库时,我得到了
Missing artifact org.openimaj:video:jar:1.0.6-SNAPSHOT
上一个站点提供的库与 Maven 中央存储库上的库不同。所以,我的问题是,我在哪里可以找到所需类的库(或 MCR 中的哪一个可以提供帮助)?或与 openIMAJ 网站上的教程兼容的库。
感谢您的帮助