Konvertieren von Audio in AAC mit ffmpeg


10

Ich habe das folgende Setup für ffmpeg

ffmpeg version N-54790-g1816f55-syslint Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 17 2013 21:34:32 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
  configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
  libavutil      52. 40.100 / 52. 40.100
  libavcodec     55. 18.102 / 55. 18.102
  libavformat    55. 12.102 / 55. 12.102
  libavdevice    55.  3.100 / 55.  3.100
  libavfilter     3. 81.101 /  3. 81.101
  libswscale      2.  4.100 /  2.  4.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100

Ich versuche, meine m4a- oder mp3-Dateien mit ffmpeg zu konvertieren

AAC, Low Complexity Profile (LC)

Haben Sie wirklich Probleme, eine Befehlszeile zu finden, die für mich funktioniert? Ist das mit meinem ffmpeg-Setup überhaupt möglich?

Vielen Dank


Antworten:


10

AAC-LC ist die Standardeinstellung für alle von unterstützten AAC-Encoder ffmpeg.

Beispiel:

ffmpeg -i input -codec:a aac output.m4a

Weitere Informationen und Beispiele finden Sie im FFmpeg-Wiki: AAC-Codierungshandbuch .


Cool, ich wusste nichts über den Fraunhofer-Encoder. Ich vermute, der Test wurde mit extrem niedrigen Bitraten durchgeführt, die ich nie verwenden werde, aber gute Infos!
Louis Waweru

2

Um ein beliebiges Format in AAC-LC in einem ADTS-Container (.aac-Datei) mit dem nativen AAC-Encoder von FFmpegs neu zu codieren (zweitbester nach libfdk_aac von Fraunhofer gemäß https://trac.ffmpeg.org/wiki/Encode/AAC) - unterstützt jedoch kein HE-AAC), müssen Sie auch angeben -strict experimental(oder -strict -2):

ffmpeg -i input.mp3 -strict experimental -c:a aac -b:a 128k output.aac

Wenn Sie von einer Quelle in m4a / mp4 nach .aac konvertieren, müssen Sie nicht einmal neu codieren:

ffmpeg -i input.m4a -c:a copy output.aac

Hinweis : FFmpeg versucht, das Ausgabeformat anhand des Ausgabedateinamens zu erraten. Wenn Sie das Format für ADTS (.aac-Datei) erzwingen müssen, verwenden Sie -f adts(z. B. beim Arbeiten mit Piped-Streams anstelle von Dateien):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac

1
Sie brauchen nicht, es -strict experimentalsei denn, Sie verwenden eine alte ffmpeg.
llogan

@ LordNeckbeard Danke für das Update! Das würde bedeuten, dass der native Encoder einen zufriedenstellenden Reifegrad erreicht hat ...
Bigue Nique

2
Ja, aber es sind weitere Arbeiten dafür geplant. Siehe auch Der native FFmpeg AAC-Encoder ist jetzt stabil!
Llogan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.