视频上传以转为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等。这些格式在互联网上广泛使用,mp4适合高清播放,ogg是开源且无版权的格式,而flv则常用于流媒体服务。 要实现...
Java视频转换FLV是一项在IT领域中常见的任务,主要用于将不同格式的视频文件转换为FLV(Flash Video)格式,这种格式广泛应用于网络流媒体播放。在这个过程中,我们通常会用到开源工具FFmpeg,它是一个强大的命令行...
【Java视频转换源码解析】 Java作为一种广泛使用的编程语言,其在处理多媒体数据,特别是视频转换方面也有着广泛的应用。本篇文章将详细讲解基于Java的视频转换源码及其相关技术,帮助你理解如何利用Java进行视频...
Java视频格式转换是一种常见的技术需求,特别是在开发网页流媒体服务时,为了使视频能在不同的浏览器或设备上流畅播放,往往需要将多种视频格式转化为统一的标准,例如FLV(Flash Video)。FLV是Adobe Flash Player...
最近在搞一个视频转换的功能,网上可以找到一些例子(java ffmpeg),不太容易,修修改改!!! 后来发现一个大问题,转换的时候需要设置视频的分辨率,如1024x768,写死一个不好,如果我的视频很小,硬要我转这么大...
在“java视频转换FLV源码”这个项目中,我们可以假设它使用了其中的一种或多种库来实现视频转换。源码可能包括以下几个关键部分: 1. **输入读取**:读取原始视频文件,可能使用Java的IO类或者通过上述库来获取视频...
java实现视频转换器,很大很强大的视频转换器。奉献给大家
java实现可以获取视频中某一帧的图片,并将图片保存至本地,自定义设置截取图片的宽度和高度,获取视频的总帧数,视频总时长。
Java视频格式转换主要依赖于第三方库,如FFmpeg。FFmpeg是一个开源的命令行工具,用于处理音频和视频文件,包括格式转换、编码、解码、分割、合并等操作。在Java中,我们通常通过调用FFmpeg的命令行接口或者使用已经...
Java调用视频转换工具FFmpeg是一项常见的任务,特别是在多媒体处理和流媒体服务中。FFmpeg是一个强大的跨平台命令行工具,用于转换、流化、编辑和处理音频和视频文件。在Java应用程序中集成FFmpeg,可以实现灵活的...
本项目“用java实现的视频转换器”就是这样一个工具,它利用了Java的强大功能和FFmpeg的多媒体处理能力,实现了对各种视频格式的转换。以下是这个项目的核心知识点: 1. **Java编程语言**:Java是一种广泛使用的...
本篇文章将详细探讨如何使用Java实现图片到视频的转换。 首先,我们需要理解Java中的关键库,如Java Advanced Imaging (JAI) 和 Java Media Framework (JMF)。JAI主要用于图像处理和分析,而JMF则用于媒体播放和...
java ffmpeg实现视屏剪辑、srt字幕嵌入、视频合成、图片转视频 通过test类运行。demo基于jave的源码。对ffmpeg的两种系统下的执行文件进行了替换。所以ffmpeg版本是最新的。可以执行ffmpeg官网上大多数的命令
FFmpeg是一款强大的开源工具,主要用于音视频处理,包括转换、编码、解码、流媒体等。在本压缩包中,我们看到了三个核心组件:ffmpeg-4.1.5.tar.gz、lame-3.99.5.tar.gz 和 yasm-1.3.0.tar.gz,它们各自扮演着关键...
Java版的视频转换工具是一种基于Java编程语言开发的应用程序,用于将不同格式的视频文件转换为其他兼容格式。在IT领域,视频转换是一项常见的需求,因为不同的设备、平台和网络环境可能支持不同的视频编码和格式。...
1. **Java视频上传**: - **文件I/O操作**:Java中的`java.io`包提供了文件读写的基本功能,用于将本地视频文件上传到服务器。 - **HTTP上传**:通常使用`java.net.HttpURLConnection`或第三方库如Apache ...
Java视频格式转化的实现方法主要是利用FFmpeg工具来完成视频转换。FFmpeg是一个开源的多媒体处理工具,可以对视频文件进行格式转换、压缩、裁剪等操作。下面是使用Java语言调用FFmpeg工具来实现视频格式转化的示例...
java上传视频和视频转换 java上传视频和视频转换
java调用ffmpeg转换视频,并读取转换后视频的分辨率、大小以及时长。主要参考http://blog.sina.com.cn/s/blog_a5116c670102wiwj.html 的代码方式。步骤: 1.研究java如何调用外部程序 2.研究ffmpeg转换视频格式的...