/**
* 完成编码转换
*
* @param inputFile
* @param outputFile
* @return
* @throws Exception
*/
public static void convert(String inputFile, String outputFile) throws Exception {
FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(inputFile);
Frame captured_frame;
FFmpegFrameRecorder recorder = null;
try {
grabber.start();
recorder = new FFmpegFrameRecorder(outputFile, grabber.getImageWidth(), grabber.getImageHeight());
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
recorder.setVideoCodecName("libx264");
recorder.setFormat("mp4");
recorder.setVideoQuality(35);
recorder.setFrameRate(grabber.getFrameRate());
recorder.setSampleRate(grabber.getSampleRate());
recorder.setVideoBitrate(grabber.getVideoBitrate());
recorder.setAspectRatio(grabber.getAspectRatio());
recorder.setAudioBitrate(grabber.getAudioBitrate());
recorder.setAudioOptions(grabber.getAudioOptions());
recorder.start();
while (true) {
captured_frame = grabber.grabFrame();
if (captured_frame == null) {
System.out.println("转码完成");
break;
}
recorder.record(captured_frame);
}
} catch (FrameRecorder.Exception e) {
e.printStackTrace();
} finally {
if (recorder != null) {
try {
recorder.stop();
recorder.close();
} catch (Exception e) {
System.out.println("recorder.close异常" + e);
}
}
try {
grabber.close();
} catch (FrameGrabber.Exception e) {
System.out.println("frameGrabber.close异常" + e);
}
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务