ffmpeg转换注意事项

1.视频转换线程调用外部进程ffmpeg转换视频时,要用如下代码:

ProcessBuilderbuilder=newProcessBuilder();

builder.command(commend);

Stringcmd=commend.toString();

builder.redirectErrorStream(true);

p=builder.start();

//readthestandardoutput

stdout=newBufferedReader(newInputStreamReader(p

.getInputStream()));

while((line=stdout.readLine())!=null){

//System.out.println(line);

continue;

}

intret=p.waitFor();//这里线程阻塞,将等待外部转换进程运行成功运行结束后,才往下执行

/*转换完后,进行后续操作,比如:在数据库中加一个字段,来判断是否转换成功了,是否可删除原

视频文件;进行视频修复等*/

2.ffmpeg转换的视频,要flvtools修复,flash播放器才能计算出flv的播放时间,并进行拖放操作。因为ffmpeg转换原视频文件,都会破坏flv的关键帧和时间元数据。

3.用mencoder在ffmpeg转flv格式前,把ffmpeg不能识别的格式,转为ffmpeg可以处理的格式。

相关推荐