ffmpeg视频转码
转码命令
ffmpeg -i 1.264 -max_muxing_queue_size 2048 -vcodec mpeg4 -f mp4 1.mp4
ffmpeg -i 1.264 -max_muxing_queue_size 2048 -vcodec copy -f mp4 1.mp4
代码实现
/*
* .264转MP4
*/
public String h264ToMp4(String path,String fileName){
List<String> command = new ArrayList<String>();
//添加转换工具的路径
command.add(ffmpegPath);
command.add("-i");
//原视频路径
command.add(path);
/*command.add("-max_muxing_queue_size");
command.add("2048");*/
command.add("-vcodec");
command.add("copy");
command.add("-f");
command.add("mp4");
command.add("-y");
//要转成的视频路径
command.add(fileName);
ProcessBuilder builder = new ProcessBuilder();
builder.command(command);
//正常信息和错误信息合并输出
builder.redirectErrorStream(true);
try {
//开始执行命令
Process process = builder.start();
//如果你想获取到执行完后的信息,那么下面的代码也是需要的
StringBuffer sbf = new StringBuffer();
String line = null;
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = br.readLine()) != null) {
sbf.append(line);
sbf.append(" ");
}
return "success";
} catch (IOException e) {
e.printStackTrace();
log.error(simCard+"时间:"+alarmTime+"----ffmpeg视频转码报错"+e.getMessage());
}
return "fail";
}
关于ffmpeg的命令使用,本人也是小白一个,还需要慢慢琢磨