2010-07-15 28 views
51

Ho bisogno di convertire file audio in mp3 usando ffmpeg.Converti file audio in mp3 usando ffmpeg

quando scrivo il comando come ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, ottengo l'errore:

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 

Ho anche eseguito questo comando:

ffmpeg -formats | grep mp3 

e ottenuto questo in risposta:

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 

Immagino che il codec mp3 non sia installato. Sono qui? Qualcuno può aiutarmi qui?

risposta

13

Non importa,

sto convertendo i file audio in MP2 utilizzando il comando:

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

Questo comando funziona perfettamente.

So che questo in realtà converte i file in formato MP2, ma poi le dimensioni dei file risultanti sono gli stessi ..

+1

Genera un file wave – LtWorf

+3

Questo non ri sult in un file mp3 – m13r

83

Un elenco molto completo di argomenti ffmpeg può essere trovato qui:

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

Così si potrebbe utilizzare questo comando:

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

Spiegazione degli argomenti utilizzati in questo esempio:

  • -i - file di input

  • -vn - il video Disabilita, per assicurarsi che il video non è incluso se la fonte sarebbe un file video

  • -ar - Impostare la frequenza di campionamento audio. Per i flussi di output è impostato di default sulla frequenza del flusso di input corrispondente. Per i flussi di input questa opzione ha senso solo per dispositivi di acquisizione audio e demuxer raw e viene mappata alle opzioni demuxer corrispondenti.

  • -ac - Imposta il numero di canali audio. Per i flussi di uscita è impostato di default sul numero di canali audio in ingresso. Per i flussi di input questa opzione ha senso solo per dispositivi di acquisizione audio e demuxer raw e viene mappata alle opzioni demuxer corrispondenti. Quindi, qui utilizzato per assicurarsi che è stereo (2 canali)

  • -ab - sembra in realtà essere cambiato, così dovrebbe essere sostituito per la versione ffmpeg recente per -b:a 192k Converte il bitrate audio da 192kbit esatto al secondo

  • -f - Forza l'input o il formato del file di output. Il formato viene normalmente rilevato automaticamente per i file di input e indovinato dall'estensione file per i file di output, quindi questa opzione non è necessaria nella maggior parte dei casi.

+0

questo articolo è del 2008, qualcosa di più aggiornato? – nkint

+3

@nikt: 'man ffmpeg' il più aggiornato! – mohamnag

+3

[Questo rileva la differenza per gli argomenti del bitrate ffmpeg] (https://trac.ffmpeg.org/wiki/Encode/MP3). '-qscale: a' è per VBR e' -b: a' è per CBR. La codifica ABR è possibile ma dettagliata in un altro luogo. – fredsbend

8

ho dovuto eliminare il mio ffmpeg e quindi installare un altro da 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 

Poi convertire:

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

questa è la via più breve, ma se si desidera specificare la qualità kb al secondo, utilizzare -ab 192k – wrivas

17

1) WAV a MP3

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

2) ogg to mp3

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

3) ac3 in mp3

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

4) AAC a MP3

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

Prendi tutti i formati di conversione ffmpeg here.

+0

Come si specifica il bitrate mp3? – Suragch

+2

Aggiungi '-b: a 128k' per 128 kbps. – Mulvya

3

Per i file di elaborazione batch nella cartella:

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

Questo script converte tutti i file "WAV" nella cartella di file mp3 e aggiunge l'estensione mp3

ffmpeg devono essere installati. (Vedi altre risposte)

+1

Con '-f mp2' viene generato MP2, non MP3. Cambialo in '-f mp3' – Mulvya

+0

@Mulvya grazie. Aggiornato –

+0

Il comando precedente crea file chiamati "wav.mp3". Per ottenere file con l'estensione corretta, cambiare il comando in: 'for i in * .wav; ffmpeg -i "$ i" -f mp3 "$ {i%. *}. mp3"; fatto', cioè aggiungi '. *' dopo 'i%'. –

4

per l'elaborazione batch con i file nella cartella che mirano per 190 VBR e file di estensione .mp3 = invece di .ac3.mp3 è possibile utilizzare il seguente codice

Change .Ac3 a qualunque sia la sorgente audio il formato è

ffmpeg mp3 settings

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

Prova FFmpeg accumulo di elettricità statica Link

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

Host l'accumulo di elettricità statica sul server nella stessa directory

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

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

shell_exec($command); 
+0

Questo non fornisce una risposta alla domanda.Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/18634916) – thewaywewere

Problemi correlati