以前做的一个基于ffmpeg的视频格式转换的程序,现在抽空整理一下,很多地方都是从别的大神那借鉴的,只是把自己的觉得有用的,对别人有帮助的拿出来分享分享,下面是代码
package video;
import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.DefaultFFMPEGLocator;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.EncodingAttributes;
import it.sauronsoftware.jave.FFMPEGLocator;
import it.sauronsoftware.jave.InputFormatException;
import it.sauronsoftware.jave.VideoAttributes;
import it.sauronsoftware.jave.VideoSize;
import java.io.File;
import java.util.List;
public class ConvertVideo {
private static File inFolder;//需要转换的文件夹
private static File outFolder;//保存avi文件的文件夹地址
private static File inFile;//每个文件的file对象
private static String name;//文件名称,用在保存avi文件,name.avi,不带扩展名的
private static String Name;//文件名称,(带扩展名的)
public ConvertVideo(File inFolder,File outFolder){//构造函数,进行测试时传入两个文件夹地址
this.inFolder=inFolder;
this.outFolder=outFolder;
}
public static void Test(){
String[] fileList=inFolder.list();
for(int i=0;i
inFile=new File(inFolder.getAbsolutePath()+"\\"+fileList[i]);
Name=inFile.getName();
name=getFileNameNoEx(Name);//获得没有扩展名的文件名
System.out.println(name);
File txtFile=new File(inFolder.getAbsolutePath()+"\\"+name+".txt");//视频上传完毕会生成一个同名的txt文件
if(txtFile.exists()){//判断是否上传完毕
convert();
}
}
}
/**
* 截取不带扩展名的文件名
* @param : String
* @return : String
*
*/
public static String getFileNameNoEx(String filename) {
if ((filename != null) && (filename.length() > 0)) {