标签:blog http io 使用 java strong ar 文件 art
1、首先下载ffmpeg
2、将解压得到的ffmpeg.exe和pthreadGC2.dll文件解压到任何目录(当然也可以是WebRoot中的目录)
3、创建bat文件convertVideo.bat并添加以下内容:(参数说明见附录一)
- %1/ffmpeg -i %2 -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 %3
- exit
******************
%1为ffmpeg存放目录
%2为需要转换的文件路径
%3为FLV文件输出目录
******************
需要注意的是bat文件存放的路径不能包含空格
【转换文件格式的同时抓缩微图】
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"
【对已有flv抓图】
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"
****************
-ss后跟的时间单位为秒
****************
- 【转换文件格式的同时抓缩微图】
- ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"
-
- 【对已有flv抓图】
- ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"<br>****************
- -ss后跟的时间单位为秒
- ****************
4、创建类
- 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();
- }
-
- private static boolean checkContentType()
- {
- String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length()).toLowerCase();
-
- 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();
- }
- }
- }
- }
5、测试代码
- public static void main(String[] args)
- {
- ConvertVideo.convertToFLV("X://convertVideo", "X://a.wmv", "X://a.flv");
- }
【补充说明】如果遇到ffmpeg所涉及以外的视频格式,可以使用其他转换工具先转换,例如mencoder。
附录一(ffmpeg参数说明):
【参数】 |
【说明】 |
【示例】 |
-i "路径" |
指定需要转换的文件路径 |
-i "C:/nba.wmv" |
-y |
覆盖输出文件,即如果nba.xxx文件已经存在的话,直接覆盖 |
|
控制画面参数 |
-bitexac |
使用标准比特率 |
|
-vcodec xvid |
使用xvid压缩 |
|
-s <宽高比> |
指定分辨率大小 |
-s 320*240 |
-r <数值> |
帧速率(非标准数值会导致音画不同步【标准值为15或29.97】) |
-r 15 |
-b <比特率> |
指定压缩比特率 |
-b 1500 |
-qmin <数值>
|
设定最小质量 |
-qmin 10 |
-qmax <数值> |
与-qmin相反,可以与-qmin同时使用 |
-qmax 30 |
-sameq |
使用与源视频相同的质量 |
|
控制声音参数 |
-acodec aac |
设定声音编码 |
|
-ac <数值> |
设定声道数:1为单声道,2为立体声 |
-ac 2 |
-ar <采样率> |
设定声音采样率(8000,11025,22050) |
-ar 22050 |
-ab <比特率> |
设定声音比特率(-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96) |
-ab 96 |
-vol <百分比> |
设定音量大小,比如设定200就会比原来的音量大2倍 |
-vol 200 |
博文来源: http://www.javaeye.com/topic/333994
使用ffmpeg进行视频文件转换成FLV整理 <第六篇>
标签:blog http io 使用 java strong ar 文件 art
原文地址:http://www.cnblogs.com/mingxuantongxue/p/3951086.html