Fork me on GitHub

Introduction

The tagtraum FFmpeg package is a binary release of some of the libraries released by the FFmpeg™ project. Its purpose is to provide easy access to Windows and macOS binaries and sources for decoding audio via a Maven repository. Thus it serves as an upstream project for Java JNI projects wishing to interface with the native libraries (e.g. FFSampledSP). Codecs with known patent problems are disabled (but can be enabled). However, this obviously is no guarantee. Also, as the focus lies on decoding audio, most encoders are disabled. Note that as of version 1.12.0, mp3 has been enabled as decoder by default.

How to use

To access the native libraries and sources, add something like this to the dependencies section of your pom:

<dependency>
    <groupId>com.tagtraum</groupId>
    <artifactId>ffmpeg-x86_64-macos</artifactId>
    <!-- <artifactId>ffmpeg-aarch64-macos</artifactId> -->
    <!-- <artifactId>ffmpeg-x86_64-win</artifactId> -->
    <!-- <artifactId>ffmpeg-i386-win</artifactId> -->
    <!-- <artifactId>ffmpeg-x86_64-unix</artifactId> -->
    <version>4.0.11</version>
</dependency>

Requirements

Both 32 bit and 64 bit are supported on Windows. aarch64 and x86_64 on macOS 10.8 or later. x86_64 on Linux.

License

LGPL 2.1

FFmpeg Sources

You can find the FFmpeg sources used for this package here.

Configuration

FFmpeg was built with the following configuration:

./configure --enable-static --enable-pic --enable-small --disable-programs --disable-doc --disable-avfilter --disable-postproc --disable-swscale --disable-avdevice --disable-filters --disable-decoder=flash*,truemotion*,tmv,eacmv,eamad,eatgq,eatgv,eatqi,flic,h26*,msmpeg*,mpeg2*,mpeg4*,mpeg_vdpau,mpeg_xvmc,mpegvideo,msvideo*,vp*,aic,amv,asv*,aura,aura2,avr*,c93,clearvideo,cinepak,cljr,cllc,cpia,dirac,hevc,rtp*,srtp,vc1,swf,indeo*,v2*,v3*,v4* --disable-demuxer=h26*,msmpeg*,mpeg2*,mpeg4*,mpeg_vdpau,mpeg_xvmc,mpegvideo,vp*,aic,amv,asv*,aura,aura2,avr*,c93,clearvideo,cinepak,cljr,cllc,cpia,dirac,hevc,rtp*,srtp,vc1,swf,flic,flv,segafilm,v2*,v3*,v4*,tmv,filmstrip --disable-encoders --enable-encoder=pcm* --disable-parser=h2*,vc1,vp*,dirac,hevc,rv* --disable-protocol=rt*,srt*,gopher,ftp --disable-muxers --disable-indevs --disable-outdevs --disable-iconv --disable-dxva2

To build with a different configuration, please take a look at the developer page.