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
sluggy
post Jan 5 2013, 23:18
Post #2





Group: Members
Posts: 55
Joined: 22-June 12
Member No.: 100900



https://github.com/nu774/fdkaac

Has anyone tried this frontend yet?
Go to the top of the page
+Quote Post
Takla
post Mar 19 2013, 00:48
Post #3





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



QUOTE (sluggy @ Jan 5 2013, 22:18) *
https://github.com/nu774/fdkaac

Has anyone tried this frontend yet?


I compiled it this morning and have been trying it out. It works exactly as described as far as I can tell. A couple of days ago I built libfdk_aac from git in order to build ffmpeg with libfdk_aac support. For music I prefer the fdkaac binary to using ffmpeg with libfdk_aac for several reasons:

ffmpeg with libfdk_aac doesn't produce files which play back gaplessly. fdkaac standalone does produce files which play back with perfect gapless by default. I've tested this with some passages I know well and always notice if there is any defect, and I also checked with the files linked at Small Pop between tracks.. which apparently can cause problems with lame.

fdkaac can write tags using simple, sane syntax and has a very neat feature where it can set tags from ffprobe's json output, so you run

CODE
ffprobe -v quiet -print_format json -show_format INFILE >TAGS


then encode with

CODE
fdkaac ENCODE_OPTIONS --tag-from-json TAGS?format.tags INFILE


This is great in a script and saves having to do text manipulation gymnastics with sed, awk or grep.

I haven't done any abx testing but I have encoded various problem samples such as trumpet, eig_essence and some others. fdkaac is fine with eig_essence at 128k CBR or any LC VBR mode, while ogg, lame and faac all fail very unambiguously at default settings.

I tried the HE modes for some speech files and it works really well. Music with the LC VBR settings seems great, though I will have to do some more listening and some abx tests of stuff I know has made me wince in the past.

This is the first really useable free(dom) software aac encoder I've found. FAAC would be ideal if it didn't sound like ess aich eye tee, so I resorted to using neroAacEnc for movie soundtracks but it is sometimes extremely inconvenient because it's 32-bit only and while it runs on multi-arch 64-bit Debian it has no large file support. For music I've been using Ogg Vorbis -q 7 and for mono speech (converting audio book CDs and similar) I've been using "lame --resample 22.05 -m m --abr 64" (lame is surprisingly good for speech at these settings). I'm starting to think fdkaac/libfdk_aac can probably work at least as well in each distinct role (movie audio tracks, music, speech). It encodes at about the same speed as the other lossy encoders I use and all my players support it.

A big thanks to nu774 for this implementation.
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
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 26th July 2014 - 17:17