2010-05-04 58 views
1

我想轉換「.MOV」擴展文件到3GP擴展文件在Java中。目前我正在使用Java Media Framework創建.MOV文件。但現在我需要將這些視頻轉換爲3GP。我GOOGLE了我的問題,但我無法得到任何解決方案。我怎樣才能做到這一點?任何幫助將不勝感激。如何使轉換操作從.MOV到3GP在Java

回答

1

我建議你使用xuggler(java包裝庫ffmpeg)。使用捆綁的ffmpeg,您可以使用此命令測試您的某個視頻。

 
ffmpeg -i input.mov -acodec libamr_nb -ar 8000 -b 120000 -vcodec h263 -ab 10.2k -ac 1 output.3gp 
下面是一個簡單的類,你可以用xuggler
 
public class AnyMediaConverter { 
    public void main(String[] args) { 
     //assumes the following: arg0 is input file and arg1 is output file 
     IMediaReader reader = ToolFactory.makeReader(args[0]); 
     IMediaWriter writer = ToolFactory.makeWriter(args[1], reader); 
     writer.open(); 
     writer.setForceInterleave(true); 
     IContainerFormat outFormat = IContainerFormat.make(); 
     outFormat.setOutputFormat("3gp", args[1], null); 
     IContainer container = writer.getContainer(); 
     container.open(args[1], IContainer.Type.WRITE, outFormat); 
     writer.addVideoStream(0, 0, ICodec.findEncodingCodecByName("h263"), 320, 240); 
     writer.addAudioStream(1, 0, ICodec.findEncodingCodecByName("libamr_nb"), 1, 8000); 
     reader.addListener(writer); 
     while (reader.readPacket() == null); 
    } 
} 
如果源音頻採樣率和通道是不相等的,你將需要添加音頻重採樣(也EZ與xuggler辦)使用