Fraunhofer FDK AAC: Difference between revisions

From Hydrogenaudio Knowledgebase
(→‎aac-enc: usage details)
(bitrate modes)
Line 34: Line 34:
== Afterburner ==
== Afterburner ==
''Afterburner'' is "a type of analysis by synthesis algorithm which increases the audio quality but also the required processing power." Fraunhofer recommends to always activate this feature.
''Afterburner'' is "a type of analysis by synthesis algorithm which increases the audio quality but also the required processing power." Fraunhofer recommends to always activate this feature.
== Bitrate modes ==
{|class="wikitable"
! AACENC_BITRATEMODE !! Bitrate !! Comment
|-
| 0 || CBR @ AACENC_BITRATE
|-
| 1 || VBR, about 32 kbps/channel
|-
| 2 || VBR, about 40 kbps/channel
|-
| 3 || VBR, about 48-56 kbps/channel || Max for HE and HEv2
|-
| 4 || VBR, about 64 kbps/channel
|-
| 5 || VBR, about 80-96 kbps/channel
|-
| 6 || || Fixed frame mode.
|-
| 7 || || Superframe mode.
|-
| 8 || || LD/ELD full bitreservoir for packet based transmission
|}


== [lib]fdk-aac ==
== [lib]fdk-aac ==
Line 50: Line 73:
;-a <0,1>:Enable [[#Afterburner|''Afterburner'']]. 0=Disabled, 1=Enabled (recommended). Default is 1.
;-a <0,1>:Enable [[#Afterburner|''Afterburner'']]. 0=Disabled, 1=Enabled (recommended). Default is 1.
;-s <-1,0,1>:Spectral Band Replication (ELD AOT only). -1=Use ELD SBR auto configurator (default,recommended), 0=Disabled, 1=Enabled. Default is -1.
;-s <-1,0,1>:Spectral Band Replication (ELD AOT only). -1=Use ELD SBR auto configurator (default,recommended), 0=Disabled, 1=Enabled. Default is -1.
;-v <0-5>:VBR constraint. 0=CBR. Default is 0.
;-v <0-5>:[[#Bitrate modes|bitrate mode]] Only 0-5 used. 0=CBR @ value given in -r. Default is 0.


=== ffmpeg ===
=== ffmpeg ===

Revision as of 19:24, 24 July 2014


Fraunhofer FDK AAC

Developer(s) Fraunhofer IIS
Release information
Initial release {{{released}}}
Stable release
Preview release
Compatibility
Operating system Android, Linux
Additional information
Use Encoder
License very liberal (NOTICE), but somehow considered non-free [1]
Website Offical web page

The Fraunhofer FDK AAC is a high-quality open-source AAC encoder library developed by Fraunhofer IIS. It was officially released for Android, but has been ported to other platforms.

MPEG-4 Audio Object Types

The library supports the following MPEG-4 AOTs:

Object Type ID Audio Object Type Description
2 AAC-LC "AAC Profile" MPEG-2 Low-complexity (LC) combined with MPEG-4 Perceptual Noise Substitution (PNS)
5 HE-AAC AAC LC + SBR (Spectral Band Replication)
29 HE-AAC v2 AAC LC + SBR + PS (Parametric Stereo)
23 AAC-LD "Low Delay Profile" used for real-time communication
39 AAC-ELD Enhanced Low Delay

Afterburner

Afterburner is "a type of analysis by synthesis algorithm which increases the audio quality but also the required processing power." Fraunhofer recommends to always activate this feature.

Bitrate modes

AACENC_BITRATEMODE Bitrate Comment
0 CBR @ AACENC_BITRATE
1 VBR, about 32 kbps/channel
2 VBR, about 40 kbps/channel
3 VBR, about 48-56 kbps/channel Max for HE and HEv2
4 VBR, about 64 kbps/channel
5 VBR, about 80-96 kbps/channel
6 Fixed frame mode.
7 Superframe mode.
8 LD/ELD full bitreservoir for packet based transmission

[lib]fdk-aac

The opencore-amr project maintains a source code distribution of the Fraunhofer library as fdk-aac, often packaged as libfdk-aac. It is distributed in a binary form in Debian (and Debian derivatives like Ubuntu) as libfdk-aac0.

aac-enc

fdk-aac includes a very, very basic command-line interface encoding utility, called aac-enc, that can encode to AAC from WAV.

Usage:

aac-enc [-r bitrate] [-t aot] [-a afterburner] [-s sbr] [-v vbr] in.wav out.aac
-r <bitrate>
CBR bitrate. Default is 64000.
-t <aot>
The Audio Object Type. Default is 2 (AAC-LC).
-a <0,1>
Enable Afterburner. 0=Disabled, 1=Enabled (recommended). Default is 1.
-s <-1,0,1>
Spectral Band Replication (ELD AOT only). -1=Use ELD SBR auto configurator (default,recommended), 0=Disabled, 1=Enabled. Default is -1.
-v <0-5>
bitrate mode Only 0-5 used. 0=CBR @ value given in -r. Default is 0.

ffmpeg

libfdk-aac can be used with ffmpeg, but requires a custom build of ffmpeg.

avconv

libfdk-aac can be used with avconv, but requires a custom build of avconv.

Links