2010-05-04 6 views
1

Je veux convertir les fichiers ".MOV" extentioned en fichiers 3GP extentioned en java. Actuellement, j'utilise Java Media Framework pour la création d'un fichier .MOV. Mais maintenant, mon besoin est de convertir ces vidéos en 3GP. J'ai googlé mon problème mais je n'ai pas pu trouver de solution. Comment puis-je faire ceci? Toute aide serait appréciée.Comment faire pour convertir l'opération de .MOV en 3GP en Java

Répondre

1

Je suggère que vous utilisiez xuggler (librairie java wrapper pour ffmpeg). Avec leur ffmpeg groupé, vous pouvez tester l'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 à voir avec xuggler)

Questions connexes