Bagaimana saya bisa mengkonversi video MP4 ke audio MP3 dengan FFmpeg?


120

Saya perlu mengekstrak trek audio MP3 dari video MP4 dengan ffmpeg. Saya dapat melakukan ini untuk .flv -> mp3, tapi saya tidak tahu parameter baris perintah untuk mp4-> mp3. Misalnya, flv -> mp3:

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

Parameter apa yang harus saya gunakan untuk mp4 -> mp3?


2
Jika Anda tidak benar-benar membutuhkan MP3, saya tidak akan mengonversi audio: MP4-> MP3 adalah transformasi yang hilang, Anda akan kehilangan informasi sumber tambahan.
— Thom Wiggers

tidak ada lagi ffmpeg untuk ubuntu 14.04
— Louis

@ThomWiggers, apakah itu pasti lossy? Saya tidak tahu bagaimana mp4 dikodekan, tetapi selama Anda dapat memisahkan video dan audio, mestinya tidak harus
— frank

Versi asli dari pertanyaan ini tidak jelas bagaimana audio dikodekan - yang berubah dalam pengeditan. Remuxing tidak harus bersifat lossy.
— Thom Wiggers

Jawaban:


150

Perintah dasarnya adalah:

ffmpeg -i filename.mp4 filename.mp3

atau

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

Periksa URL ini: File Video MP4 ke MP3 Menggunakan ffmpeg (Ubuntu 9.10 Karmic Koala)

Catatan: Ubuntu tidak menyediakan FFmpeg, tetapi garpu bernama Libav . Sintaksnya sama - gunakan saja avconvalih-alih ffmpeguntuk contoh di atas.


3
Terima kasih! Kualitas ini yang terbaik, atau saya bisa berbuat lebih baik?


tidak ada lagi ffmpeg untuk ubuntu 14.04
— Louis

2
@ Louis Anda masih dapat mengunduhnya dari ffmpeg.org/download.html
— slhck

1
@ Louis - sama untuk 14.10, tetapi tampaknya kembali pada 15.04: askubuntu.com/questions/432542/…
— Wilf

52

Cara yang lebih baik untuk menyandikan MP3 adalah dengan menggunakan -q:abit rate variabel.

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

The qpilihan hanya dapat digunakan dengan libmp3lame dan sesuai dengan Lame -Vpilihan. Lihat:


@ Slhck ... itu poin yang bagus, tapi saya baru saja menguji pada file video, dan meninggalkan -vnhanya menyalin aliran audio. Saya kira ffmpeg harus memiliki beberapa cara untuk mendeteksi perbedaan (Aku hanya memeriksa file dengan ffprobe, dan video itu aliran 1 daripada biasa 0, dan memiliki beberapa metadata: comment : Cover (front))
— evilsoup

Yang ini akhirnya memainkan juga pemutar Musik Android. Terima kasih
— michalzuber

1
Dan untuk mengkonversi seluruh direktori (termasuk nama file dengan spasi) dengan perintah di atas: for i in * .mp4; do ffmpeg -i "$ i" -q: a 0 -map a "$ (basename" $ ​​{i / .mp4} "). mp3"; Selesai;
— kingSlayer

Apa bedanya .mp3 berbeda dengan perintah vanilla ffmpeg -i vid.mp4 audio.mp3pada jawaban @Naga Harish M? Kurang merugi?
— jujur
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.