提取视频中的音频

阅读 2.3k
标签: 随笔

有时为了听歌方便,需要将视频中的音频提取出来,本篇介绍提取视频中的音频的两种方式。

ffmpeg

一种方式是使用ffmpeg工具,为了将其中的视频无损地提取出来,首先,需要查看该视频流中的音频信息:

ffmpeg -i 时间都去哪儿了.mp4

会出现视频流的相关信息:

Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)

其中的视频流格式为aac,采样频率为48kHz,立体声,317kb/s的码率,知道了这些基本数据后,就可以使用相关参数来提取了:

ffmpeg -i 时间都去哪儿了.mp4 -vn -f mp3 -ab 317k date.mp3

注意,其中的几个参数:

  •  -vn: 导出时会舍弃视频部分
  • -ab: 设置音频比特率,比如317k,注意,不要忽略k
  • -ac: 设置音频通道数
  • -ar: 设置音频采样频率
  • -f: 设置格式
因为我们不需要视频,所以需要加上-vn参数,同时,因为默认的码率会限制为128kb/s,但是因为原视频是317kb/s,如果不设置码率,会丢失精度,所以,还需要加上-ab 317k这个参数,才能无损地将上面视频中的音频提取出来。音频通道数和音频采样频率,默认会使用原视频中音频流的数据,所以,可以不用设置。

第三方工具

如果有人会认为,使用ffmpeg这种命令行对他说是一个巨大的挑战,那么,也可以使用图像化工具,这里以MacOS为例,可以使用系统自带的QuickTime Player,打开视频文件后,在工具栏选择,File - Export As - Audio only,导出到指定文件夹即可。但这种方式有个缺陷,因为该播放器有些视频格式是无法播放的,因为缺少相应的视频解码器,比如hevc中的hev1就无法播放。
除此之外,你可以选择安装专门的第三方工具来达到同样的要求。

小结

作为程序员,还是很喜欢用命令行工具来是进行一些操作的,但不管怎样,适合自己的,才是最好的,你喜欢哪种方式呢?
最后编辑于: 2022-06-25

评论(0条)

(必填)
复制成功