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

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


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

评论

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

不再为ubuntu 14.04提供ffmpeg

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

这个问题的原始版本尚不清楚音频的编码方式-在编辑时已更改。重塑不一定是有损耗的。

#1 楼

基本命令是:

ffmpeg -i filename.mp4 filename.mp3




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


检查此URL:使用MP4视频到MP3文件ffmpeg(Ubuntu 9.10 Karmic Koala)

注意:Ubuntu不提供FFmpeg,而是提供名为Libav的叉子。语法是相同的–对于上述示例,请使用avconv而不是ffmpeg

评论


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

–user916350
2011年9月6日下午5:32

尝试使用320kbs en.wikipedia.org/wiki/MP3#Bit_rate

–娜迦·哈里斯·莫瓦
2011年9月6日下午5:36

@Louis您仍然可以从ffmpeg.org/download.html下载它

–slhck
2014年11月22日7:39

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

–野生
15年4月4日在11:53

ffmpeg -i $ fileNameWithExtension $ fileNameOnly“ .mp3”对我有用

– JinSnow
19年5月23日在15:43

#2 楼

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

ffmpeg -i in.mp4 -q:a 0 -map a out.mp3


q选项只能与libmp3lame一起使用,并且对应于LAME
-V选项。请参阅对VBR(可变比特率)mp3音频进行编码:

https://trac.ffmpeg.org/wiki/Encode/MP3

评论


@slhck ...这是一个好点,但是我刚刚在视频文件上进行了测试,而省略了-vn只是复制音频流。我想ffmpeg必须具有某种检测差异的方法(我刚刚用ffprobe检查了一个文件,并且视频是流1而不是通常的0,并且具有一些元数据:comment:Cover(前面))

– evilsoup
13年2月17日在21:31



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

– michalzuber
2015年11月10日在7:24

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

–kingSlayer
16-11-29在19:27



结果.mp3与@Naga Harish M的答案中的香草命令ffmpeg -i vid.mp4 audio.mp3有何不同?损失更少?

–内森(Nathan)
19年6月17日14:48



#3 楼

我使用以下命令从youtube mp4视频中获取了它:

ffmpeg -i video.mp4 -vn audio.mp3


评论


-vn选项显式删除视频,因此转换要快得多。

–约瑟夫·库夫纳(Josef Kufner)
20 Sep 24 '23:08