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


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.


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.