Conversión de audio a AAC usando ffmpeg

10

Tengo la siguiente configuración 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

Estoy tratando de usar ffmpeg para convertir mis archivos m4a o mp3 a

AAC, Low Complexity Profile (LC)

Realmente luchando por encontrar una línea de comando que funcione para mí, ¿es posible incluso con mi configuración de ffmpeg?

Gracias

usuario1503606
fuente
posible duplicado de ffmpeg: 1 imagen + 1 archivo de audio = 1 video
usuario1503606

Respuestas:

10

AAC-LC es el valor predeterminado para todos los codificadores AAC admitidos por ffmpeg.

Ejemplo:

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

Consulte FFmpeg Wiki: Guía de codificación AAC para obtener más detalles y ejemplos.

lema
fuente
Genial, no sabía sobre el codificador Fraunhofer. Supongo que la prueba se realizó a velocidades de bits súper bajas que nunca usaré, ¡pero buena información!
Louis Waweru
2

Para volver a codificar cualquier formato en AAC-LC en un contenedor ADTS (archivo .aac) utilizando el codificador AAC nativo de FFmpegs (segundo mejor después de libfdk_aac de Fraunhofer no libre de acuerdo con https://trac.ffmpeg.org/wiki/Encode/AAC - no admite ningún HE-AAC), también debe especificar -strict experimental(o -strict -2):

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

Al convertir a .aac desde una fuente en m4a / mp4, ni siquiera necesita volver a codificar:

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

Nota : FFmpeg intenta adivinar el formato de salida del nombre del archivo de salida. Si necesita forzar el formato para ADTS (archivo .aac), use -f adts(por ejemplo, cuando trabaje con secuencias canalizadas en lugar de archivos):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac
Bigue Nique
fuente
1
No necesitas a -strict experimentalmenos que estés usando un viejo ffmpeg.
llogan
@ LordNeckbeard ¡Gracias por la actualización! Eso significaría que el codificador nativo ha alcanzado un nivel satisfactorio de madurez ...
Bigue Nique
2
Sí, pero hay más trabajo planeado para ello. También vea ¡ El codificador nativo de FFmpeg AAC ahora es estable!
lema