Làm cách nào tôi có thể chuyển đổi video MP4 sang âm thanh MP3 bằng FFmpeg?


120

Tôi cần trích xuất một đoạn âm thanh MP3 từ video MP4 bằng ffmpeg. Tôi có thể làm điều này cho .flv -> mp3, nhưng tôi không biết các tham số dòng lệnh cho mp4-> mp3. Ví dụ: flv -> mp3:

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

Tôi nên sử dụng thông số nào cho mp4 -> mp3?


2
Nếu bạn không thực sự cần MP3, tôi sẽ không chuyển đổi âm thanh: MP4-> MP3 là một chuyển đổi mất mát, bạn sẽ mất thêm thông tin nguồn.
Thom Wiggers

không còn ffmpeg cho ubfox 14.04
Louis

@ThomWiggers có nhất thiết phải mất không? Tôi không biết mp4 được mã hóa như thế nào, nhưng miễn là bạn có thể tách video và âm thanh, thì không cần phải
thẳng thắn

Phiên bản gốc của câu hỏi này không rõ âm thanh được mã hóa như thế nào - đã thay đổi trong các chỉnh sửa. Remuxing không phải mất mát.
Thom Wiggers

Câu trả lời:


150

Lệnh cơ bản là:

ffmpeg -i filename.mp4 filename.mp3

hoặc là

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

Kiểm tra URL này: Tập tin video MP4 sang MP3 bằng ffmpeg (Ubuntu 9.10 Karmic Koala)

Lưu ý: Ubuntu không cung cấp FFmpeg, nhưng ngã ba có tên Libav . Cú pháp là như nhau - chỉ sử dụng avconvthay vì ffmpegcho các ví dụ trên.


3
Cảm ơn bạn! Chất lượng này là tốt nhất, hoặc tôi có thể làm tốt hơn?


không còn ffmpeg cho ubfox 14.04
Louis

2
@Louis Bạn vẫn có thể tải xuống từ ffmpeg.org/doad.html
slhck

1
@Louis - tương tự cho ngày 14.10, nhưng dường như nó sẽ quay trở lại vào ngày 15.04: askubfox.com/questions/432542/ợi
Wilf

52

Cách tốt hơn để mã hóa MP3 là sử dụng -q:acho tốc độ bit thay đổi.

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

Các qlựa chọn duy nhất có thể được sử dụng với libmp3lame và tương ứng với LAME -Vtùy chọn. Xem:


@slhck ... đó là một điểm tốt, nhưng tôi vừa thử nghiệm trên một tệp video và bỏ qua -vnchỉ sao chép luồng âm thanh. Tôi cho rằng ffmpeg phải có một số cách để phát hiện sự khác biệt (tôi vừa kiểm tra một tệp với ffprobe và video là luồng 1 thay vì 0 thông thường và có một số siêu dữ liệu comment : Cover (front):)
evilsoup 17/213

Cái này cuối cùng cũng chơi được máy nghe nhạc Android. Cảm ơn
michalzuber

1
Và để chuyển đổi toàn bộ thư mục (bao gồm tên tệp có dấu cách) bằng lệnh trên: for i in * .mp4; làm ffmpeg -i "$ i" -q: a 0 -map a "$ (tên cơ sở" $ {i / .mp4} "). mp3"; làm xong;
kingSlayer

Kết quả .mp3 khác với lệnh vanilla ffmpeg -i vid.mp4 audio.mp3trong câu trả lời của @Naga Harish M như thế nào? Ít mất mát?
thẳng thắn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.