`
创建普通的maven项目 准备打包为jar 调用
ws.schild
jave
1.0-SNAPSHOT
jar
ws.schild
jave-core
2.4.6
ws.schild
jave-native-win64
2.4.6
ws.schild
jave-native-linux64
2.4.6
`
`
package ws.schild.jave; //注意目录结构 一定要按照原有的结构 否则好多内部调用会调用不到
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//这个方法只是copy的ffmpeg的源码,修改了部分参数,
// 让能够直接读取url的时长,而不用把文件下载下来到本地再去判断多媒体音视频的时长
public class FfmpegFileInfo {
private static final Log LOG = LogFactory.getLog(MultimediaObject.class);
private static final Pattern SIZE_PATTERN = Pattern.compile("(\\d+)x(\\d+)", 2);
private static final Pattern FRAME_RATE_PATTERN = Pattern.compile("([\\d.]+)\\s+(?:fps|tbr)", 2);
private static final Pattern BIT_RATE_PATTERN = Pattern.compile("(\\d+)\\s+kb/s", 2);
private static final Pattern SAMPLING_RATE_PATTERN = Pattern.compile("(\\d+)\\s+Hz", 2);
private static final Pattern CHANNELS_PATTERN = Pattern.compile("(mono|stereo|quad)", 2);
private final FFMPEGLocator locator;
private File inputFile;
public FfmpegFileInfo(File input) {
this.locator = new DefaultFFMPEGLocator();
this.inputFile = input;
}
public File getFile() {
return this.inputFile;
}
public void setFile(F