① java 有什么好用的视频转码工具,需要将视频转成MP4 格式
ffmpeg 这个是linux和windows下都有执行文件的。。。。。
② java怎么将amr转换为audio标签能播的格式
运行添加视频文件。打开狸(liwo)窝全能转换器后,单击界面左上角的第一个按钮“添加视频”,浏览打开文件夹并将amr音乐文件导入到软件。有的用户可以会疏忽的,就是在打开文件夹时没发现有amr文件,其实有可能忘掉选择文件类型了,选择All Files(*.*),即所有文件,就可以看到了。
视频编辑。软件提供有视频编辑和3D效果的功能,这是对视频而言的。对于音频,我们可以使用软件的视频编辑功能。单击主界面左上方第二个按钮“视频编辑”,即可进入编辑窗口。如图所示,可以对音频进行切割,比如音乐太大的时候可以用,剪掉不需要的一段,保存需要的一段。
选择预置方案。软件支持输出aac、ac3、aiff、amr、m4a、mp2、mp3、ogg、ra、au、wav、wma、mka、flac(无损)、wav(无损)等格式音频。这里在分类“常用音频”中就可以找到需要转换的mp3格式-MP3-MPEG Layer-3 Audio (*.mp3) 流行的音频格式,具有很好的音质和很小的体积。
参数设置。在“预置方案”右边是“高级设置”,单击进入设置窗口,可以进行音频参数设置。新手不用进行此项设置,因为软件已经按照常用格式,使用范围等进行分类设置了,其参数相差不大。只是按照所需要的在预置方案中选择相应格式即可。
③ java中怎样将视频文件转换成二进制文件再转换回视频文件求具体代码!
其实x.avi本身也是二进制文件,你只需要按照二进制文件读取方式读取就可以了,所以不理解你这里的x.dat又是什么样的?或者是说轮换成文本文件?如果这样的话你将x.avi一个字符一个字符地读取然后用16进制保存到x.dat中即可。
再转换为y.avi时同理,读取x.dat中的两个文本字符,转换成byte再写入y.avi即可。
④ java怎么处理视频转码
调用 ffmpeg 转码。
⑤ 在java中 如何将wmv格式的视频转换成gif格
下面就是代码部分了
package com.sino.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
* java实现视频格式的转化
* @author liuyazhuang
*
*/
public class ChangeVideo {
public static void main(String[] args) {
ChangeVideo.convert("d:\\myeclipse\\aa.avi", "d:\\myeclipse\\bb.mp4");
}
/**
* @param inputFile:需要转换的视频
* @param outputFile:转换后的视频w
* @return
*/
public static boolean convert(String inputFile, String outputFile) {
if (!checkfile(inputFile)) {
System.out.println(inputFile + " is nokt file");
return false;
}
if (process(inputFile, outputFile)) {
System.out.println("ok");
return true;
}
return false;
}
⑥ 使用JAVA调用ffmpeg组件进行视频转换时不成功
FFMPEG没有java可以直接调用的API,网上那些基本上是通过调用cmd命令来实现转换的。这种方法很容易出错,效率低而且也不容易调试。最好的办法是让提供商提供flv格式的文件。如果不行你只有测试一下直接用FFMPEG的图形界面转看结果如何,然后尝试更换参数,视频文件和FFMPEG版本。
⑦ 在Java中怎样把所有的视频都转换成flv格式
java调用ffmpeg执行视频转换
ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等),
可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式;
mencoder.exe;drv43260.dll;pncrt.dll这3个文件是为文件格式(wmv9,rm,rmvb等)
转换为avi(ffmpeg能解析的)格式准备的;再把转换好的avi文件再用ffmpeg.exe转换成flv格式的视频文件。。。
缺点: 要装第三方东西
用jmf。编程以前,你需要安装JMF。
而且 jmf 不支持 所有平台
⑧ 急急急!!!java 用ffmpeg将上传的视频转成 .mp4 .ogg .webm 3种格式的视频,没思路,麻烦大神给点思路
import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class ConvertVideo {
private final static String PATH = "c:\\ffmpeg\\input\\c.mp4";
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) {
System.out.println("直接将文件转为flv文件");
status = processFLV(PATH);// 直接将文件转为flv文件
} 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 ArrayList<String>();
commend.add("c:\\ffmpeg\\mencoder");
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("c:\\ffmpeg\\output\\a.avi");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return "c:\\ffmpeg\\output\\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;
}
// 文件命名
Calendar c = Calendar.getInstance();
String savename = String.valueOf(c.getTimeInMillis())+ Math.round(Math.random() * 100000);
List<String> commend = new ArrayList<String>();
commend.add("c:\\ffmpeg\\ffmpeg");
commend.add("-i");
commend.add(oldfilepath);
commend.add("-ab");
commend.add("56");
commend.add("-ar");
commend.add("22050");
commend.add("-qscale");
commend.add("8");
commend.add("-r");
commend.add("15");
commend.add("-s");
commend.add("600x500");
commend.add("c:\\ffmpeg\\output\\a.flv");
try {
Runtime runtime = Runtime.getRuntime();
Process proce = null;
String cmd = "";
String cut = " c:\\ffmpeg\\ffmpeg.exe -i "
+ oldfilepath
+ " -y -f image2 -ss 8 -t 0.001 -s 600x500 c:\\ffmpeg\\output\\"
+ "a.jpg";
String cutCmd = cmd + cut;
proce = runtime.exec(cutCmd);
ProcessBuilder builder = new ProcessBuilder(commend);
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
⑨ java用入流读视频文件保存到string变量后,再用outputstream.write( 字符串.getByte())输出后文件打不开
既然是视频流,就不能够先转换成string变量,因为这样一转换,流就被破坏了。之后你再把string转换为byte,就与之前读取的视频流完全不一样了。