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 |
|
|
|
![]() |
Jul 13 2012, 22:47
Post
#2
|
|
![]() Group: Developer Posts: 2980 Joined: 2-December 07 Member No.: 49183 |
It turns that avconv adds 2048 null samples to the beginning of encoded files in LC-AAC mode (even more in HE-AAC).
Spectrograms for VBR modes in Winamp: 37 kbps, HE-AAC v2 -- ![]() 64 kbps, HE-AAC -- ![]() 103 kbps, LC -- ![]() 142 kbps, LC -- ![]() 215 kbps, LC -- ![]() 264 kbps, LC -- ![]() |
|
|
|
Jul 14 2012, 01:58
Post
#3
|
|
![]() Group: Admin Posts: 4218 Joined: 15-December 02 Member No.: 4082 |
It turns that avconv adds 2048 null samples to the beginning of encoded files in LC-AAC mode (even more in HE-AAC). I'm seeing this, too. It would be extremely nice for gaplessness if these null samples would be reported as extra encoder latency in the Apple and Nero chapters, which are used for the track trimming. Actually, it should not be using null samples, but rather, employ a linear predictive coder function to reverse fill from the initial samples of the input data. libvorbis and postfish include one if you don't already have one, or at least demonstrate how to use one for this purpose. I just lifted the one from libvorbis for opusenc in the opus-tools package for track end padding, when the last block of samples is not enough to complete an entire Opus packet. Look at me, I almost sound like I know what I'm doing. Actually, someone in #opus had to tell me that LPC would be better than last-sample-hold padding, and I had to research it a bit. |
|
|
|
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 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
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 - 06:54 |