Konwersja audio do AAC za pomocą ffmpeg

10

Mam następującą konfigurację dla 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

Próbuję użyć ffmpeg do konwersji plików m4a lub mp3 na

AAC, Low Complexity Profile (LC)

Naprawdę nie mogę znaleźć wiersza polecenia, który działa dla mnie, czy jest to w ogóle możliwe w mojej konfiguracji ffmpeg?

Dzięki

użytkownik1503606
źródło
możliwy duplikat ffmpeg: 1 obraz + 1 plik audio = 1 wideo
użytkownik1503606

Odpowiedzi:

10

AAC-LC jest ustawieniem domyślnym dla wszystkich koderów AAC obsługiwanych przez ffmpeg.

Przykład:

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

Zobacz FFmpeg Wiki: Podręcznik kodowania AAC, aby uzyskać więcej szczegółów i przykładów.

Llogan
źródło
Fajnie, nie wiedziałem o koderze Fraunhofer. Zgaduję, że test został przeprowadzony przy bardzo niskich przepływnościach, których nigdy nie użyję, ale dobre informacje!
Louis Waweru,
2

Aby ponownie zakodować dowolny format do AAC-LC w kontenerze ADTS (plik .aac) przy użyciu natywnego kodera AAC FFmpegs (drugi najlepszy po niewolnym libfdk_aac Fraunhofera według https://trac.ffmpeg.org/wiki/Encode/AAC - nie obsługuje żadnego HE-AAC), musisz także określić -strict experimental(lub -strict -2):

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

Konwertując na .aac ze źródła w m4a / mp4, nie musisz nawet ponownie kodować:

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

Uwaga : FFmpeg próbuje odgadnąć format wyjściowy na podstawie nazwy pliku wyjściowego. Jeśli chcesz wymusić format dla ADTS (plik .aac), użyj -f adts(np. Podczas pracy ze strumieniami strumieniowymi zamiast plików):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac
Bigue Nique
źródło
1
Nie potrzebujesz, -strict experimentalchyba że używasz starego ffmpeg.
llogan
@LordNeckbeard Dzięki za aktualizację! Oznaczałoby to, że natywny koder osiągnął zadowalający poziom dojrzałości ...
Bigue Nique
2
Tak, ale planuje się więcej pracy. Zobacz także Natywny koder AAC FFmpeg jest teraz stabilny!
llogan