flv格式转换--第一步
不定期更新...
首先要安装MediaCoder
安装目录假设为D:\flv\MediaCoder
在D:\flv\MediaCoder\codecs目录下有一些要用到的,如ffmpeg.exe , mencoder.exe还有一些dll
ConvertVideo.java
package com.lichen.test;
import java.io.File;
import java.util.List;
public class ConvertVideo {
private final static String PATH = "d:\\test\\a.mpg";
public static void main(String[] args) {
if (!checkfile(PATH)) {
System.out.println(PATH + " is not file");
return;
}
if (process()) {
System.out.println("ok");
}
}
private static boolean process() {
int type = checkContentType();
boolean status = false;
if (type == 0) {
// status = processFLV(PATH);// 直接将文件转为flv文件
status=processImg();
processFLV(PATH);
} else if (type == 1) {
String avifilepath = processAVI(type);
if (avifilepath == null)
return false;// avi文件没有得到
status = processFLV(avifilepath);// 将avi转为flv
}
return status;
}
private static int checkContentType() {
String type = PATH.substring(PATH.lastIndexOf(".") + 1, PATH.length())
.toLowerCase();
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
if (type.equals("avi")) {
return 0;
} else if (type.equals("mpg")) {
return 0;
} else if (type.equals("wmv")) {
return 0;
} else if (type.equals("3gp")) {
return 0;
} else if (type.equals("mov")) {
return 0;
} else if (type.equals("mp4")) {
return 0;
} else if (type.equals("asf")) {
return 0;
} else if (type.equals("asx")) {
return 0;
} else if (type.equals("flv")) {
return 0;
}
// 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),
// 可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.
else if (type.equals("wmv9")) {
return 1;
} else if (type.equals("rm")) {
return 1;
} else if (type.equals("rmvb")) {
return 1;
}
return 9;
}
private static boolean checkfile(String path) {
File file = new File(path);
if (!file.isFile()) {
return false;
}
return true;
}
// 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等), 可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.
private static String processAVI(int type) {
List<String> commend = new java.util.ArrayList<String>();
// commend.add("e:\\mencoder"); // D:\flv\MediaCoder\codecs
commend.add("d:\\flv\\MediaCoder\\codecs");
commend.add(PATH);
commend.add("-oac");
commend.add("lavc");
commend.add("-lavcopts");
commend.add("acodec=mp3:abitrate=64");
commend.add("-ovc");
commend.add("xvid");
commend.add("-xvidencopts");
commend.add("bitrate=600");
commend.add("-of");
commend.add("avi");
commend.add("-o");
commend.add("d:\\test\\a.avi");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return "c:\\home\\a.avi";
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
private static boolean processFLV(String oldfilepath) {
if (!checkfile(PATH)) {
System.out.println(oldfilepath + " is not file");
return false;
}
List<String> commend = new java.util.ArrayList<String>();
commend.add("d:\\flv\\MediaCoder\\codecs\\ffmpeg.exe");
commend.add("-i");
commend.add(oldfilepath);
commend.add("-ab");
commend.add("64");
// commend.add(" -acodec ");
// commend.add("codec");
commend.add("-ac");
commend.add("2");
commend.add("-ar");
commend.add("22050");
commend.add("-b");
commend.add("230");
// commend.add("-s");
// commend.add("350x240");
commend.add("-r");
commend.add("29.97");
commend.add("-y");
commend.add("d:\\test\\b.flv");
System.out.println(commend);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
// 生成图片 参数String newfilename, String newimg
public static boolean processImg() {
// System.out.println(newfilename + "->" + newimg);
List<String> commend = new java.util.ArrayList<String>();
commend.add("d:\\flv\\MediaCoder\\codecs\\ffmpeg.exe");
commend.add("-i");
commend.add("d:\\test\\a.mpg");
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add("38");
commend.add("-t");
commend.add("0.001");
commend.add("-s");
commend.add("320x240");
commend.add("d:\\test\\b.jpg");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
会在指定目录下D:\test生成b.flv和b.jpg这两个文件.
相关推荐
asp.net中将各种视频文件转换成.flv格式
Asp.net 上传视频时将视频格式转换成.flv格式的domo! 分享之,无需分数!
在asp.net中做视频转换,将各种视频文件转换成.flv格式
这是我再网上查找资料后,自己做的一个视频格式的转换。有性趣的可以domo学习!~!
如何快速不借用转换工具将FLV格式视频转换成MP4,请查阅
C# winForm 实现将视频的格式转换成.FLV,MP4,#3GP等格式。支持多个视频转换和视频截图。
把各种视频格式转换成SWF、FLV、GIF、MOV; 支持读取DVD光盘, 以及合并视频文件转到任意格式; 从各种视频中抽取各种音频(mp3/wav/wma/ac3/ogg/mmf/aac等);及音频间互相转换; 支持批量转换任务;
使用网上的已有的转换代码,将代码调试通,然后进行优化。基于ASP.NET在网页生成新的界面,实现将现有的多种视频格式转换成通用的flv格式。可以实现视频格式转换,截图,删除等功能。
全格式FLV转换器,支持将几乎所有主流视频格式转换为 FLV 或者 SWF :*.avi;*.mpg;*.divx;*.div;*.xvid;*.mpeg;*.wmv;*.asf;*.asx;*.mpe;*.m1v;*.m2v;*.dat;*.mp4; *.m4v;*.dv;*.dif;*.mjpg;*.mjpeg;*.mov;*.qt;*.rm...
flash视频格式转换器(Flv Converter)是一个完全免费的flash视频转换器,体积为7M,官网上面提供了安装版和绿色版,后者只有一个文件,下载后就可以双击运行,所以十分适合放在U盘、手机SD卡中随身携带,然后在任何...
ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等), ...再把转换好的avi文件再用ffmpeg.exe转换成flv格式的视频文件。。。
上传视频转换成flv和flv播放上传视频转换成flv和flv播放上传视频转换成flv和flv播放上传视频转换成flv和flv播放上传视频转换成flv和flv播放上传视频转换成flv和flv播放
,能够将.asf|.flv|.avi|.mpg|.3gp|.mov|.wmv|.rm|.rmvb格式的文件转换成flv格式,里面包含mencoder.exe,mencoder.exe,ffmpeg.exey以及详细的视频格式转换代码,经过测试使用
该软件支持所有视频格式文件转换为flv格式
狸窝全能视频转换器.rar
Icecream Video Converter是一款功能强大的视频格式转换工具,它可以帮助用户将一个视频文件转换为各种不同的格式,支持的格式包括MP4、AVI、MKV、FLV等常见视频格式。Icecream Video Converter界面简洁,操作简单,...
新星FLV视频格式转换器是一款功能强大的FLV在线视频转换工具,通过本软件您可以轻松将从各种视频网站下载的FLV、SWF格式的视频文件转换为您需要的常见的视频和音频格式。比如将FLV、SWF格式转换为MP4,AVI,MKV,MPG...
转换完成后你还可以用格式工厂等视频格式转换软件把转换后的.flv文件,转成其他视频格式。软件是以绿色单独文件的方式存在的,大小仅95KB,方便你随身携带。 宇润xv格式视频转换工具使用说明 打开软件 点浏览按钮...
凡人ASF视频格式转换器是针对微软公司ASF流媒体格式设计的视频格式转换软件,软件的主要功能是将ASF视频转换为各种流行的视频格式,如ASF转换AVI,ASF转MP4,ASF转MPG,ASF转VCD都可以实现快速转换。软件还支持将ASF...
迅捷视频格式转换器又称迅捷万能格式转换器.支持所有主流多媒体格式的相互转换.包括:MP4、MP3、AVI、SWF、APE、FLV、FLAC、MKV、AAC、3GP等等,是一款简单易用的全能视频音频格式转换软件. 软件特色: 迅捷视频格式...