推荐一款基于Java的音视频处理开源项目--JAVE
JAVE(Java Audio Video Encoder),作为一种音频和视频格式转换工具,在基于ffmpeg项目的Java封装下实现了对音频和视频的不同格式之间的转换功能。
JAVE,需要J2SE 1.4+、Windows 或 Linux 操作系统均可运行。
JAVE支持的编码和解码格式见下表:
Decoding
| Formato | Descrizione |
|---|---|
| 4xm | 4X Technologies format |
| MTV | MTV format |
| RoQ | Id RoQ format |
| aac | ADTS AAC |
| ac3 | raw ac3 |
| aiff | Audio IFF |
| alaw | pcm A law format |
| amr | 3gpp amr file format |
| apc | CRYO APC format |
| ape | Monkey's Audio |
| asf | asf format |
| au | SUN AU Format |
| avi | avi format |
| avs | AVISynth |
| bethsoftvid | Bethesda Softworks 'Daggerfall' VID format |
| c93 | Interplay C93 |
| daud | D-Cinema audio format |
| dsicin | Delphine Software International CIN format |
| dts | raw dts |
| dv | DV video format |
| dxa | dxa |
| ea | Electronic Arts Multimedia Format |
| ea_cdata | Electronic Arts cdata |
| ffm | ffm format |
| film_cpk | Sega FILM/CPK format |
| flac | raw flac |
| flic | FLI/FLC/FLX animation format |
| flv | flv format |
| gif | GIF Animation |
| gxf | GXF format |
| h261 | raw h261 |
| h263 | raw h263 |
| h264 | raw H264 video format |
| idcin | Id CIN format |
| image2 | image2 sequence |
| image2pipe | piped image2 sequence |
| ingenient | Ingenient MJPEG |
| ipmovie | Interplay MVE format |
| libnut | nut format |
| m4v | raw MPEG4 video format |
| matroska | Matroska File Format |
| mjpeg | MJPEG video |
| mm | American Laser Games MM format |
| mmf | mmf format |
| mov,mp4,m4a,3gp,3g2,mj2 | QuickTime/MPEG4/Motion JPEG 2000 format |
| mp3 | MPEG audio layer 3 |
| mpc | musepack |
| mpc8 | musepack8 |
| mpeg | MPEG1 System format |
| mpegts | MPEG2 transport stream format |
| mpegtsraw | MPEG2 raw transport stream format |
| mpegvideo | MPEG video |
| mulaw | pcm mu law format |
| mxf | MXF format |
| nsv | NullSoft Video format |
| nut | nut format |
| nuv | NuppelVideo format |
| ogg | Ogg format |
| psxstr | Sony Playstation STR format |
| rawvideo | raw video format |
| redir | Redirector format |
| rm | rm format |
| rtsp | RTSP input format |
| s16be | pcm signed 16 bit big endian format |
| s16le | pcm signed 16 bit little endian format |
| s8 | pcm signed 8 bit format |
| sdp | SDP |
| shn | raw shorten |
| siff | Beam Software SIFF |
| smk | Smacker Video |
| sol | Sierra SOL Format |
| swf | Flash format |
| thp | THP |
| tiertexseq | Tiertex Limited SEQ format |
| tta | true-audio |
| txd | txd format |
| u16be | pcm unsigned 16 bit big endian format |
| u16le | pcm unsigned 16 bit little endian format |
| u8 | pcm unsigned 8 bit format |
| vc1 | raw vc1 |
| vmd | Sierra VMD format |
| voc | Creative Voice File format |
| wav | wav format |
| wc3movie | Wing Commander III movie format |
| wsaud | Westwood Studios audio format |
| wsvqa | Westwood Studios VQA format |
| wv | WavPack |
| yuv4mpegpipe | YUV4MPEG pipe format |
Encoding
| Formato | Descrizione |
|---|---|
| 3g2 | 3gp2 format |
| 3gp | 3gp format |
| RoQ | Id RoQ format |
| ac3 | raw ac3 |
| adts | ADTS AAC |
| aiff | Audio IFF |
| alaw | pcm A law format |
| amr | 3gpp amr file format |
| asf | asf format |
| asf_stream | asf format |
| au | SUN AU Format |
| avi | avi format |
| crc | crc testing format |
| dv | DV video format |
| dvd | MPEG2 PS format (DVD VOB) |
| ffm | ffm format |
| flac | raw flac |
| flv | flv format |
| framecrc | framecrc testing format |
| gif | GIF Animation |
| gxf | GXF format |
| h261 | raw h261 |
| h263 | raw h263 |
| h264 | raw H264 video format |
| image2 | image2 sequence |
| image2pipe | piped image2 sequence |
| libnut | nut format |
| m4v | raw MPEG4 video format |
| matroska | Matroska File Format |
| mjpeg | MJPEG video |
| mmf | mmf format |
| mov | mov format |
| mp2 | MPEG audio layer 2 |
| mp3 | MPEG audio layer 3 |
| mp4 | mp4 format |
| mpeg | MPEG1 System format |
| mpeg1video | MPEG video |
| mpeg2video | MPEG2 video |
| mpegts | MPEG2 transport stream format |
| mpjpeg | Mime multipart JPEG format |
| mulaw | pcm mu law format |
| null | null video format |
| nut | nut format |
| ogg | Ogg format |
| psp | psp mp4 format |
| rawvideo | raw video format |
| rm | rm format |
| rtp | RTP output format |
| s16be | pcm signed 16 bit big endian format |
| s16le | pcm signed 16 bit little endian format |
| s8 | pcm signed 8 bit format |
| svcd | MPEG2 PS format (VOB) |
| swf | Flash format |
| u16be | pcm unsigned 16 bit big endian format |
| u16le | pcm unsigned 16 bit little endian format |
| u8 | pcm unsigned 8 bit format |
| vcd | MPEG1 System format (VCD) |
| vob | MPEG2 PS format (VOB) |
| voc | Creative Voice File format |
| wav | wav format |
| yuv4mpegpipe | YUV4MPEG pipe format |
JAVE的应用极为便捷。只需将jave-1.0.jar此包添加至工程路径中即可完成导入操作。以下是一段实现AVI文件转FLV格式的具体代码片段:
File source = new File("source.avi");
File target = new File("target.flv");
AudioAttributes audio = new AudioAttributes();
int codecIdLibmp3lameCodecsaudiCodec;
audio.init(&codecIdLibmp3lameCodecsaudiCodec);
int bitrateValue64Kbps;
audio.initBitrate(birateValue64Kbps);
int channelCount1;
audio.initChannelCount(channelCount1);
audio.initSamplingRates(int value22kHz);
VideoAttributes video;
int codecIdFlVCodec;
video.init(&codecIdFlVCodec);
int bitrateValue16kpbs;
video.initBitrate(birateValue16kpbs);
int frameInterval15ms;
video.initFrameInterval(frameInterval15ms);
VideoSize sizeInt(4.8e+2, 3.8e+2);
video.initSize(sizeInt);
EncodingAttributes attrs;
attrs.initFormat(FlVFormat);
attrs.initAudioAttribute(audio);
attrs.initVideoAttribute(video);
Encoder encoder;
encoder.init();
encoder.encode(source, target, attrs);
仔细查看这段代码后会发现它包含可调节的参数如压缩码率分辨率以及音频解码率等都非常简便
JAVE工程网站:http://www.sauronsoftware.it/projects/jave/index.php
截至目前此项目最新版本是v1.0.2
想与大家分享一下我老师的大神级人工智能教程哦!零基础课程绝对能让你轻松入门!妙趣横生的内容搭配搞笑段子讲解让学习不再枯燥乏味!期待你能加入我们的AI学习社区一起交流探讨~ 点击这里查看详细内容:[()
