Fraunhofer FDK AAC: Difference between revisions
(→[lib]fdk-aac: latest version) |
(→[lib]fdk-aac: avconv examples from the forum thread, a couple similar ffmpeg examples, link to ffmpeg docs, avconv has no docs) |
||
Line 75: | Line 75: | ||
;-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>:[[#Bitrate modes|Bitrate mode]] Only 0-5 used. 0=CBR @ value given in -r. 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 === | ||
libfdk-aac can be used with ffmpeg, but requires a custom build of ffmpeg. | libfdk-aac can be used with ffmpeg, but requires a custom build of ffmpeg. ffmpeg provides significant [https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_aac documentation for using libfdk_aac] in the ffmpeg wiki. | ||
CBR mode: | |||
ffmpeg -i <input> -c:a libfdk_aac -b:a 128k <output> | |||
VBR mode: | |||
ffmpeg -i <input> -c:a libfdk_aac -vbr 3 <output> | |||
;vbr:Values 1-5. See [[#Bitrate modes|Bitrate mode]]. | |||
=== avconv === | === avconv === | ||
libfdk-aac can be used with avconv, but requires a custom build of avconv. | libfdk-aac can be used with avconv, but requires a custom build of avconv with "--enable-libfdk-aac" passed to configure. | ||
CBR mode: | |||
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output> | |||
VBR mode: | |||
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output> | |||
;afterburner:See ''[[#Afterburner|afterburner]]''. | |||
;global_quality:Values 1-5. See [[#Bitrate modes|Bitrate mode]]. | |||
== Links == | == Links == | ||
* [http://www.hydrogenaud.io/forums/index.php?showtopic=95989 Release information HydrogenAudio forums] | * [http://www.hydrogenaud.io/forums/index.php?showtopic=95989 Release information HydrogenAudio forums] | ||
* [http://sourceforge.net/p/opencore-amr/fdk-aac/ci/master/tree/ fdk-aac source code] | * [http://sourceforge.net/p/opencore-amr/fdk-aac/ci/master/tree/ fdk-aac source code] |
Revision as of 20:32, 24 July 2014
Developer(s) | Fraunhofer IIS |
Release information | |
---|---|
Stable 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.
The latest release is 0.1.3 (2013-11-25) [2].
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. ffmpeg provides significant documentation for using libfdk_aac in the ffmpeg wiki.
CBR mode:
ffmpeg -i <input> -c:a libfdk_aac -b:a 128k <output>
VBR mode:
ffmpeg -i <input> -c:a libfdk_aac -vbr 3 <output>
- vbr
- Values 1-5. See Bitrate mode.
avconv
libfdk-aac can be used with avconv, but requires a custom build of avconv with "--enable-libfdk-aac" passed to configure.
CBR mode:
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>
VBR mode:
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output>
- afterburner
- See afterburner.
- global_quality
- Values 1-5. See Bitrate mode.