- 浏览: 275136 次
- 性别:
- 来自: 广州
文章分类
转自 http://ajava.org/opens/dmtzj/10094.html
JAVE (Java Audio Video Encoder) 类库是一个 ffmpeg 项目的 Java 语言封装。开发人员可以使用JAVE 在不同的格式间转换视频和音频。例如将 AVI 转成 MPEG 动画,等等 ffmpeg 中可以完成的在 JAVE 都有对应的方法。
下面例子将 AVI 动画转成 FLV 格式:
File source = new File("source.avi");
File target = new File("target.flv");
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(64000));
audio.setChannels(new Integer(1));
audio.setSamplingRate(new Integer(22050));
VideoAttributes video = new VideoAttributes();
video.setCodec("flv");
video.setBitRate(new Integer(160000));
video.setFrameRate(new Integer(15));
video.setSize(new VideoSize(400, 300));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("flv");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
Encoder encoder = new Encoder();
encoder.encode(source, target, attrs);
Next example takes an audio WAV file and generates a 128 kbit/s, stereo, 44100 Hz MP3 file:
File source = new File("source.wav");
File target = new File("target.mp3");
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(128000));
audio.setChannels(new Integer(2));
audio.setSamplingRate(new Integer(44100));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
encoder.encode(source, target, attrs);
项目主页: http://www.sauronsoftware.it/projects/jave/
文档地址: http://www.sauronsoftware.it/projects/jave/manual.php
下载地址: http://www.sauronsoftware.it/projects/jave/download.php
实例:
import it.sauronsoftware.jave.AudioAttributes; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.EncoderProgressListener; import it.sauronsoftware.jave.EncodingAttributes; import it.sauronsoftware.jave.MultimediaInfo; import java.io.File; public class JAVE { public static void main(String args[]) { wav2mp3("source.wav", "target.mp3", 320000); mp32mp3("target.mp3", "target1.mp3", 192000); mp32wav("target1.mp3", "source1.wav"); } public static void wav2mp3(String src, String dst, int bitrate) { try { File source = new File(src); File target = new File(dst); AudioAttributes audio = new AudioAttributes(); audio.setCodec("libmp3lame"); audio.setBitRate(bitrate); // audio.setChannels(1); // audio.setSamplingRate(48000); EncodingAttributes attrs = new EncodingAttributes(); attrs.setFormat("mp3"); attrs.setAudioAttributes(audio); Encoder encoder = new Encoder(); encoder.encode(source, target, attrs, new MyProgressListener()); } catch (Exception e) { e.printStackTrace(); } } public static void mp32wav(String src, String dst) { try { File source = new File(src); File target = new File(dst); AudioAttributes audio = new AudioAttributes(); // audio.setChannels(1); // audio.setSamplingRate(48000); EncodingAttributes attrs = new EncodingAttributes(); attrs.setFormat("wav"); attrs.setAudioAttributes(audio); Encoder encoder = new Encoder(); encoder.encode(source, target, attrs, new MyProgressListener()); } catch (Exception e) { e.printStackTrace(); } } public static void mp32mp3(String src, String dst, int bitrate) { try { File source = new File(src); File target = new File(dst); AudioAttributes audio = new AudioAttributes(); audio.setCodec("libmp3lame"); audio.setBitRate(bitrate); // audio.setChannels(1); // audio.setSamplingRate(48000); EncodingAttributes attrs = new EncodingAttributes(); attrs.setFormat("mp3"); attrs.setAudioAttributes(audio); Encoder encoder = new Encoder(); encoder.encode(source, target, attrs, new MyProgressListener()); } catch (Exception e) { e.printStackTrace(); } } } class MyProgressListener implements EncoderProgressListener { /** * This method is called before the encoding process starts, reporting * information about the source stream that will be decoded and re-encoded. * * @param info * Informations about the source multimedia stream. */ public void sourceInfo(MultimediaInfo info) { System.out.println(info); } /** * This method is called to notify a progress in the encoding process. * * @param permil * A permil value representing the encoding process progress. */ public void progress(int permil) { System.out.printf("\r%d%%", permil / 10); } /** * This method is called every time the encoder need to send a message * (usually, a warning). * * @param message * The message sent by the encoder. */ public void message(String message) { System.out.println("\n\n" + message); } }
评论
public static String toMPTree(String sourcePath,String targetPath) throws IllegalArgumentException, InputFormatException, EncoderException{ File source = new File(sourcePath); File target = new File(targetPath); AudioAttributes audio = new AudioAttributes(); audio.setCodec("libmp3lame"); audio.setBitRate(new Integer(128000)); audio.setChannels(new Integer(2)); audio.setSamplingRate(new Integer(44100)); EncodingAttributes attrs = new EncodingAttributes(); attrs.setFormat("mp3"); attrs.setAudioAttributes(audio); Encoder encoder = new Encoder(); encoder.encode(source, target, attrs); return targetPath; }
linux转的mp3都是0字节
发表评论
-
java IP地址转换
2013-03-28 09:05 984/**将给定的字节数组转换成IPV4的十进制分段表示格式的ip ... -
ScreenCapture
2012-08-02 11:59 935import java.awt.Rectangle; impo ... -
UdpSpeedTest
2012-06-04 18:26 944import java.net.DatagramPacket ... -
PieChart3DDemo3.java
2012-04-24 13:41 1046import java.awt.BorderLayout ... -
java modbus
2012-04-06 13:54 1123modbus -
16款Java图表组件
2012-04-06 13:50 2373开源Java图表组件 1. JFreeChar ... -
java md5
2012-02-17 14:29 776import java.security.MessageDig ... -
FreeModbus
2012-02-14 11:15 811http://freemodbus.berlios.de/ap ... -
java 获取当前日期与时间
2012-01-19 16:52 847time = new SimpleDateFormat(&q ... -
java string sort
2012-01-19 16:46 819Arrays.sort(filelist, new Co ... -
java run dos command
2012-01-19 16:44 675Runtime.getRuntime().exec(" ... -
eclipse plugs
2012-01-17 16:47 693http://checkthread.org/eclipse- ... -
java
2012-01-12 17:18 797BufferedWriter out = new Buf ... -
Jpcap
2012-01-04 19:36 937Jpcap is a Java library for ... -
java 获取网卡信息
2011-12-21 15:25 1107public static void main(Stri ... -
java 多网卡绑定例程
2011-12-21 15:01 1555单播: DatagramSocket s = n ... -
java multicast demo
2011-12-20 08:46 829import java.net.DatagramPack ... -
JavaService把java程序发布为windows服务
2011-12-09 14:45 872http://forge.ow2.org/projects/j ... -
chilkatsoft
2011-11-30 17:23 849http://www.chilkatsoft.com/ -
csv
2011-11-30 16:40 863Java CSV is a small fast open s ...
相关推荐
jave-1.0.2.2.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
jave-1.0.3.jar解决已知如下问题: 1、it.sauronsoftware.jave.EncoderException: Metadata 2、it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB subtitle:0kB other streams:0kB global headers:0...
jave1.0.2.jar包 。
jave-1.0.2.3.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
it.sauronsoftware.jave包下载
jave-2.0.jar 因开发项目需要用到科大讯飞语音转文字和语义接口,微信小程序录音文件是aac格式,微信公众号录音文件是amr格式,而讯飞只支持这些格式的音频文件“raw(未压缩的pcm或wav格式)、speex(speex格式,即...
The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE to transcode audio and video files from a format to another. In example ...
因为是基于 JAVE 项目的修改,而 JAVE 是依赖 ffmpeg 所以可以适用于所有 ffmpeg 所支持的文件格式的转换。具体可以查看 JAVE 官方文档 使用示例 引入 maven 依赖 com.github.dadiyang jave 1.0.3 调用 ...
可计算获取视频时长,jave-1.0.2.jar 。简单使用的jar包
jave-1.0.2.jar用于获取音频文件长度。下载解压导入即可!
jave.jar 包含两个版本,分别是jave-1.0.2.jar和jave-2.0.jar,另外赠送commons-logging-1.1.1.jar
it\sauronsoftware\jave\1.0.2的jave包,主要用于获取视频时长
jave amr转mp3 64位 liunx&windows 有一个问题,win10上会失败,报错如下: it.sauronsoftware.jave.EncoderException: java.io.IOException: Cannot run program "C:\Users\moxiao\AppData\Local\Temp\jave-1\...
由于网上没法下载jave视频处理的jar包 在此提供一下jave包 maven 本地引用的方式 <groupId>it.sauronsoftware <artifactId>jave <scope>system ${project.basedir}/libs/jave-1.0.jar </dependency>
Jave script 语法电子手册Jave script 语法电子手册
jave的jar (jave-1.0.2.jar)jave的jar (jave-1.0.2.jar)
这个游戏是触屏虚拟键盘两用的游戏,值得我们去玩一下,不过是jave的游戏哦
jave面向对象特性继承、封装、多态的实验报告,jave重要实验。
jave-1.0.2(jar包).zip,解决音视频处理,注意版本是1.0.2,亲测可用,里面带文档注释
jave-1.0.2.jar 视频工具类 Java 好不容易找到的 The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE to transcode audio and video...