Wie kann ich zu AAC konvertieren?
Dies ist der grundlegendste FFmpeg-Befehl zum Konvertieren von Eingaben in AAC-Audio mit der höchsten AAC-FFmpeg-Qualität. libfdk_aac
ist der AAC-Encoder von Fraunhofer. Er ist verfügbar, wenn Sie FFmpeg mit entsprechender Unterstützung kompiliert haben.
ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a
Um die Qualität zu ändern, haben Sie zwei Möglichkeiten:
Verwenden Sie für die variable Bitrate (VBR) die -vbr
Option. Zum Beispiel -vbr 4
ist eine gute Wahl (ungefähr 128 kBit / s für Stereo-Audio). Höher heißt besser. Die Werte reichen von 1 bis 5.
ffmpeg -i input.mp3 -c:a libfdk_aac -vbr 4 output.m4a
Verwenden Sie für eine feste Bitrate (CBR) -b:a
beispielsweise die Option -b:a 128k
. 128 kBit / s sollten für die meisten Situationen ausreichen. Oft kann man auch etwas Niedrigeres wählen.
ffmpeg -i input.mp3 -c:a libfdk_aac -b:a 128k output.m4a
Sie können auch HE-AAC (v1 / v2) anstelle des Standardprofils AAC-LC (geringe Komplexität) verwenden, das sich am besten für niedrige Bitraten eignet:
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a
Was ist, wenn ich nicht habe libfdk_aac
?
Einige Versionen von FFmpeg verfügen nicht über libfdk_aac
(aus Lizenzgründen). In diesem Fall können Sie den integrierten AAC-Encoder verwenden:
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
Dieser Encoder unterstützt VBR nicht richtig. Wenn Sie diesen oder HE-AAC benötigen, lesen Sie weiter.
Sie können ffmpeg selbst kompilieren und libfdk_aac
Unterstützung hinzufügen . Es gibt Anleitungen im FFmpeg-Wiki . Unter Linux ist das Kompilieren einfach, unter OS X mäßig und unter Windows eher schwierig. Wenn Sie den Kompilierungsanleitungen folgen und zuvor die entsprechenden Bibliotheken installiert haben, können Sie jetzt FFmpeg verwenden libfdk_aac
.
Es gab einige Probleme mit Ihrem ursprünglichen Ansatz:
alac
ist nicht AAC. ALAC ist der Apple Lossless Audio Codec , während AAC Advanced Audio Coding ist .
Aus diesem Grund ist Ihre Ausgabe größer als die Eingabe, da ALAC im Gegensatz zu MP3 immer noch komprimiert ist, aber verlustfrei sein muss - aus diesem Grund müssen mehr Daten gespeichert werden.
.aac
ist kein Ausgabecontainer für ALAC-Audio. Wenn Sie AAC verwenden, sollte das funktionieren. Ich würde allerdings MP4 oder M4A verwenden.
-c:a
. Hat dies ein Synonym? Ich denke, es könnte bedeuten,-acodec:a
aber am Ende habe ich es einfach fallen gelassen undffmpeg
konnte einen Codec ableiten, der auf dem gewünschten Namen der Ausgabedatei basiert. (Müssen-strict experimental
aber; und warf-map_metadata 0:0
für eine gute Maßnahme, um ID3-Tags zu bewahren.)