Convertendo áudio em AAC usando ffmpeg


10

Eu tenho a seguinte configuração para 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

Estou tentando usar o ffmpeg para converter meus arquivos m4a ou mp3 em

AAC, Low Complexity Profile (LC)

Realmente lutando para encontrar uma linha de comando que funcione para mim, isso é possível com minha configuração do ffmpeg?

obrigado


Respostas:


10

AAC-LC é o padrão para todos os codificadores AAC suportados por ffmpeg.

Exemplo:

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

Consulte FFmpeg Wiki: Guia de codificação AAC para obter mais detalhes e exemplos.


Legal, eu não sabia sobre o codificador Fraunhofer. Acho que o teste foi feito com taxas de bits super baixas que eu nunca usarei, mas boas informações!
Louis Waweru 13/03/2015

2

Para recodificar qualquer formato no AAC-LC em um contêiner ADTS (arquivo .aac) usando o codificador AAC nativo do FFmpegs (o segundo melhor após a libfdk_aac não-livre do Fraunhofer, de acordo com https://trac.ffmpeg.org/wiki/Encode/AAC - no entanto, não suporta HE-AAC), você também precisa especificar -strict experimental(ou -strict -2):

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

Ao converter para .aac a partir de uma fonte em m4a / mp4, você nem precisa recodificar:

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

Nota : O FFmpeg tenta adivinhar o formato de saída a partir do nome do arquivo de saída. Se você precisar forçar o formato para ADTS (arquivo .aac), use -f adts(por exemplo, ao trabalhar com fluxos canalizados em vez de arquivos):

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

11
Você não precisa, a -strict experimentalmenos que esteja usando um modelo antigo ffmpeg.
Llogan 22/03/16

@LordNeckbeard Obrigado pela atualização! Isso significaria o codificador nativa atingiu um nível satisfatório de maturidade ...
bigue Nique

2
Sim, mas há mais trabalho planejado para isso. Veja também O codificador nativo do FFmpeg AAC agora está estável!
Llogan 23/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.