如何在Java中将.MOV的转换操作转换为3GP

时间:2010-05-04 20:16:35

标签: java video jmf movie 3gp

我想将“.MOV”扩展文件转换为java中的3GP扩展文件。目前我正在使用Java Media Framework来创建.MOV文件的操作。但现在我需要将这些视频转换为3GP。我搜索了我的问题,但我无法得到任何解决方案。我怎样才能做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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);
    }
}
如果你的源音频采样率和通道不相等,你需要添加一个音频重采样器(也与xuggler有关)