2010-05-04 2 views
1

".MOV"확장 파일을 Java의 3GP 확장 파일로 변환하고 싶습니다. 현재 .MOV 파일의 생성 작업을 위해 Java Media Framework를 사용하고 있습니다. 하지만 지금은 내 필요성이 비디오를 3GP로 변환하고 있습니다. 나는 내 문제를 봤지만 난 couldnt 모든 솔루션을 얻을. 내가 어떻게 할 수 있니? 어떤 도움을 주시면 감사하겠습니다.Java에서 .MOV에서 3GP로 변환 작업을 수행하는 방법

답변

1

xuggler (ffmpeg 용 자바 래퍼 라이브러리)를 사용하는 것이 좋습니다. 번들로 제공되는 ffmpeg를 사용하여이 명령으로 비디오 중 하나를 테스트 할 수 있습니다. 여기

 
ffmpeg -i input.mov -acodec libamr_nb -ar 8000 -b 120000 -vcodec h263 -ab 10.2k -ac 1 output.3gp 
는 소스 오디오 샘플 속도와 채널은 오디오 샘플러를 추가 할 필요가 동일하지 않을 경우
 
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 함께 할 수 EZ) xuggler와 함께 사용할 수있는 간단한 클래스입니다