- 浏览: 299687 次
- 性别:
- 来自: 广州
文章分类
转自 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 1046/**将给定的字节数组转换成IPV4的十进制分段表示格式的ip ... -
ScreenCapture
2012-08-02 11:59 1059import java.awt.Rectangle; impo ... -
UdpSpeedTest
2012-06-04 18:26 1021import java.net.DatagramPacket ... -
PieChart3DDemo3.java
2012-04-24 13:41 1190import java.awt.BorderLayout ... -
java modbus
2012-04-06 13:54 1274modbus -
16款Java图表组件
2012-04-06 13:50 2501开源Java图表组件 1. JFreeChar ... -
java md5
2012-02-17 14:29 840import java.security.MessageDig ... -
FreeModbus
2012-02-14 11:15 885http://freemodbus.berlios.de/ap ... -
java 获取当前日期与时间
2012-01-19 16:52 989time = new SimpleDateFormat(&q ... -
java string sort
2012-01-19 16:46 934Arrays.sort(filelist, new Co ... -
java run dos command
2012-01-19 16:44 757Runtime.getRuntime().exec(" ... -
eclipse plugs
2012-01-17 16:47 775http://checkthread.org/eclipse- ... -
java
2012-01-12 17:18 994BufferedWriter out = new Buf ... -
Jpcap
2012-01-04 19:36 1026Jpcap is a Java library for ... -
java 获取网卡信息
2011-12-21 15:25 1219public static void main(Stri ... -
java 多网卡绑定例程
2011-12-21 15:01 1645单播: DatagramSocket s = n ... -
java multicast demo
2011-12-20 08:46 885import java.net.DatagramPack ... -
JavaService把java程序发布为windows服务
2011-12-09 14:45 1028http://forge.ow2.org/projects/j ... -
chilkatsoft
2011-11-30 17:23 991http://www.chilkatsoft.com/ -
csv
2011-11-30 16:40 986Java CSV is a small fast open s ...
相关推荐
Java开发工具包(Jave.jar)是一个集合,包含了两个不同版本的Jave库:jave-1.0.2.jar和jave-2.0.jar。这个压缩包旨在为Java开发者提供不同版本的Jave库,以便在各种项目中根据需求选择合适版本。Jave库可能是一个...
Java JAVE(Java Audio Video Encoder)是一个用于音频和视频处理的Java库,它为开发者提供了在Java应用程序中编码和转换多媒体文件的能力。JAVE的核心功能是利用FFmpeg库的跨平台能力,允许开发者轻松地对音频和...
Java 2.0 JAR包下载介绍的是一个用于音视频处理的强大工具——JAVE,它基于知名的开源项目FFmpeg。JAVE(Java Audio Video Encoder)是开发者为了方便Java应用程序进行音视频转码而设计的库,它使得在Java环境中进行...
Java 1.0.2 源码与 JAR 包是 Java 开发中的重要资源,主要用于学习、理解和使用 Jave 这个库。Jave 是一个基于 Java 的开源库,它集成了 FFmpeg,使得开发者能够利用 Java 语言进行视频处理和转换任务。FFmpeg 是一...
《深入解析it.sauronsoftware.jave:Java音频与视频编码库》 在Java开发中,处理音频和视频文件的任务时常出现,而it.sauronsoftware.jave正是一个专为Java设计的强大的多媒体处理库。这个包提供了丰富的功能,允许...
《深入理解Jave-1.0.2.jar:计算视频时长的利器》 在数字化时代,处理多媒体数据,尤其是视频文件,已经成为日常工作中不可或缺的一部分。对于开发者来说,能够便捷地获取视频时长是一项基本需求。Jave-1.0.2.jar...
标题中的"jave-1.0.2.jar"是一个Java的可执行文件,通常被称为Java Archive(JAR)文件。这种文件格式用于打包Java类、资源文件和元数据,以便在Java平台上运行或分发。它类似于其他编程语言中的库或模块,允许...
"视频解析工具:jave-1.0.2.jar.zip" 是一款专门针对音视频处理的软件资源,它能帮助用户解决一系列与音视频格式转换、参数解析、时间长度计算以及文件大小管理相关的问题。 Jave是一款Java编写的开源音视频处理库...
`jave-1.0.2(jar包).zip` 提供的是一个名为 `jave` 的特定库的版本1.0.2,专门用于音视频处理。这个库可能包含了处理音频和视频数据的类、接口和方法,以帮助开发者在Java应用程序中实现媒体处理功能。 首先,让...
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...
"jave-1.0.2.jar" 是一个专注于计算视频时长的Java库,它为开发者提供了一种高效、便捷的方式来获取视频文件的播放长度。本篇文章将详细介绍这个库的核心功能、使用方法以及背后的原理。 1. **JAVE库介绍** JAVE,...
jave-1.0.2.3.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
描述中提到了三个不同版本的jar包:jave-1.0、jave-1.0.1和jave-1.0.2。这表示了软件的版本控制,遵循了典型的版本号命名规则,其中主版本号(1)、次版本号(0)和修订号(2)分别代表主要更新、次要更新和修正。...
jave-1.0.2.2.jar完全解决如下问题: 1、报错:it.sauronsoftware.jave.EncoderException: Metadata: 2、可以转换,可以播放,但是有个异常:it.sauronsoftware.jave.EncoderException: video:0kB audio:1301kB ...
在这个"jave-1.0.2.rar"压缩包中,包含的是一个名为"jave-1.0.2.jar"的文件,这实际上是一个Java Archive(JAR)文件。JAR文件是Java平台特有的归档格式,它允许将多个Java类文件、资源文件以及元数据打包到一起,...
**JAVE图解实用教程** Java Advanced Video Encoder (JAVE) 是一款强大的视频编码工具,专为Java开发者设计,能够方便地将各种视频格式转换为流媒体格式,适合在网络上传输。这个教程针对的是对Java编程有一定基础...
Java音频视频编码器(JAVE2)是一个强大的工具,它为Java开发者提供了访问FFmpeg项目的接口,使得在Java环境中处理音频和视频转码变得轻松易行。FFmpeg是一款开源的跨平台多媒体处理框架,用于处理各种音频和视频...