2010-07-15 9 views
51

J'ai besoin de convertir des fichiers audio en mp3 en utilisant ffmpeg.Convertir des fichiers audio en mp3 en utilisant ffmpeg

Quand j'écris la commande comme ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, je reçois l'erreur:

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 couru cette commande:

ffmpeg -formats | grep mp3 

et a obtenu ce 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é. Suis-je ici? Est-ce que quelqu'un pourrait m'aider ?

Répondre

13

Peu importe,

Je suis en train de convertir mes fichiers audio MP2 en utilisant la commande:

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

Cette commande fonctionne parfaitement.

Je sais que cela convertit les fichiers au format MP2, mais la taille des fichiers résultants sont les mêmes ..

+1

Génère un fichier wave – LtWorf

+3

Cette ne pas re sult dans un fichier mp3 – m13r

83

Vous trouverez une liste très complète des arguments ffmpeg ici:

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

vous pouvez 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 - vidéo Désactiver, pour vous assurer aucune vidéo est inclus si la source serait un fichier vidéo

  • -ar - Réglez 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 aux options de démultiplexage correspondantes.

  • -ac - Définissez le nombre de canaux audio. Pour les flux de sortie, il est défini par défaut sur le nombre de canaux audio d'entrée. 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 aux options de démultiplexage correspondantes. Donc, utilisé ici pour vous assurer qu'il est stéréo (2 canaux)

  • -ab - semble effectivement être changé, devrait donc être remplacé par une version plus récente de ffmpeg pour -b:a 192k convertit le débit audio pour être 192kbit exacte 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 deviné à partir de l'extension de fichier pour les fichiers de sortie, donc cette option n'est pas nécessaire dans la plupart des cas.

+0

cet article est à partir de 2008, quelque chose de plus mis à jour? – nkint

+3

@nikt: 'man ffmpeg' le plus à jour! – mohamnag

+3

[Notez la différence pour les arguments de débit ffmpeg] (https://trac.ffmpeg.org/wiki/Encode/MP3). '-qscale: a' est pour VBR et' -b: a' pour CBR. L'encodage ABR est possible mais détaillé dans un endroit différent. – fredsbend

8

j'ai dû purger mon ffmpeg puis 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 

convertir ensuite:

ffmpeg -i audio.ogg -f mp3 newfile.mp3 
+3

c'est le chemin court, mais si vous voulez spécifier la qualité kb par seconde, utilisez -ab 192k – wrivas

17

1) wav en mp3

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

2) ogg to mp3

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

3) ac3 mp3

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

4) aac mp3

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

Obtenez tous les formats de conversion ffmpeg here.

+0

Comment spécifiez-vous le bitrate mp3? – Suragch

+2

Ajoutez '-b: a 128k' pour 128 kbps. – Mulvya

3

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" dans le dossier des fichiers mp3 et ajoute l'extension mp3

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

+1

Avec '-f mp2' MP2 est généré, pas MP3. Changez pour '-f mp3' – Mulvya

+0

@Mulvya merci. Mise à jour –

+0

La commande ci-dessus crée des fichiers nommés 'wav.mp3'. Pour obtenir des fichiers avec l'extension de fichier correcte, changez la commande en: 'for in * .wav; ffmpeg -i "$ i" -f mp3 "$ {i%. *}. mp3"; done', c'est-à-dire ajouter '. *' après 'i%'. –

4

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

Modifier .ac3 à tout ce que la source audio le format est.

ffmpeg mp3 settings

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

Essayez FFmpeg statique Créer Link

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

hôte l'accumulation d'électricité 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

Ceci ne fournit pas de réponse à la question.Une fois que vous avez suffisamment [réputation] (https://stackoverflow.com/help/whats-reputation) vous pourrez [commenter n'importe quel article] (https://stackoverflow.com/help/privileges/comment); Au lieu de cela, [fournissez des réponses qui ne nécessitent pas de précisions de la part du demandeur] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- je-fais-à la place). - [De l'examen] (/ review/low-quality-posts/18634916) – thewaywewere

Questions connexes