IPB

Welcome Guest ( Log In | Register )

Open Source Fraunhofer AAC Encoder (fdk-aac)
D404
post Jul 11 2012, 17:02
Post #1





Group: Members
Posts: 7
Joined: 30-July 08
Member No.: 56482



Android 4.1 has included an AAC encoding library by Fraunhofer, and Libav/FFmpeg support for this library is in the works (that is, in a day or two, it will be official.)

From the release announcement:
QUOTE
As part of the Android Jelly Bean source code released recently, a new AAC
library was released as well, developed by Fraunhofer:
https://android.googlesource.com/platform/external/aac

To ease using this library on platforms other than Android, I have added
an autotools based build system and done a minor portability fix, and
released this code as fdk-aac 0.1.0 today.

This project is hosted at sourceforge, under the opencore-amr project,
acting as an umbrella project for these codecs that are repackaged from
Android as standalone libraries, just as opencore-amr, vo-amrwbenc and
vo-aacenc before this one.

The release file is available at
http://sourceforge.net/projects/opencore-amr/files/fdk-aac/
and the code is available in git at
git://opencore-amr.git.sourceforge.net/gitroot/opencore-amr/fdk-aac.

This library is licensed under a custom copyleft style license:
http://opencore-amr.git.sourceforge.net/gi...a=blob;f=NOTICE

I in general intend to limit this project to minor tweaks and portability
fixes - for anything larger than that, I'd prefer if it first is
contributed upstream, to keep the difference between the upstream code and
this library as small as possible.


Edit: Obvious patent violation removed.

It can be used as such:

Bitrate Mode
CODE
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>


VBR Mode
CODE
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output>


VBR modes 1-5 correspond to roughly:
  1. about 32 kbps/channel
  2. about 40 kbps/channel
  3. about 48-56 kbps/channel
  4. about 64 kbps/channel
  5. about 80-96 kbps/channel

-afterburner 1 enabkes "improved quality" mode.

Cheers.

Edit: This should be moved to the Tech forum.

This post has been edited by Garf: Jul 11 2012, 19:30
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Takla
post Mar 20 2013, 00:49
Post #2





Group: Members
Posts: 169
Joined: 14-November 09
Member No.: 74931



QUOTE (D404 @ Jul 11 2012, 16:02) *
It can be used as such:

Bitrate Mode
CODE
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>


VBR Mode
CODE
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output>


VBR modes 1-5 correspond to roughly:
  1. about 32 kbps/channel
  2. about 40 kbps/channel
  3. about 48-56 kbps/channel
  4. about 64 kbps/channel
  5. about 80-96 kbps/channel

-afterburner 1 enabkes "improved quality" mode.


There is no need to enable afterburner in ffmpeg or in fdkaac as it is enabled by default. To switch it off use -afterburner 0 (ffmpeg) or -a 0 (fdkaac), though it's hard to think of a circumstance where switching it off makes sense but if you can then you can.

The LC VBR modes don't really correspond with the above values. Perhaps they did then, but they don't now (unless libav does something radically different than ffmpeg or vanilla libfdk/fdkaac). One big difference between the modes is the lowpass filter: vbr 1 and 2 use the same value of about 13 KHz; vbr 3 is at slightly over 15 KHz; vbr 4 is at about 15.75 KHz and vbr 5 appears not to use any lowpass filter at all.

vbr 1 and 2 are usually so similar as to be interchangeable, or possibly for one mode to be redundant. I tend to get stereo files encoded to between 110 and 128 kbps, though sometimes over 140.
vbr 3 gives me stereo files a little larger, maybe from 135 to over 160 k, occasionally over 180 (that was solo piano, an old analogue recording with obvious hiss).
vbr 4 might produce stereo files from 155k and even up to over 220 k.
vbr 5 bitrates can be very large, over 350 k, though 280 - 320 seems normal.

Those ranges of values are for two channels and from encoding numerous two channel audio extracted from pressed CD, some orchestral music, some rock/pop, some solo piano, some speech. Peaks can be very high in any mode. In broad terms the per-channel values D404 estimated can realistically be multiplied x1.5 with the current version. In terms of bitrates and lowpass I get the same values whether using ffmpeg or fdkaac (the only difference being that ffmpeg output doesn't play gaplessly).

It seems odd to have two (relatively) lower bitrate vbr modes, 1 and 2, which use the same low lowpass filter and produce extremely similar results. Modes 3 and 4 are well differentiated in terms of lowpass and usually bitrate, while the difference between modes 4 and 5 can be massive, though the likelihood of any human hearing a difference must be very small indeed. It seems to me that anyone interested in LC -vbr 1 setting would do better to look at the HE CBR mode, while -VBR 5 might only be useful for killer samples.

This post has been edited by Takla: Mar 20 2013, 00:50
Go to the top of the page
+Quote Post

Posts in this topic
- D404   Open Source Fraunhofer AAC Encoder (fdk-aac)   Jul 11 2012, 17:02
- - Garf   Heh, interesting. It was pointed out that the prev...   Jul 11 2012, 19:02
- - IgorC   I wonder if it's the same or similar encoder a...   Jul 11 2012, 19:14
|- - Brand   QUOTE (IgorC @ Jul 11 2012, 20:14) I wond...   Jul 11 2012, 20:31
- - LithosZA   QUOTE I wonder if it's the same or similar enc...   Jul 11 2012, 19:21
|- - Garf   QUOTE (LithosZA @ Jul 11 2012, 20:21) QUO...   Jul 11 2012, 19:23
- - IgorC   Can anyone run this encoder in high quality mode (...   Jul 11 2012, 19:23
- - IgorC   Winamp FhG encoder: VBR 4 130 kbps stereo. This n...   Jul 11 2012, 20:37
- - punkrockdude   Interesting! I look forward to try it.   Jul 11 2012, 20:49
- - Brand   QUOTE (IgorC @ Jul 11 2012, 21:37) Winamp...   Jul 11 2012, 20:52
- - 06_taro   libfdk-aac also has an aac decoder, which can deco...   Jul 11 2012, 22:33
|- - saratoga   QUOTE (06_taro @ Jul 11 2012, 17:33) libf...   Jul 12 2012, 00:04
- - IgorC   as well as ELD/LD-AAC encoder.   Jul 11 2012, 22:38
- - hlloyge   Is this available on windows?   Jul 12 2012, 09:37
|- - D404   QUOTE (hlloyge @ Jul 12 2012, 04:37) Is t...   Jul 12 2012, 16:01
|- - Garf   QUOTE (D404 @ Jul 12 2012, 17:01) even th...   Jul 12 2012, 16:40
|- - benski   QUOTE (D404 @ Jul 12 2012, 11:01) QUOTE (...   Jul 12 2012, 20:31
|- - saratoga   QUOTE (benski @ Jul 12 2012, 15:31) I am ...   Jul 12 2012, 21:01
- - 2012   It looks like low pass decisions are broken in CBR...   Jul 12 2012, 17:45
|- - D404   QUOTE (2012 @ Jul 12 2012, 12:45) It look...   Jul 12 2012, 20:22
- - Garf   The extra statements in the license are there beca...   Jul 12 2012, 21:48
- - hlloyge   How do I fit it into foobar2000 for encoding?   Jul 13 2012, 17:29
|- - Canar   QUOTE (hlloyge @ Jul 13 2012, 09:29) How ...   Jul 13 2012, 18:42
- - skamp   I'd settle for instructions on how to compile ...   Jul 13 2012, 19:55
|- - Garf   QUOTE (skamp @ Jul 13 2012, 20:55) I...   Jul 13 2012, 20:15
|- - skamp   QUOTE (skamp @ Jul 13 2012, 20:55) I...   Jul 13 2012, 21:33
|- - 2012   QUOTE (skamp @ Jul 13 2012, 22:33) QUOTE ...   Jul 13 2012, 21:50
- - lvqcl   I downloaded avconv and latest Winamp and encoded ...   Jul 13 2012, 20:38
|- - D404   QUOTE (lvqcl @ Jul 13 2012, 15:38) I down...   Jul 13 2012, 21:27
|- - 2012   QUOTE (lvqcl @ Jul 13 2012, 21:38) I down...   Jul 13 2012, 21:46
- - lvqcl   Ok then. Winamp encoder: 37; 64; 103; 142; 215; 26...   Jul 13 2012, 21:59
- - IgorC   lvqcl, Can You post some frequency graphs of both...   Jul 13 2012, 22:09
- - lvqcl   It turns that avconv adds 2048 null samples to the...   Jul 13 2012, 22:47
|- - kode54   QUOTE (lvqcl @ Jul 13 2012, 14:47) It tur...   Jul 14 2012, 01:58
- - lvqcl   Spectrograms for VBR modes in avconv: 37 kbps, HE...   Jul 13 2012, 22:48
- - Brazil2   QUOTE (D404 @ Jul 11 2012, 18:02) VBR Mod...   Jul 14 2012, 10:29
- - IgorC   lvqcl Thank You. So it's not extacly the sam...   Jul 15 2012, 17:39
- - jossilint   Hello, do anyone knows where to get ffmpeg.exe x64...   Aug 2 2012, 12:26
- - smok3   playing around, testing with new ffmpeg (from git)...   Aug 7 2012, 00:32
- - qbast   It is also quite buggy: I found 4 different places...   Aug 8 2012, 13:52
|- - D404   QUOTE (qbast @ Aug 8 2012, 08:52) It is a...   Aug 8 2012, 16:56
|- - qbast   QUOTE (D404 @ Aug 8 2012, 17:56) QUOTE (q...   Aug 9 2012, 17:01
|- - D404   QUOTE (qbast @ Aug 9 2012, 12:01) I uploa...   Aug 10 2012, 21:09
|- - qbast   QUOTE (D404 @ Aug 10 2012, 22:09) QUOTE (...   Aug 13 2012, 19:11
- - smok3   is there a "compile this git for dummies...   Aug 13 2012, 11:21
|- - 2012   QUOTE (smok3 @ Aug 13 2012, 11:21) neverm...   Aug 13 2012, 13:31
- - pps83   Hello HA, I'm a pro developer and I've wo...   Aug 26 2012, 20:21
|- - db1989   QUOTE (pps83 @ Aug 26 2012, 20:21) Overal...   Aug 26 2012, 20:46
|- - pps83   QUOTE (db1989 @ Aug 26 2012, 20:46) QUOTE...   Aug 27 2012, 00:18
|- - Garf   QUOTE (pps83 @ Aug 27 2012, 01:18) The th...   Aug 27 2012, 12:39
- - m45t3r   QUOTE (db1989 @ Aug 26 2012, 16:46) QUOTE...   Aug 26 2012, 23:48
|- - Garf   QUOTE (m45t3r @ Aug 27 2012, 00:48) This ...   Aug 27 2012, 12:43
- - pps83   QUOTE (m45t3r @ Aug 26 2012, 23:48) This ...   Aug 27 2012, 00:27
- - Garf   QUOTE Overall, all pv or vo codecs that google bou...   Aug 27 2012, 12:49
|- - westgroveg   QUOTE (Garf @ Aug 28 2012, 00:49) QUOTE M...   Aug 27 2012, 13:15
|- - Garf   QUOTE (westgroveg @ Aug 27 2012, 14:15) T...   Aug 30 2012, 07:14
- - ShotCaller   Can anyone provide a link to instructions for comp...   Aug 28 2012, 06:21
|- - Brazil2   QUOTE (ShotCaller @ Aug 28 2012, 07:21) C...   Aug 28 2012, 11:05
- - Tiger Uppercut   QUOTE (ShotCaller @ Aug 27 2012, 20:21) C...   Aug 30 2012, 02:12
- - darkbyte   I've spent a hour trying to compile this with ...   Aug 31 2012, 12:16
- - gottogo99   So, this encoder is in the new ffmpeg 1.0. Anyone...   Oct 9 2012, 00:57
- - jossilint   I would like to know too is there someone tested f...   Dec 15 2012, 21:35
|- - eahm   QUOTE (jossilint @ Dec 15 2012, 13:35) I ...   Dec 15 2012, 23:08
|- - IgorC   QUOTE (jossilint @ Dec 15 2012, 17:35) .....   Dec 15 2012, 23:30
|- - eahm   QUOTE (IgorC @ Dec 15 2012, 15:30) QUOTE ...   Dec 15 2012, 23:38
- - kode54   Too bad ffmpeg hasn't sorted gapless encoding ...   Dec 16 2012, 08:42
- - jossilint   What about quality of FDK compared to closed? is i...   Dec 16 2012, 15:08
|- - Garf   QUOTE (jossilint @ Dec 16 2012, 15:08) Wh...   Dec 17 2012, 12:15
- - nu774   Out of curiosity, I tested this codec with various...   Dec 21 2012, 07:15
- - sluggy   https://github.com/nu774/fdkaac Has anyone tried ...   Jan 5 2013, 23:18
|- - bat_guano   QUOTE (sluggy @ Jan 5 2013, 23:18) Has an...   Jan 7 2013, 04:58
|- - Takla   QUOTE (sluggy @ Jan 5 2013, 22:18) https:...   Mar 19 2013, 00:48
- - eahm   Thanks nu774, the compiler runs perfectly. Now I h...   Mar 1 2013, 04:21
|- - nu774   fdkaac requires -o before %d (same as qaac).   Mar 1 2013, 05:40
- - eahm   Of course ... Thanks.   Mar 1 2013, 06:12
- - hellosky   Does anyone knows how to build the fdk acc as a sh...   Mar 1 2013, 11:16
- - sluggy   https://sites.google.com/site/qaacpage/news...scri...   Mar 1 2013, 12:05
- - kode54   @nu774: Very nice! Now, if anyone finds any sa...   Mar 1 2013, 16:19
- - LithosZA   Are there any freely available decoders than can d...   Mar 2 2013, 11:45
|- - bat_guano   QUOTE (LithosZA @ Mar 2 2013, 12:45) Are ...   Mar 3 2013, 15:05
||- - nu774   I don't feel like writing decoder frontend onl...   Mar 3 2013, 15:47
|- - bat_guano   QUOTE (LithosZA @ Mar 2 2013, 11:45) Are ...   Oct 20 2013, 01:28
- - db1989   Split: Copyright vs. patents, source code vs. comp...   Mar 2 2013, 17:51
- - kareha   Just wondering if there's any need to use this...   Mar 2 2013, 20:58
- - [JAZ]   @kareha: That rather depends if you consider ...   Mar 3 2013, 11:36
- - LithosZA   QUOTE Do you really need it? Nope I just wanted t...   Mar 3 2013, 16:08
|- - nu774   QUOTE (LithosZA @ Mar 4 2013, 00:08) QUOT...   Mar 3 2013, 16:21
- - kode54   I ran these samples by Case, with various encoding...   Mar 15 2013, 00:51
|- - nu774   QUOTE (kode54 @ Mar 15 2013, 08:51) I ran...   Mar 15 2013, 02:44
- - Takla   QUOTE (D404 @ Jul 11 2012, 16:02) It can ...   Mar 20 2013, 00:49
- - sluggy   Yes i thought the vbr modes were a bit strange too...   Mar 22 2013, 14:41
|- - Takla   QUOTE (sluggy @ Mar 22 2013, 13:41) ... w...   Mar 22 2013, 19:43
|- - sluggy   QUOTE (Takla @ Mar 22 2013, 18:43) QUOTE ...   Mar 22 2013, 19:49
|- - Takla   Thanks for that. It's right there in front of...   Mar 22 2013, 20:09
- - eahm   nu774, your news page has the changelog for fdkaac...   Sep 7 2013, 02:59
|- - nu774   QUOTE (eahm @ Sep 7 2013, 10:59) nu774, y...   Sep 7 2013, 03:33
- - eahm   fdkaac_autobuild.zip from https://sites.google.com...   Oct 19 2013, 22:02
- - IgorC   Does ffmpeg support decoding of low delay SBR? ht...   Oct 25 2013, 00:30
- - eahm   I can't get the .exe with fdkaac_autobuild.zip...   Oct 30 2013, 23:32
- - sluggy   QUOTE (eahm @ Oct 30 2013, 22:32) I can...   Oct 30 2013, 23:39
2 Pages V   1 2 >


Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st November 2014 - 03:50