java调用ffmpeg命令对avi文件码成flv文件的问题

xjh2011xjh xjh2011xjh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请大家帮忙看看,java调用ffmpeg命令对avi文件码成flv文件的问题。我用方法一,能把avi文件转成flv文件,使用QQ影音能播放,但是放在html中使用flvplayer.swf却不能播放,点击播放按钮一直在缓冲,不知为何?
	
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;

}
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
xjh2011xjh
Java EE 67,535 成员 225,843 内容