Come posso convertire video MP4 in audio MP3 con FFmpeg?


120

Devo estrarre una traccia audio MP3 da un video MP4 con ffmpeg. Posso farlo per .flv -> mp3, ma non conosco i parametri della riga di comando per mp4-> mp3. Ad esempio, flv -> mp3:

ffmpeg -i video.flv -acodec copy audio.mp3

Quali parametri devo usare per mp4 -> mp3?


2
Se non hai davvero bisogno di un MP3, non convertirò l'audio: MP4-> MP3 è una trasformazione con perdita, perderai informazioni extra sulla fonte.
Thom Wiggers l'

non più ffmpeg per ubuntu 14.04
Louis,

@ThomWiggers è necessariamente in perdita? Non so come siano codificati gli mp4, ma fintanto che puoi separare video e audio, non dovrebbe essere così
franco

La versione originale di questa domanda non era chiara su come fosse codificato l'audio, che è stato modificato nelle modifiche. Il remuxing non deve essere in perdita.
Thom Wiggers, il

Risposte:


150

Il comando di base è:

ffmpeg -i filename.mp4 filename.mp3

o

ffmpeg -i video.mp4 -b:a 192K -vn music.mp3

Controlla questo URL: video MP4 in file MP3 usando ffmpeg (Ubuntu 9.10 Karmic Koala)

Nota: Ubuntu non fornisce FFmpeg, ma il fork chiamato Libav . La sintassi è la stessa: basta usare avconvinvece che ffmpegper gli esempi sopra.


3
Grazie! Questa qualità è la migliore o posso fare di meglio?


non più ffmpeg per ubuntu 14.04
Louis,

2
@Louis Puoi ancora scaricarlo da ffmpeg.org/download.html
slhck

1
@ Louis - lo stesso per il 14.10, ma sembra che ritorni nel 15.04: askubuntu.com/questions/432542/…
Wilf

52

Il modo migliore per codificare MP3 è utilizzare -q:aper bit rate variabile.

ffmpeg -i k.mp4 -q:a 0 -map a k.mp3

L' qopzione può essere utilizzata solo con libmp3lame e corrisponde -Vall'opzione LAME . Vedere:


@slhck ... questo è un buon punto, ma ho appena testato un file video, e tralasciando -vnsolo le copie del flusso audio. Suppongo ffmpeg devono avere qualche modo di rilevare la differenza (ho appena controllato un file con ffprobe, e il video è stato flusso 1, piuttosto che il solito 0, e aveva alcuni metadati: comment : Cover (front))
evilsoup

Questo finalmente suonava anche il lettore musicale Android. Grazie
michalzuber il

1
E per convertire l'intera directory (compresi i nomi di file con spazi) con il comando sopra: per i in * .mp4; do ffmpeg -i "$ i" -q: a 0 -map a "$ (basename" $ ​​{i / .mp4} "). mp3"; fatto;
kingSlayer

In che modo il risultante .mp3 è diverso dal comando vanilla ffmpeg -i vid.mp4 audio.mp3nella risposta di @Naga Harish M? Meno in perdita?
franco,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.