Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #87 – 2013-03-18 23:48:42
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 runffprobe -v quiet -print_format json -show_format INFILE >TAGS then encode withfdkaac 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.