2011-12-01 142 views
2

我使用xuggler API将视频从一种格式转码为另一种格式。Xuggler错误:无法打开

继例如,通过

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); 
    } 

提供提供无法打开的异常:

Exception in thread "main" java.lang.RuntimeException: could not open: D:\Malhar\project_works\VideoConvertter/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) 

试过用不同的文件。不过,结果是相同。

回答

0

您是否注意到您在同一个URL中使用了unix /和windows \?

0

问题是您的Windows版本32或64位和xuggle版本。 如果Windows 64并使Java 64,并尝试找到XUGGLE 64,但如果你做JAVA 32 XUGGG 32,那么你仍然会有同样的错误。
Xuggle说我不能在amd64中使用这个dll