推荐一款基于Java的音视频处理开源项目--JAVE

来源:互联网 发布:struct {}node *next 编辑:程序博客网 时间:2024/05/16 09:16

JAVE(Java Audio Video Encoder),是一款将音频和视频在不同格式间进行转化的工具,是基于ffmpeg项目的Java封装。

JAVE,需要J2SE 1.4+、Windows 或 Linux 操作系统均可运行。

JAVE支持的编码和解码格式见下表:

Decoding

FormatoDescrizione4xm4X Technologies formatMTVMTV formatRoQId RoQ formataacADTS AACac3raw ac3aiffAudio IFFalawpcm A law formatamr3gpp amr file formatapcCRYO APC formatapeMonkey's Audioasfasf formatauSUN AU Formataviavi formatavsAVISynthbethsoftvidBethesda Softworks 'Daggerfall' VID formatc93Interplay C93daudD-Cinema audio formatdsicinDelphine Software International CIN formatdtsraw dtsdvDV video formatdxadxaeaElectronic Arts Multimedia Formatea_cdataElectronic Arts cdataffmffm formatfilm_cpkSega FILM/CPK formatflacraw flacflicFLI/FLC/FLX animation formatflvflv formatgifGIF AnimationgxfGXF formath261raw h261h263raw h263h264raw H264 video formatidcinId CIN formatimage2image2 sequenceimage2pipepiped image2 sequenceingenientIngenient MJPEGipmovieInterplay MVE formatlibnutnut formatm4vraw MPEG4 video formatmatroskaMatroska File FormatmjpegMJPEG videommAmerican Laser Games MM formatmmfmmf formatmov,mp4,m4a,3gp,3g2,mj2QuickTime/MPEG4/Motion JPEG 2000 formatmp3MPEG audio layer 3mpcmusepackmpc8musepack8mpegMPEG1 System formatmpegtsMPEG2 transport stream formatmpegtsrawMPEG2 raw transport stream formatmpegvideoMPEG videomulawpcm mu law formatmxfMXF formatnsvNullSoft Video formatnutnut formatnuvNuppelVideo formatoggOgg formatpsxstrSony Playstation STR formatrawvideoraw video formatredirRedirector formatrmrm formatrtspRTSP input formats16bepcm signed 16 bit big endian formats16lepcm signed 16 bit little endian formats8pcm signed 8 bit formatsdpSDPshnraw shortensiffBeam Software SIFFsmkSmacker VideosolSierra SOL FormatswfFlash formatthpTHPtiertexseqTiertex Limited SEQ formatttatrue-audiotxdtxd formatu16bepcm unsigned 16 bit big endian formatu16lepcm unsigned 16 bit little endian formatu8pcm unsigned 8 bit formatvc1raw vc1vmdSierra VMD formatvocCreative Voice File formatwavwav formatwc3movieWing Commander III movie formatwsaudWestwood Studios audio formatwsvqaWestwood Studios VQA formatwvWavPackyuv4mpegpipeYUV4MPEG pipe format

 

Encoding

FormatoDescrizione3g23gp2 format3gp3gp formatRoQId RoQ formatac3raw ac3adtsADTS AACaiffAudio IFFalawpcm A law formatamr3gpp amr file formatasfasf formatasf_streamasf formatauSUN AU Formataviavi formatcrccrc testing formatdvDV video formatdvdMPEG2 PS format (DVD VOB)ffmffm formatflacraw flacflvflv formatframecrcframecrc testing formatgifGIF AnimationgxfGXF formath261raw h261h263raw h263h264raw H264 video formatimage2image2 sequenceimage2pipepiped image2 sequencelibnutnut formatm4vraw MPEG4 video formatmatroskaMatroska File FormatmjpegMJPEG videommfmmf formatmovmov formatmp2MPEG audio layer 2mp3MPEG audio layer 3mp4mp4 formatmpegMPEG1 System formatmpeg1videoMPEG videompeg2videoMPEG2 videompegtsMPEG2 transport stream formatmpjpegMime multipart JPEG formatmulawpcm mu law formatnullnull video formatnutnut formatoggOgg formatpsppsp mp4 formatrawvideoraw video formatrmrm formatrtpRTP output formats16bepcm signed 16 bit big endian formats16lepcm signed 16 bit little endian formats8pcm signed 8 bit formatsvcdMPEG2 PS format (VOB)swfFlash formatu16bepcm unsigned 16 bit big endian formatu16lepcm unsigned 16 bit little endian formatu8pcm unsigned 8 bit formatvcdMPEG1 System format (VCD)vobMPEG2 PS format (VOB)vocCreative Voice File formatwavwav formatyuv4mpegpipeYUV4MPEG pipe format

 

JAVE的使用非常简便,将包jave-1.0.jar导入工程路径即可。下面给出一段将AVI转换成FLV的代码片段:

[java] view plaincopy
  1. File source = new File("source.avi");  
  2. File target = new File("target.flv");  
  3. AudioAttributes audio = new AudioAttributes();  
  4. audio.setCodec("libmp3lame");  
  5. audio.setBitRate(new Integer(64000));  
  6. audio.setChannels(new Integer(1));  
  7. audio.setSamplingRate(new Integer(22050));  
  8. VideoAttributes video = new VideoAttributes();  
  9. video.setCodec("flv");  
  10. video.setBitRate(new Integer(160000));  
  11. video.setFrameRate(new Integer(15));  
  12. video.setSize(new VideoSize(400300));  
  13. EncodingAttributes attrs = new EncodingAttributes();  
  14. attrs.setFormat("flv");  
  15. attrs.setAudioAttributes(audio);  
  16. attrs.setVideoAttributes(video);  
  17. Encoder encoder = new Encoder();  
  18. encoder.encode(source, target, attrs);  

细心看这段代码,不难找到其中可以设置压缩码率、分辨率、音频解码率等参数,非常的简便。

JAVE工程网站:http://www.sauronsoftware.it/projects/jave/index.php

截至目前此项目最新版本是v1.0.2


原创粉丝点击