海康视频转码 - 标准mp4格式(java)
发布时间
阅读量:
阅读量
使用CPU进行转码
File source = new File(oldPath);
File target = new File(newPath);
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame"); //音频编码格式
audio.setBitRate(new Integer(800000));
audio.setChannels(new Integer(1));
//audio.setSamplingRate(new Integer(22050));
VideoAttributes video = new VideoAttributes();
video.setCodec("libx264");//视频编码格式
video.setBitRate(new Integer(3200000));
video.setFrameRate(new Integer(15));//数字设置小了,视频会卡顿
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp4");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
Encoder encoder = new Encoder();
MultimediaObject multimediaObject = new MultimediaObject(source);
try {
System.out.println("avi转MP4 --- 转换开始:"+new Date());
encoder.encode(multimediaObject, target, attrs);
System.out.println("avi转MP4 --- 转换结束:"+new Date());
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InputFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (EncoderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
使用GPU进行加速(使用格式工厂进行GPU加速)
- 下载格式工厂
File source = new File(oldPath);
File target = new File(newPath);
String bashCommand = "D:/soft/FormatFactory/FormatFactory.exe"//格式工厂的路径
+ " \"-> MP4\" \"AVC Medium quality and size\" " + " " + source + " " + target;
try {
//System.out.println(bashCommand);
Runtime runtime = Runtime.getRuntime();
Process pro = runtime.exec(bashCommand);
int status = pro.waitFor();
if (status != 0)
{
System.out.println("Failed to call shell's command mp4 ");
}
BufferedReader br = new BufferedReader(new
InputStreamReader(pro.getInputStream()));
StringBuffer strbr = new StringBuffer();
String line;
while ((line = br.readLine())!= null)
{
strbr.append(line).append("\n");
}
String result = strbr.toString();
支持的所有格式

全部评论 (0)
还没有任何评论哟~
