Difference between revisions of "AAC encoders"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Features)
(Fraunhofer AAC Encoders: clarify FDK is not only low-delay encoding)
 
(10 intermediate revisions by one user not shown)
Line 7: Line 7:
 
!colspan=2| Bitrate Modes
 
!colspan=2| Bitrate Modes
 
!colspan=3| Audio Object Types
 
!colspan=3| Audio Object Types
!rowspan=2| Channels  
+
!rowspan=2| Channels
 
!rowspan=2| Open Source
 
!rowspan=2| Open Source
 
!rowspan=2| Platforms  
 
!rowspan=2| Platforms  
Line 18: Line 18:
 
! HEv2 (SBR+PS)
 
! HEv2 (SBR+PS)
 
|-
 
|-
| [[Apple AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{maybe}} ||8 ||{{no}} ||Mac, Windows ||
+
| [[Apple AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{maybe}} ||8 ||{{no}} ||Mac, Windows || Distributed as binary library only, included in QuickTime/iTunes. Can be extracted and used with a CLI wrapper.
 
|-
 
|-
| [[Fraunhofer FDK AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||8 (7.1) ||{{yes}} ||Linux, Mac, Windows ||
+
| [[Fraunhofer FDK AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||8 (7.1) ||{{maybe|Yes, but non-free}} ||Linux, Mac, Windows || Fraunhofer dumps its code into the Android Open Source Project now and then, but it is not developed in the open, and its license is considered non-free.
 
|-
 
|-
| [[Nero AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||6 (5.1) ||{{no}} ||Linux, Windows ||
+
| [[Fraunhofer]] "FhG" AAC ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||6 (5.1) ||{{no}} ||Windows || Distributed as binary library only, included in Winamp. Can be extracted and used with a CLI wrapper.
 
|-
 
|-
| [[libavcodec AAC|FFmpeg 3.0+ AAC encoder]] ||{{yes}} ||{{maybe|Poor}} ||{{yes}} ||{{no}} ||{{no}} ||2 ||{{yes}} ||Linux, Mac, Windows ||
+
| [[Nero AAC]] ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||{{yes}} ||6 (5.1) ||{{no}} ||Linux, Windows || Distributed as CLI encoder utility
 
|-
 
|-
| [[FAAC]] ||{{maybe|Not true CBR}} ||{{yes}} ||{{yes}} ||{{no}} ||{{no}} ||6 (5.1) ||{{yes}} ||Linux, Mac, Windows ||
+
| [[libavcodec AAC|FFmpeg 3.0+ AAC encoder]] ||{{yes}} ||{{maybe|Poor}} ||{{yes}} ||{{no}} ||{{no}} ||8 (7.1) ||{{yes}} ||Linux, Mac, Windows ||
 +
|-
 +
| [[FAAC]] ||{{maybe|Not true CBR}} ||{{yes}} ||{{yes}} ||{{no}} ||{{no}} ||6 (5.1) ||{{maybe|Yes, but non-free}} ||Linux, Mac, Windows || FAAC contains some code which is published as Free Software, but as a whole it is only distributed under a proprietary license.
 
|-
 
|-
 
| [[libavcodec AAC|Libav]] (pre-3.0 FFmpeg) AAC encoder ||{{maybe|Poor}} ||{{maybe|Poor}} ||{{yes}} ||{{no}} ||{{no}} ||2 ||{{yes}} ||Linux, Mac, Windows  ||
 
| [[libavcodec AAC|Libav]] (pre-3.0 FFmpeg) AAC encoder ||{{maybe|Poor}} ||{{maybe|Poor}} ||{{yes}} ||{{no}} ||{{no}} ||2 ||{{yes}} ||Linux, Mac, Windows  ||
 
|-
 
|-
| VisualOn AAC ||{{maybe|Very poor}} ||{{no}} ||{{yes}} ||{{no}} ||{{no}} ||2 ||{{yes}} ||Linux, Mac, Windows || CBR is actually a really poor VBR with lots wasted padding
+
| [[VisualOn AAC]] ||{{maybe|Very poor}} ||{{no}} ||{{yes}} ||{{no}} ||{{no}} ||2 ||{{maybe|Yes}} ||Linux, Mac, Windows || CBR is actually a really poor VBR at about 64kbps with lots of padding added to hit whatever target is requested. VisualOn claims to have the right to release the code under a Free Software license.
 +
|-
 +
| Microsoft MFT AAC ||{{yes}} ||{{no}} ||{{yes}} ||{{no}} ||{{no}} ||6 (5.1) ||{{no}} ||Windows || Only 2 channels in Windows 7, 6(5.1) in Windows 10. Only 44.1kHz and 48kHz sample rates supported. [https://msdn.microsoft.com/en-us/library/windows/desktop/dd742785(v=vs.85).aspx]
 
|}
 
|}
  
Line 47: Line 51:
 
* The [[Fraunhofer FDK AAC|FDK AAC]] encoder included in Android.  
 
* The [[Fraunhofer FDK AAC|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.
+
The licensed encoder included with Winamp is optimized for encoding music on desktop-class processors, while the Android version includes low-delay encoding for real-time communication on embedded systems/mobile phones.
  
 
According to the July 2011 96kbps [[Hydrogenaudio Listening Tests|listening tests]] by IgorC, Winamp's Fraunhofer encoder is better than [[Nero AAC]] and tied with the [[Apple AAC|Apple encoder]] (then part of QuickTime) [http://listening-tests.hydrogenaud.io/igorc/aac-96-a/results.html].
 
According to the July 2011 96kbps [[Hydrogenaudio Listening Tests|listening tests]] by IgorC, Winamp's Fraunhofer encoder is better than [[Nero AAC]] and tied with the [[Apple AAC|Apple encoder]] (then part of QuickTime) [http://listening-tests.hydrogenaud.io/igorc/aac-96-a/results.html].

Latest revision as of 22:17, 29 January 2017

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.

Features

Encoder Bitrate Modes Audio Object Types Channels Open Source Platforms Notes
CBR VBR LC HEv1 (SBR) HEv2 (SBR+PS)
Apple AAC Yes Yes Yes Yes Maybe 8 No Mac, Windows Distributed as binary library only, included in QuickTime/iTunes. Can be extracted and used with a CLI wrapper.
Fraunhofer FDK AAC Yes Yes Yes Yes Yes 8 (7.1) Yes, but non-free Linux, Mac, Windows Fraunhofer dumps its code into the Android Open Source Project now and then, but it is not developed in the open, and its license is considered non-free.
Fraunhofer "FhG" AAC Yes Yes Yes Yes Yes 6 (5.1) No Windows Distributed as binary library only, included in Winamp. Can be extracted and used with a CLI wrapper.
Nero AAC Yes Yes Yes Yes Yes 6 (5.1) No Linux, Windows Distributed as CLI encoder utility
FFmpeg 3.0+ AAC encoder Yes Poor Yes No No 8 (7.1) Yes Linux, Mac, Windows
FAAC Not true CBR Yes Yes No No 6 (5.1) Yes, but non-free Linux, Mac, Windows FAAC contains some code which is published as Free Software, but as a whole it is only distributed under a proprietary license.
Libav (pre-3.0 FFmpeg) AAC encoder Poor Poor Yes No No 2 Yes Linux, Mac, Windows
VisualOn AAC Very poor No Yes No No 2 Yes Linux, Mac, Windows CBR is actually a really poor VBR at about 64kbps with lots of padding added to hit whatever target is requested. VisualOn claims to have the right to release the code under a Free Software license.
Microsoft MFT AAC Yes No Yes No No 6 (5.1) No Windows Only 2 channels in Windows 7, 6(5.1) in Windows 10. Only 44.1kHz and 48kHz sample rates supported. [1]

FFmpeg/Libav native AAC encoder

See Libavcodec AAC.

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. [2] Libav also recommends using FDK AAC if it is available. [3]

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 includes 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) [4].

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" [5] (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.