Difference between revisions of "AAC encoders"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Include the FFmpeg encoder in the list)
(FFmpeg's native AAC encoder)
Line 2: Line 2:
 
These are some known [[AAC]] encoder implementations.
 
These are some known [[AAC]] encoder implementations.
  
==FFmpeg's native AAC encoder==
+
==FFmpeg/Libav native AAC encoder==
The FFmpeg native encoder used to be considered experimental until a significant amount of work was done on it to make it usable and competitive with the rest of the AAC encoders. The encoder currently produces comparable output to that of Fraunhofer's FDK AAC encoder included in Android but performs worse at bitrates lower than 96kbps. It has the advantage that it is capable of running on any platform capable of running FFmpeg and is included with the rest of the enabled decoder/encoders, as well as that it has the same LGPL license as FFmpeg.
+
The native aac encoder created in FFmpeg, and forked with Libav, was considered experimental and poor. A significant amount of work was done for the 3.0 release of FFmpeg (February 2016) to make its version usable and competitive with the rest of the AAC encoders. Libav has not merged this work and continues to use the older version of the aac encoder. These encoders are LGPL-licensed open-source and can be built for any platform that the FFmpeg or Libav frameworks can be built.
 +
 
 +
Both FFmpeg and Libav can use the [[Fraunhofer FDK AAC]] library via libfdk-aac, and while the FFmpeg native encoder has become stable and good enough for common use, FDK is still considered the highest quality encoder available for use with FFmpeg. [https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_aac] Libav also recommends using FDK AAC if it is available. [https://wiki.libav.org/Encoding/aac]
  
 
==Fraunhofer AAC Encoders==
 
==Fraunhofer AAC Encoders==

Revision as of 15:53, 26 June 2016

Current AAC encoders
(most to least recommended)
1 Apple AAC M/W
2 FhG AAC (Winamp) W
3 Fraunhofer FDK AAC S/L/M/W
4 Nero AAC L/W
5 FFmpeg 3.0+ AAC encoder S/L/M/W
6 FAAC S/L/M/W
7 Libav (pre-3.0 FFmpeg) AAC encoder S/L/M/W
S Source code available; L Linux; M macOS; W Windows
List of AAC encoders

These are some known AAC encoder implementations.

FFmpeg/Libav native AAC encoder

The native aac encoder created in FFmpeg, and forked with Libav, was considered experimental and poor. A significant amount of work was done for the 3.0 release of FFmpeg (February 2016) to make its version usable and competitive with the rest of the AAC encoders. Libav has not merged this work and continues to use the older version of the aac encoder. These encoders are LGPL-licensed open-source and can be built for any platform that the FFmpeg or Libav frameworks can be built.

Both FFmpeg and Libav can use the Fraunhofer FDK AAC library via libfdk-aac, and while the FFmpeg native encoder has become stable and good enough for common use, FDK is still considered the highest quality encoder available for use with FFmpeg. [1] Libav also recommends using FDK AAC if it is available. [2]

Fraunhofer AAC Encoders

See Fraunhofer.

Fraunhofer IIS develops two related AAC encoders:

  • The licensed AAC encoder that is included in Winamp.
  • The FDK AAC encoder included in Android.

The licensed encoder included with Winamp is optimized for encoding music on desktop-class processors, while the Android version was optimized for low-delay encoding for real-time communication on embedded systems/mobile phones.

According to the July 2011 96kbps listening tests by IgorC, Winamp's Fraunhofer encoder is better than Nero AAC and tied with the Apple encoder (then part of QuickTime) [3].

Nero AAC

See Nero AAC.

A commercial implementation of both LC AAC and HE AAC, Nero AAC is produced by Nero AG as part of their Nero Digital line of products. When it was new, it was generally perceived to have the highest quality VBR LC AAC implementation (although QuickTime AAC outperformed it in CBR mode at 128kbps). The codec can also create HEv1/v2 AAC streams for extremely low bitrates and supports multi-channel surround sound encoding. Nero AAC is available for free as a suite of command line tools called "Nero AAC Codec" [4] (formerly Nero Digital Audio).

The Nero AAC encoder was based on the earlier PsyTEL AAC encoder by Ivan Dimkovic.

Apple's AAC Encoder

See Apple AAC.

Apple's proprietary AAC implementation, formerly part of QuickTime, is known to be one of the highest quality medium-bitrate CBR LC AAC encoders.

The codec is available for free through the iTunes Digital Jukebox.

FAAC

FAAC is a free LC AAC encoder under the Lesser GPL license. Its quality has improved drastically over the last few years and FAAC is nowadays a viable alternative to the commercial encoders (although, at 128kbps or lower bitrates, not at the same quality level as some of them, according to Guruboolez's last listening test).

PsyTEL

PsyTEL was one of the first AAC encoders. It was created by Ivan Dimkovic, who would later work on Nero AAC. Its multichannel support has bugs that make it unusable, but its stereo mode had the best quality available in its day. Since the implementation of Nero AAC, this codec has become obsolete.


Coding Technologies derived

Coding Technologies (CT) was a Swedish/German company that worked closely with Fraunhofer IIS in development and research of new audio compression techniques.

They have licensed their encoding and decoding tools to several companies including Real Networks and Magix.

Real/Helix Producer

RealNetworks has incorporated Coding Technologies/FhG's MPEG-4 AAC / aacPlus™ technology and software within RealNetworks’ software products. As a result, in the newest version of RealProducer 10, AAC has replaced ATRAC3 as the high bitrate audio codec, and that software can encode AAC files wrapped in the MP4 container. In addition, the Producer SDK on Windows also includes HE-AAC encoding. More info can be found at RealNetworks' press release, as well as Coding Technologies' aacPlus page.

NEC/Panasonic

NEC Corporation has developed an LC AAC decoding algorithm for mobile devices. They have also developed a codec named MPEG-4 AAC Ext.1, which they claim decreases bitrate while maintaining the same audio quality. The new MPEG-4 AAC Ext.1 coding technology also features high compatibility with current MPEG-4 AAC. For more information, see NEC's press release.

Panasonic has developed an HE AAC codec together with NEC and Coding Technologies as described in this MPEG Industry Forum paper.

Others

  • Aacplusenc, which is based on the Coding Technologies reference code.

Others

HHI/zPlane (Compaact!)

Compaact! was a short-lived closed-source AAC encoder that could compete with FAAC in it's day. It is no longer developed.

Imagine

Imagine Technology provided an MPEG-4 LC AAC plugin for Adobe Audition. This plugin provided file input and output for the MPEG-4 AAC specification, defined in ISO/IEC 14496-3. After Imagine was bought by Ingenient Technologies, they stopped marketing the Audition plugin.

Emuzed

Emuzed develops and sells various products and technologies for the PC multimedia and embedded multimedia markets. They have ported and optimized codecs for MPEG-4 ASP and AAC LC for a chip vendor preparing to offer bundled multimedia hardware and software. More info can be found at their encoders & decoders page.