如何使用FFmpeg将MP4视频转换为MP3音频?


120

我需要使用ffmpeg从MP4视频中提取MP3音轨。我可以为.flv-> mp3做到这一点,但是我不知道mp4-> mp3的命令行参数。例如,flv-> mp3:

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

mp4-> mp3应该使用什么参数?


2
如果您真的不需要MP3,则不会转换音频:MP4-> MP3是有损的转换,您将失去额外的源信息。
Thom Wiggers,2013年

不再是ubuntu 14.04的ffmpeg
路易斯

@ThomWiggers是否一定有损?我不知道mp4的编码方式,但是只要您可以分离视频和音频,就不必如此
坦率的

该问题的原始版本不清楚音频的编码方式,但在编辑中已更改。重塑不一定是有损的。
汤姆威格斯

Answers:


150

基本命令是:

ffmpeg -i filename.mp4 filename.mp3

要么

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

检查以下URL:使用ffmpeg将MP4视频转换为MP3文件(Ubuntu 9.10 Karmic Koala)

注意: Ubuntu不提供FFmpeg,但是提供了名为Libav的分支。语法是相同的–仅用于avconv代替ffmpeg上面的示例。


3
谢谢!这种质量是最好的,还是我可以做得更好?


不再是ubuntu 14.04的ffmpeg
路易斯

2
@Louis您仍然可以从ffmpeg.org/download.html
slhck 2014年

1
@Louis-与14.10相同,但显然会在15.04中返回:askubuntu.com/questions/432542/…–
Wilf

52

编码MP3的更好方法是使用-q:a可变比特率。

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

q选项只能与libmp3lame一起使用,并且与LAME -V选项相对应。看到:


@slhck ...这是一个好点,但是我刚刚对视频文件进行了测试,而忽略了-vn只是复制音频流。我想的ffmpeg必须检测差异某种方式(我只是检查与ffprobe文件和视频为流1,而不是通常的0,并且有一些元数据:comment : Cover (front)
evilsoup

最后,这个人还玩了Android音乐播放器。谢谢
michalzuber

1
并使用上述命令转换整个目录(包括带空格的文件名):* .mp4中的i;做ffmpeg -i“ $ i” -q:a 0-映射一个“ $(basename” $ {i / .mp4}“)。mp3”; 完成
kingSlayer

结果.mp3与ffmpeg -i vid.mp4 audio.mp3@Naga Harish M的答案中的vanilla命令有何不同?损失更少?
坦率的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.