Question

Je veux convertir ".MOV" fichiers extentioned à 3GP extentioned fichiers en java. Actuellement, je suis en utilisant Java Media Framework pour la création opetion de fichier .MOV. Mais maintenant, mon besoin est de convertir ces vidéos en 3GP. Je googlé mon problème, mais je ne pourrais pas obtenir une solution. Comment puis-je faire ceci? Toute aide sera appréciée.

Était-ce utile?

La solution

Je suggère que vous utilisez xuggler (java bibliothèque wrapper pour ffmpeg). Avec leur ffmpeg groupée, vous pouvez tester une de vos vidéos avec cette commande.

ffmpeg -i input.mov -acodec libamr_nb -ar 8000 -b 120000 -vcodec h263 -ab 10.2k -ac 1 output.3gp
Voici une classe simple que vous pouvez utiliser avec 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);
    }
}
Si votre taux d'échantillonnage audio source et les canaux ne sont pas égaux, vous aurez besoin d'ajouter un resampler audio (également ez faire avec xuggler)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top