Best he-aac encoder on linux?

13.7k Views Asked by At

I need an encoder that can convert mp3 files to he-aac (aka aac+). So far the best one I have found is nero aac encoder . I have two problemes with it : - Only one input format : wav . It is a little bit slow to transform mp3 files to wav and then to he-aac. - a free license for non commercial use.

Too bad ffmpeg does not support he-aac ... There is a commercial solution, on2 flix, but it seems to be a golden hammer for the simple task I need to do.

5

There are 5 best solutions below

0
On BEST ANSWER

Nero AAC is the only one as far as I know. Even if FAAC supported HE-AAC it would be useless, since as an encoder its pretty awfully designed and its quality is not even competitive with LAME, let alone a good AAC encoder.

Kostya on the FFMPEG team is currently working on an AAC encoder but it has a long way to go--its not ready for primetime with LC-AAC, let alone HE-AAC (its not even committed to the repository yet). The first step before anything will be to get the ffmpeg decoder to support HE-AAC; currently it can only be decoded through FAAD.

I don't believe there is any HE-AAC encoder on any platform with a more permissive license than Nero's at this point in time.

1
On

There is an encoder called accplus which is under the GNU license available here.

0
On

I don't have an idea about the quality, but I just found enhAacPlusEnc

0
On

I've been using neroAacEnc for quite a while now, and I'm largely satisfied with the results. If you're on Linux, making an .AAC file out of an .MP3 or whatever else, is quite easy, all you need is a small wrapper script, that takes care of decoding into .WAV and after encoding, removes the .WAV file.

Be advised: Converting from one lossy encoding to another further reduces quality. So when you can live with .MP3 and you don't have lossless sources, you better stick to them.

Here's a small script, that converts from .FLACto .AAC, it accepts only .FLAC files as arguments:

#!/bin/zsh

for file in ${argv[*]}; do
    flac -d ${file}
    neroAacEnc -q 0.6 -if ${file%%.flac}.wav -of ${file%%.flac}.aac
    rm ${file%%.flac}.wav
done

This script is sequential, but it can be easily made into a multithreaded script.

0
On

Another encoder: mp4tools