1

「.MOV」拡張ファイルをJavaで3GP拡張ファイルに変換したい。現在、.MOVファイルの作成オプションにJavaMediaFrameworkを使用しています。しかし今、私の必要性はこれらのビデオを3GPに変換することです。私は自分の問題をグーグルで検索しましたが、解決策を得ることができませんでした。これどうやってするの?どんな助けでもありがたいです。

4

1 に答える 1

1

xuggler(ffmpeg用のJavaラッパーライブラリ)を使用することをお勧めします。バンドルされているffmpegを使用すると、このコマンドでビデオの1つをテストできます。

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でも同様です)。

于 2010-09-07T19:02:13.210 に答える