为什么要将视频文件中的音频文件提取出来?比如有同学想要利用电影学英语,但又不是时时处在可以看视频的场景中,他就想通过听电影来提高听力。这个时候他的需求就是把自己下载的视频文件的音频快速提取出来。
关于能够提取音频文件的工具很大,这里我不一一列举了。我提供一个免费的、跨平台的解决方案。一个命令行工具Ffmpeg.
提到命令行工具,可能大家会觉得会不会很难啊?我一个电脑的小白用户是不是搞不定啊?其实大可不必有这种担心,下面我将尽量翔实的用图文来展示如何提取音频和编辑的工程。核心的命令其实只有一条,
ffmpeg -i input.avi -b:a 128k output.mp3
看是不是很简单,相信聪明的你能够一眼看出这句命令的意思. -i 就是指定后面的文件为视频的源文件(input.avi); -b:a 128k 是指输出的音频的码率(如果你嫌文件大可以设置为64k,据我的经验,对于英语听力完全无影响);最后就是输出的文件名(output.mp3)
好,下面我们马上来演示一下如何将我下载的的电影《死亡诗社》中的音频提取出来。
1. 下载命令行工具(如果你已经安装过,请忽视此条)
打开网站 https://ffmpeg.org,点击屏幕中大大的绿色Download按钮,然后在下面选择对应的平台。这里我选择OS X Packages ->Static builds for OS X Intel 64-bit ,然后在下载的界面,选择第一个下载。
下载的文件是一个7zip的压缩包,你需要解压缩一下。如果你的电脑上没有安装任何的压缩文件,请先去下载一个。我安装的是The Unarchiver,在应用商店即可搜索到,免费应用。
右键点击Open之后,解压缩到同目录下,可以看到一个黑底绿字的可执行文件。
2. 我们把ffmpeg 放到根目录下一个单独的文件夹ffmpeg中。现在打开命令行,cd到ffmpeg目录。输入./ffmpeg -h 试试。这个时候如果出现了下面这一堆文字就对了。
3. 把我们的视频文件(我这里是DeadPoetsSocietyCD1.avi)复制到ffmpeg文件夹,现在重点来了,一句命令。
./ffmpeg -i DeadPoetsSocietyCD1.avi -b:a 128k DeadPoetsSociety.mp3
现在你可以起身去喝杯咖啡了。等到抽取音频结束以后,你可以看到700多M的视频文件被压缩为56M的音频文件。
大功告成
One more thing
1. 如何只截取指定时间段的音频?
这个非常方便,在上面的命令里加入两个参数-ss 开始时间,-to 结束时间, 变成下面这个样子
./ffmpeg -i DeadPoetsSocietyCD1.avi -ss 00:00:00.000 -to 00:02:00.000 -b:a 128k output.mp3
这样就截取好了。注意时间的格式一定是00:00:00.123 这种格式的,没有的以0填充。
2. 可以对mp2文件进行截取吗?
当然可以,上面的命令稍微修改一下
./ffmpeg -i DeadPoetsSocietyCD1.mp3 -ss 00:00:00.000 -to 00:02:00.000 -b:a 128k output02.mp3
3. 可以直接对视频进行剪辑吗,输出的文件还是视频文件?
当然可以,上面的命令稍微修改一下
./ffmpeg -i DeadPoetsSocietyCD1.avi -ss 00:00:00.000 -to 00:02:00.000 -b:a 128k output.avi