Open Source Fraunhofer AAC Encoder (fdk-aac) |
Open Source Fraunhofer AAC Encoder (fdk-aac) |
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:
-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 |
|
|
|
![]() |
Jan 5 2013, 23:18
Post
#2
|
|
|
Group: Members Posts: 32 Joined: 22-June 12 Member No.: 100900 |
|
|
|
|
Mar 19 2013, 00:48
Post
#3
|
|
|
Group: Members Posts: 169 Joined: 14-November 09 Member No.: 74931 |
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. |
|
|
|
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
bat_guano QUOTE (sluggy @ Jan 5 2013, 23:18) Has an... Jan 7 2013, 04:58
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
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![]() ![]() |
|
Lo-Fi Version | Time is now: 20th May 2013 - 09:31 |