Conversion audio en AAC à l'aide de ffmpeg


10

J'ai la configuration suivante pour 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

J'essaie d'utiliser ffmpeg pour convertir mes fichiers m4a ou mp3 en

AAC, Low Complexity Profile (LC)

Vraiment du mal à trouver une ligne de commande qui fonctionne pour moi, est-ce même possible avec ma configuration ffmpeg?

Merci


Réponses:


10

AAC-LC est la valeur par défaut pour tous les encodeurs AAC pris en charge par ffmpeg.

Exemple:

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

Voir FFmpeg Wiki: AAC Encoding Guide pour plus de détails et d'exemples.


Cool, je ne connaissais pas l'encodeur Fraunhofer. Je suppose que le test a été effectué à des débits très bas que je n'utiliserai jamais, mais bonne info!
Louis Waweru

2

Pour recoder n'importe quel format en AAC-LC dans un conteneur ADTS (fichier .aac) en utilisant l'encodeur AAC natif de FFmpegs (deuxième meilleur après libfdk_aac de Fraunhofer non libre selon https://trac.ffmpeg.org/wiki/Encode/AAC - ne prend cependant en charge aucun HE-AAC), vous devez également spécifier -strict experimental(ou -strict -2):

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

Lors de la conversion en .aac à partir d'une source en m4a / mp4, vous n'avez même pas besoin de recoder:

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

Remarque : FFmpeg essaie de deviner le format de sortie à partir du nom du fichier de sortie. Si vous devez forcer le format pour ADTS (fichier .aac), utilisez -f adts(par exemple lorsque vous travaillez avec des flux canalisés au lieu de fichiers):

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

1
Vous n'en avez pas besoin -strict experimentalsauf si vous utilisez un ancien ffmpeg.
llogan

@LordNeckbeard Merci pour la mise à jour! Cela signifierait que l'encodeur natif a atteint un niveau de maturité satisfaisant ...
Bigue Nique

2
Oui, mais il y a plus de travail prévu pour cela. Voir aussi L'encodeur natif FFmpeg AAC est maintenant stable!
llogan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.