FFmpeg ile MP4 videoyu MP3 sesine nasıl dönüştürebilirim?


120

Bir MP3 ses parçasını ffmpeg içeren bir MP4 videodan çıkarmam gerekiyor. Bunu .flv -> mp3 için yapabilirim, ancak mp4-> mp3 için komut satırı parametrelerini bilmiyorum. Örneğin, flv -> mp3:

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

Mp4 -> mp3 için hangi parametreleri kullanmalıyım?


2
Gerçekten bir MP3'e ihtiyacınız yoksa sesi dönüştürmezdim: MP4-> MP3 kayıplı bir dönüşümdür, ek kaynak bilgisini kaybedersiniz.
Thom Wiggers,

ubuntu için daha fazla ffmpeg yok 14.04
Louis

@ Tomwiggers mutlaka kayıp mı? Mp4'lerin nasıl kodlandığını bilmiyorum, ama video ve sesi ayırabildiğiniz sürece, olması gerekmiyor
frank

Bu sorunun orjinal versiyonu sesin nasıl kodlandığına dair net değildi - düzenlemelerde değişti. Remuxing'in kayıplı olması gerekmiyor.
Thom Wiggers

Yanıtlar:


150

Temel komut:

ffmpeg -i filename.mp4 filename.mp3

veya

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

Bu URL'yi kontrol edin: ffmpeg Kullanarak MP3 Dosyasına MP4 Video (Ubuntu 9.10 Karmic Koala)

Not: Ubuntu, FFmpeg sağlamaz, ancak Libav adlı çatalı sağlar . Sözdizimi aynıdır - sadece kullanmak avconvyerine ffmpegyukarıdaki örnekler için.


3
Teşekkür ederim! Bu kalite en iyisidir, yoksa daha iyisini yapabilir miyim?


ubuntu için daha fazla ffmpeg yok 14.04
Louis


1
@Louis - 14.10 için aynı, ancak görünüşe göre 15.04'te
Wilf

52

MP3'ü kodlamanın en iyi yolu -q:adeğişken bit hızı için kullanmaktır .

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

Bu qseçenek yalnızca libmp3lame ile kullanılabilir ve LAME -Vseçeneğine karşılık gelir . Görmek:


@slhck ... bu iyi bir nokta, ancak sadece bir video dosyasını test ettim ve dışarıda bırakmak -vnsadece ses akışını kopyalar. Ben ffmpeg farkı tespit etmenin bir yolunu olmalıdır varsayalım (Sadece ffprobe bir dosyayı kontrol ve video oldukça olağan 0'dan akışı 1 idi ve bazı meta vardı: comment : Cover (front))
evilsoup

Bu nihayet aynı zamanda Android Müzik çalar oynadı. Teşekkürler
michalzuber 10:15

1
Ve tüm dizini (boşluklu dosya isimleri dahil) yukarıdaki komutla dönüştürmek için: i in * .mp4; ffmpeg -i "$ i" -q: a 0 -map "$ (basename" $ ​​{i / .mp4} "). mp3"; yapılan;
kingSlayer, 29:16

Sonuç ffmpeg -i vid.mp4 audio.mp3olarak .mp3'ün @Naga Harish M'nin cevabındaki vanilya komutundan farkı nedir? Daha az kayıplı mı?
Frank
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.