我正在做this并且我遇到了问题。
这是我的代码
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();
}
}
当我运行它的时候我就是gettig
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的不同部分有很多依赖关系,因为我已经失去了做什么的轨道。我试图在this之后下载libs,但是当我添加除核心之外的其他文件时,我正在
Missing artifact org.openimaj:video:jar:1.0.6-SNAPSHOT
最后一个站点上提供的Libs与Maven Central Repository上的Libs不同。 所以,我的问题是,在哪里可以找到所需类的库(或者哪一个来自MCR可以提供帮助)?或者libs与openIMAJ网站上的教程兼容。
感谢您的帮助
答案 0 :(得分:0)
为什么要定义<sourceDirectory>src</sourceDirectory>
?这样就不使用Maven广泛接受的默认${project.basedir}/src/main/java
。
OpenIMAJ Wiki page的最新更新来自Sep 2012。我会选择latest release version 1.3.1 from Sep 2014 on Maven Central。
如果你真的想使用快照:core
的版本1.0.6-SNAPSHOT是从2013年开始的。有1.4-SNAPSHOT只有一个月左右。这也可能适用于other core-...
libs。我建议使用最新的。