Conversione audio in AAC utilizzando ffmpeg


10

Ho la seguente configurazione per 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

Sto provando a usare ffmpeg per convertire i miei file m4a o mp3 in

AAC, Low Complexity Profile (LC)

Faticando davvero a trovare una riga di comando che funzioni per me, è anche possibile con la mia configurazione di ffmpeg?

Grazie


Risposte:


10

AAC-LC è l'impostazione predefinita per tutti gli encoder AAC supportati da ffmpeg.

Esempio:

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

Vedi FFmpeg Wiki: Guida alla codifica AAC per maggiori dettagli ed esempi.


Bene, non sapevo dell'encoder Fraunhofer. Immagino che i test siano stati fatti a bitrate bassissimi che non userò mai, ma buone informazioni!
Louis Waweru,

2

Per ricodificare qualsiasi formato in AAC-LC in un contenitore ADTS (file .aac) usando il codificatore AAC nativo di FFmpegs (il secondo migliore dopo libfdk_aac di Fraunhofer non libero secondo https://trac.ffmpeg.org/wiki/Encode/AAC - non supporta alcun HE-AAC però), è necessario anche specificare -strict experimental(o -strict -2):

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

Quando si converte in .aac da una fonte in m4a / mp4, non è nemmeno necessario ricodificare:

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

Nota : FFmpeg tenta di indovinare il formato di output dal nome del file di output. Se è necessario forzare il formato per ADTS (file .aac), utilizzare -f adts(ad es. Quando si lavora con flussi con piping anziché file):

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

1
Non è necessario -strict experimentalse non si utilizza un vecchio ffmpeg.
Llogan

@LordNeckbeard Grazie per l'aggiornamento! Ciò significherebbe che l'encoder nativo ha raggiunto un livello soddisfacente di maturità ...
Bigue Nique

2
Sì, ma è previsto più lavoro per questo. Vedi anche L'encoder AAC nativo FFmpeg è ora stabile!
Llogan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.