我正在使用xuggler API将视频从一种格式转码为另一种格式。
下面的示例由
提供http://wiki.xuggle.com/MediaTool_Introduction,http://www.javacodegeeks.com/2011/02/xuggler-tutorial-transcoding-media.html
public void convertVideo() {
String sourceUrl = getResourceDirectory() + "/in/AV36_1.AVI";
String destUrl = getResourceDirectory() + "/out/output.mp4";
IMediaReader reader = ToolFactory.makeReader(sourceUrl);
// add a viewer to the reader, to see progress as the media is
// transcoded
reader.addListener(ToolFactory.makeViewer(true));
// create a writer which receives the decoded media from
// reader, encodes it and writes it out to the specified file
IMediaWriter writer = ToolFactory.makeWriter(destUrl, reader);
// add a debug listener to the writer to see media writer events
writer.addListener(ToolFactory.makeDebugListener());
////
//// // create the media writer
reader.addListener(ToolFactory.makeWriter(destUrl, reader));
// read packets from the source file, which dispatch events to the
// writer, this will continue until
while (reader.readPacket() == null)
do {} while (false);
}
提供Could Not Open异常:
Exception in thread "main" java.lang.RuntimeException: could not open: D:Malharproject_worksVideoConvertter/resources/in/AV36_1.AVI
at com.xuggle.mediatool.MediaReader.open(MediaReader.java:637)
at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:434)
at util.VideoEncoder.convertVideo(VideoEncoder.java:38)
at ConvertVideo.main(ConvertVideo.java:12)
已经尝试用不同的文件…但是,结果是一样的。
您是否注意到您在同一URL中使用unix/和windows ?
问题是你的windows版本32或64位和xggle版本。如果windows 64和java 64并尝试找到xuggle 64,但如果你做java 32 xuggle 32,那么你仍然会有相同的错误。
Xuggle说我不能在amd64中使用这个dll