JAVE 视音频转码

官方参考文档: http://www.sauronsoftware.it/projects/jave/manual.php


一、什么是JAVE

    JAVE(Java Audio Video Encoder),是一个包涵ffmpeg项目库。开发这可以运用它去实现音频(Audio)与视频(Video)文件的转码。例如你要把AVI格式文件转为MPEG文件、WAV格式文件转为MP3格式文件,同时你还能调整文件大小与比例。JAVE兼容和支持很多格式之间的转码……


二、典型案例分析

    近期在做微信开发时,需要获取用户发给公众服务号的语音留言。而从微信服务端下载来的语音格式却是amr的格式,同样的你手机录音、Android语音等也都是生成amr格式文件。但当你想在web页面去播放此文件时,就困难了。因为无论是当前HTML5的<audio>标签,还是众多的播放插件都不支持amr格式文件的播放。所以,你不得不先把它转码为常见的MP3等类型文件。


三、所需环境与配置

    JAVE requires a J2SE environment 1.4 or later and a Windows or Linux OS on a i386 / 32 bit hardware architecture. JAVE can also be easily ported to other OS and hardware configurations, see the JAVE manual for details。 嗯,你应该看得懂~:D

    

    噢~差点忘了,你在使用时当然还必须引入它的jar包,请猛戳这里点击下载:jave-1.0.2.zip


四、具体用法与文档说明:

    1.JAVE中有个最重要的类Encoder,它暴露了很多的方法,总之你在使用JAVE时,你总是要创建Encoder的实例。

    Encoder encoder = new Encoder();

    让后转码时调用 encode()方法:

public void encode(java.io.File source,
                   java.io.File target,
                   it.sauronsoftware.jave.EncodingAttributes attributes)
            throws java.lang.IllegalArgumentException,
                   it.sauronsoftware.jave.InputFormatException,
                   it.sauronsoftware.jave.EncoderException
    第一个参数source:需要转码的源文件

    第二个参数target:需转型成的目标文件

    第三个参数attributes:是一个包含编码所需数据的参数


    2.Encoding attributes

    如上所述的encoder()方法,第三个参数是很重要的,所以,你得实例化出一个EncodingAttributes即EncodingAttributes attrs = new EncodingAttributes();

    接下来看看attrs都包含了些什么方法:

public void setAudioAttributes(it.sauronsoftware.jave.AudioAttributes audioAttributes)
从方法名可以看出是在转码音频时需要用到的方法,可以说是添加音频转码时所需音频属性。

public void setVideoAttributes(it.sauronsoftware.jave.AudioAttributes videoAttributes)
从方法名可以看出是在转码视频时需要用到的方法,可以说是添加视频转码时所需视频属性。
public void setFormat(java.lang.String format)
这个则是设置转码格式的方法。

public void setOffset(java.lang.Float offset)
设置转码偏移位置的方法,例如你想在5秒后开始转码源文件则setOffset(5)。

public void setDuration(java.lang.Float duration)
设置转码持续时间的方法,例如你想持续30秒的转码则setDuration(30)。


 3.Audio encoding attributes

    同样的我们也需设置Audio的属***:AudioAttributes audio = new AudioAttributes();

    看看它的方法:

public void setCodec(java.lang.String codec)//设置编码器

public void setBitRate(java.lang.Integer bitRate)//设置比特率

public void setSamplingRate(java.lang.Integer bitRate)//设置节录率

public void setChannels(java.lang.Integer channels)//设置声音频道

public void setVolume(java.lang.Integer volume)//设置音量

4.Video encoding attributes

public void setCodec(java.lang.String codec)//设置编码器
	
public void setTag(java.lang.String tag)//设置标签(通常用多媒体播放器所选择的视频解码)
	
public void setBitRate(java.lang.Integer bitRate)//设置比特率
	
public void setFrameRate(java.lang.Integer bitRate)//设置帧率
	
public void setSize(it.sauronsoftware.jave.VideoSize size)//设置大小

5.Monitoring the transcoding operation

    你可以用listener监测转码操作。JAVE定义了一个

  • 9
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值