web-dev-qa-db-fra.com

Convertir des fichiers audio en mp3 avec ffmpeg

J'ai besoin de convertir des fichiers audio au format mp3 à l'aide de ffmpeg.

Quand j'écris la commande en tant que ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, j'obtiens l'erreur suivante:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
Input #0, mp3, from 'ZHRE.mp3':
  Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
Output #0, mp3, to 'audio.mp3':
    Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0

J'ai aussi lancé cette commande:

 ffmpeg -formats | grep mp3

et obtenu ceci en réponse:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
 DE mp3             MPEG audio layer 3
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra

Je suppose que le codec mp3 n'est pas installé. Est-ce que je suis juste ici? Est-ce que quelqu'un pourrait m'aider ?

81

Ça ne fait rien, 

Je convertis mes fichiers audio en mp2 à l'aide de la commande suivante:

ffmpeg -i input.wav -f mp2 output.mp3

Cette commande fonctionne parfaitement.

Je sais que cela convertit les fichiers au format MP2, mais les tailles de fichier résultantes sont identiques.

16

Une liste très complète des arguments de ffmpeg peut être trouvée ici:

http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs

Pour que vous puissiez utiliser cette commande:

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3

Explication des arguments utilisés dans cet exemple:

  • -i - fichier d'entrée

  • -vn - Désactive la vidéo pour s'assurer qu'aucune vidéo n'est incluse si la source est un fichier vidéo.

  • -ar - Définissez la fréquence d'échantillonnage audio. Pour les flux de sortie, il est défini par défaut sur la fréquence du flux d’entrée correspondant. Pour les flux d'entrée, cette option n'a de sens que pour les périphériques de capture audio et les démultiplexeurs bruts et est mappée sur les options de démultiplexage correspondantes.

  • -ac - Définissez le nombre de canaux audio. Pour les flux de sortie, le nombre de canaux audio en entrée est défini par défaut. Pour les flux d'entrée, cette option n'a de sens que pour les périphériques de capture audio et les démultiplexeurs bruts et est mappée sur les options de démultiplexage correspondantes. Donc utilisé ici pour s'assurer qu'il est stéréo (2 canaux)

  • -ab - semble en fait avoir été modifié, il devrait donc être remplacé par -b:a 192k.__ pour la version plus récente de ffmpeg par le format __ Convertit le débit binaire en 192kbit par seconde

  • -f - Forcer le format de fichier d'entrée ou de sortie. Le format est normalement détecté automatiquement pour les fichiers d'entrée et déduit de l'extension de fichier pour les fichiers de sortie. Cette option n'est donc pas nécessaire dans la plupart des cas.

126
Frank

1) wav en mp3

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

2) ogg en mp3

ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3

3) ac3 en mp3

ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3

4) aac au mp3

ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

Obtenez tous les formats de conversion ffmpeg ici .

32
Ijas Ahamed N

J'ai dû purger mon ffmpeg puis en installer un autre à partir d'un ppa:

Sudo apt-get purge ffmpeg
Sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg 
Sudo apt-get update 
Sudo apt-get install ffmpeg

Puis convertissez: 

 ffmpeg -i audio.ogg -f mp3 newfile.mp3
9
Komu

Pour le traitement par lots avec des fichiers dans un dossier visant 190 VBR et une extension de fichier = .mp3 au lieu de .ac3.mp3, vous pouvez utiliser le code suivant

Remplacez .ac3 par le format audio source.

paramètres mp3 ffmpeg

for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done
9
planb

Pour les fichiers de traitement par lots dans le dossier:

for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done

Ce script convertit tous les fichiers "wav" du dossier en fichiers mp3 et ajoute une extension mp3

ffmpeg doivent être installés. (Voir autres réponses)

8
MKK

https://trac.ffmpeg.org/wiki/Encode/MP3

Codage VBR:

ffmpeg -vn -ar 44100 -ac 2 -q:a 1 -codec:a libmp3lame output.mp3
2
Guillaume M.

Haute qualité pour Mac OS fonctionne parfaitement!

ffmpeg -i input.wma -q:a 0 output.mp3

1
Iván

Essayez FFmpeg Static Build Lien

Documentation: https://www.johnvansickle.com/ffmpeg/

Hébergez la version statique sur votre serveur dans le même répertoire 

$ffmpeg = dirname(__FILE__).'/ffmpeg';

$command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3';

Shell_exec($command);
0
Code Book

Si vous voulez convertir un dossier et un sous-dossier contenant les fichiers wav, mettez la commande ci-dessous dans un fichier, enregistrez-le dans un fichier .bat à la racine du dossier où vous souhaitez convertir, puis exécutez le fichier bat.

for /R %%g in (*.wav) do start /b /wait "" "C:\ffmpeg-4.0.1-win64-static\bin\ffmpeg" -threads 16 -i "%%g" -acodec libmp3lame "%%~dpng.mp3" && del "%%g"
0
Dinesh Rajan