Internet DJ Console Homepage IDJC

website logo

I can't choose one or both of the the AAC options. Why?

Put simply IDJC calls on libavcodec from the ffmpeg project to do the encoding and due to legal considerations it's unlikely your distribution's libavcodec has either the libfaac or libaacplus encoders built in.

Checking for support is easy enough in a terminal.

$ ffmpeg -codecs 2>/dev/null | grep aac 
 DEA D  aac             Advanced Audio Coding
 D A D  aac_latm        AAC LATM (Advanced Audio Codec LATM syntax)
  EA    libaacplus      libaacplus AAC+ (Advanced Audio Codec with SBR+PS)
  EA    libfaac         libfaac AAC (Advanced Audio Codec)
  EA    libvo_aacenc    Android VisualOn AAC

In this example both encoders are listed so both AAC options would be available in IDJC.

What can I do?

Gentoo users need to set the faac and aacplus USE flags before rebuilding ffmpeg.

Users of binary distributions should track down the source package (source rpm, deb) and rebuild it with the required option.

Where no such option exists building ffmpeg's libraries from source remains the last option.

Is it worth it?

Not really, no. Not unless you absolutely positively must stream AAC.

The faac encoder doesn't support constant bit rate which is a problem for streaming and it hasn't received a fraction of the developer attention that LAME has so it fails on the sound quality front.

Does this mean AAC support on Linux is generally bad?

There is a closed source encoder neroAacEnc which has good sound quality and CBR but has been designed with no thought to streaming.