2008-09-17 12 views
3

Ich brauche einen Encoder, der MP3-Dateien in he-aac (aka aac +) konvertieren kann. Bis jetzt ist das beste, das ich gefunden habe, nero aac encoder. Ich habe zwei Probleme damit: - Nur ein Eingabeformat: wav. Es ist ein bisschen langsam, MP3-Dateien in WAV und dann in HE-AAC zu verwandeln. - eine kostenlose Lizenz für nicht kommerziellen verwenden.Beste He-AAC-Encoder unter Linux?

Schade ffmpeg unterstützt he-aac ... Es gibt eine kommerzielle Lösung, on2 flix, aber es scheint ein goldener Hammer für die einfache Aufgabe zu sein, die ich tun muss.

Antwort

6

Nero AAC ist meines Wissens der einzige. Selbst wenn FAAC HE-AAC unterstützt, wäre es nutzlos, da es als Encoder ziemlich furchtbar gestaltet ist und seine Qualität nicht einmal mit LAME konkurrieren kann, geschweige denn mit einem guten AAC-Encoder.

Kostya im FFMPEG-Team arbeitet gerade an einem AAC-Encoder, aber es hat noch einen langen Weg vor sich - es ist nicht Primetime mit LC-AAC, geschweige denn HE-AAC (noch nicht einmal dem Repository verpflichtet)). Der erste Schritt vor allem wird darin bestehen, den ffmpeg-Decoder dazu zu bringen, HE-AAC zu unterstützen; Derzeit kann es nur über FAAD dekodiert werden.

Ich glaube nicht, dass es irgendwelche HE-AAC-Encoder auf jeder Plattform mit einer freizügigeren Lizenz als Nero zu diesem Zeitpunkt gibt.

+0

Vielen Dank für Ihre Antwort :) –

2

Ich habe jetzt neroAacEnc für eine ganze Weile, und ich bin weitgehend zufrieden mit den Ergebnissen. Wenn Sie unter Linux sind, machen Sie eine Datei aus einem .MP3 oder was auch immer, ist alles, was Sie brauchen, ist ein kleines Wrapper-Skript, das sich um die Entschlüsselung in .WAV kümmert und nach der Kodierung entfernt die .WAV Datei.

Hinweis: Die Konvertierung von einer verlustbehafteten Codierung in eine andere reduziert die Qualität weiter. Wenn Sie also mit .MP3 leben können und keine verlustfreien Quellen haben, bleiben Sie besser bei ihnen.

Hier ist ein kleines Skript, das .FLAC-.AAC umwandelt, es nimmt nur .FLAC Dateien als Argumente:

#!/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 

Dieses Skript ist sequentiell, aber es kann leicht in einem multithreaded Skript gemacht werden.