67,512
社区成员
发帖
与我相关
我的任务
分享
public boolean executeCodecs(String ffmpegPath, String upFilePath,
String codeFilePath, String mediaPicPath) throws Exception {
// 创建一个List集合来保存转换视频文件为flv格式的命令
List<String> convert = new ArrayList<String>();
//方式一
convert.add(ffmpegPath); // 添加转换工具路径
convert.add("-i"); // 添加参数"-i",该参数指定要转换的文件
convert.add(upFilePath); // 添加要转换格式的视频文件的路径
convert.add("-qscale"); //指定转换的质量
convert.add("6");
convert.add("-ab"); //设置音频码率
convert.add("64");
convert.add("-ac"); //设置声道数
convert.add("2");
convert.add("-ar"); //设置声音的采样频率
convert.add("22050");
convert.add("-r"); //设置帧频
convert.add("24");
convert.add("-y"); // 添加参数"-y",该参数指定将覆盖已存在的文件
convert.add(codeFilePath); //转码后的文件
/*
//方式二:
convert.add(ffmpegPath);
convert.add("-i");
convert.add(upFilePath);
convert.add("-ab");
convert.add("64");
convert.add("-acodec");
convert.add("mp3");
convert.add("-ac");
convert.add("2");
convert.add("-ar");
convert.add("22050");
convert.add("-b");
convert.add("230");
convert.add("-r");
convert.add("24");
convert.add("-y");
convert.add(codeFilePath);
*/
boolean mark = true;
ProcessBuilder builder = new ProcessBuilder();
try {
//转码
builder.command(convert);
builder.redirectErrorStream(true);
builder.start();
} catch (Exception e) {
mark = false;
e.printStackTrace();
}
return mark;
}