视频上传以转为FLV格式为宜,以下收藏了部分网上代码,以记录一下:
public class ConvertVideo {
private static String INPUT_PATH;
private static String OUTPUT_PATH;
private static String PROJECT_PATH;
private static HashMap<String, String> fileType;
static {
fileType = new HashMap<String, String>();
fileType.put("avi", "true");
fileType.put("mpg", "true");
fileType.put("wmv", "true");
fileType.put("3gp", "true");
fileType.put("mov", "true");
fileType.put("mp4", "true");
fileType.put("asf", "true");
fileType.put("asx", "true");
fileType.put("flv", "true");
}
public static void convertToFLV(String projectPath, String inputFile,
String outputFile) {
INPUT_PATH = inputFile;
OUTPUT_PATH = outputFile;
PROJECT_PATH = projectPath;
if (checkContentType())
processFLV();// 直接将文件转为flv文件
}
private static boolean checkContentType() {
String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1,
INPUT_PATH.length()).toLowerCase();
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
return "true".equals(fileType.get(type));
}
private static void processFLV() {
if (new File(INPUT_PATH).isFile()) {
try {
String cmd = "cmd /c start X:\\ffmpeg.bat \"" + PROJECT_PATH
+ "\" \"" + INPUT_PATH + "\" \"" + OUTPUT_PATH + "\"";
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* @Title: processFLV
* @Description: 视频转换
* @param @param ffmpegpath
* @param @param inputpath
* @param @param outputpath
* @param @return 参数
* @return boolean 返回
* @throws
*/
public static boolean processFLV(String ffmpegpath, String inputpath,
String outputpath) {
List<String> commend = new java.util.ArrayList<String>();
commend.add(ffmpegpath);
commend.add("-i");
commend.add(inputpath);
commend.add("-y");
commend.add("-ab");
commend.add("56");
commend.add("-ar");
commend.add("22050");
commend.add("-r");
commend.add("15");
commend.add("-s");
commend.add("300*200");
commend.add(outputpath);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* @Title: processDVImage
* @Description: 视频截图
* @param @return 参数
* @return boolean 返回
* @throws
*/
public static boolean processDVImage(String ffmpegpath, String inputpath,
String outputpath)
{
List<String> commend = new java.util.ArrayList<String>();
commend.add(ffmpegpath);
commend.add("-i");
commend.add(inputpath);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add("8");
commend.add("-t");
commend.add("0.001");
commend.add("-s");
commend.add("350x240");
commend.add(outputpath);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
分享到:
相关推荐
java视频转换工具类,可将视频任意转换为mp4、ogg、flv等多种格式
Java视频转换FLV。 包括ffmpeg使用方法,ffmpeg抓取图片,和详细说明。
最近在搞一个视频转换的功能,网上可以找到一些例子(java ffmpeg),不太容易,修修改改!!! 后来发现一个大问题,转换的时候需要设置视频的分辨率,如1024x768,写死一个不好,如果我的视频很小,硬要我转这么大...
可以把各种格式转换为flv在网页上播放,里面包含了转换工具,按代码放到相应位置即可
java写的视频转换源码,完整的工程,可直接嵌套用于网站系统....
java实现可以获取视频中某一帧的图片,并将图片保存至本地,自定义设置截取图片的宽度和高度,获取视频的总帧数,视频总时长。
java实现视频转换器,很大很强大的视频转换器。奉献给大家
java 视频格式转换-ffmpeg工具包及代码下载。java 视频格式转换-ffmpeg工具包及代码下载。
使用java+ffmpeg实现的视频转换器,可支持大部分的视频转换
java调用视频转换工具ffmpeg,包含软件、详细文档及java代码。 ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
java 版视频转换 工具
java视频上传,转码,截图,播放实现java视频上传,转码,截图,播放实现java视频上传,转码,截图,播放实现
java上传视频和视频转换 java上传视频和视频转换
java调用ffmpeg转换视频,并读取转换后视频的分辨率、大小以及时长。主要参考http://blog.sina.com.cn/s/blog_a5116c670102wiwj.html 的代码方式。步骤: 1.研究java如何调用外部程序 2.研究ffmpeg转换视频格式的...
java ffmpeg视频转换
ffmpeg-4.1.5.tar.gz、lame-3.99.5.tar.gz、yasm-1.3.0.tar.gz 三剑客
测试通过的java视频转换例子,包含了ffmpeg资源工具包
3、开始转换视频,这里要先将数据库中videostat字段改为2(表示正在转换)不然30秒钟转换不完下个进程又会读到这条纪录开始转换...... 4、等待转换进程结束,如果成功将相应纪录的videostat字段的值改为1(表示...
完全基于java实现的把一组图片转换为图片,值得收藏!