Как сделать операцию преобразования из .MOV в 3GP на Java - PullRequest
1 голос
/ 05 мая 2010

Я хочу конвертировать расширенные файлы ".MOV" в расширенные файлы 3GP в java. В настоящее время я использую Java Media Framework для создания файла .MOV. Но теперь мне нужно конвертировать эти видео в 3GP. Я погуглил мою проблему, но я не мог получить никакого решения. Как я могу это сделать? Любая помощь будет оценена.

1 Ответ

1 голос
/ 07 сентября 2010

Я предлагаю вам использовать 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)

...