Come rendere il funzionamento convertito dal .MOV in 3GP in Java
Domanda
I Wanna Converti ".mov" file extentioned a 3GP extentioned file in java. Attualmente i m usando Java Media Framework per la creazione opetion di file .mov. Ma ora il mio bisogno è la conversione di questi video in 3GP. I googled il mio problema ma ho riusciti a trovare alcuna soluzione. Come posso fare questo? Qualsiasi aiuto sarà apprezzato.
Soluzione
Vi suggerisco di usare xuggler (libreria wrapper Java per ffmpeg). Con il loro ffmpeg in bundle è possibile testare uno dei tuoi video con questo comando.
ffmpeg -i input.mov -acodec libamr_nb -ar 8000 -b 120000 -vcodec h263 -ab 10.2k -ac 1 output.3gp
Ecco una semplice classe è possibile utilizzare con 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);
}
}
Se la frequenza di campionamento audio sorgente e canali non sono uguali è necessario aggiungere un resampler audio (ez anche a che fare con xuggler)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow