使用Python从视频中提取音频

我用3行python代码就能向你展示如何做到这一点

1_H3R30rbj78cupwS8_iAiHg

图片由 Christina MorilloPexels中提供

本帖中,我会告诉你怎样从视频录制文件中提取音频然后把它应用在各个项目里,这会在你的python编程技能集中又添加一项牛*的技能。给个提示:在上一篇文章中,我已经展示了如何使用Google语音识别从这些音频文件中提取语音。

目录:

  • 入门
  • 步骤1:导入MoviePy
  • 步骤2:定义视频剪辑
  • 步骤3:提取音频
  • 结论

使用Python从视频中提取音频

入门

完成整个项目用不了五分钟,所以它并不难。在开始编程之前,我得提供这个项目中需要用到MoviePy库的有关信息。好了,现在可以开始了!

如标题所见,我们需要一段录制好的视频,也可以是录制自己说话的一小段视频,然后通过MoviePy库将音频从视频中提取出来。准备好了的话就可以建库了呢!

在python中安装一个模块库很简单,甚至可以在一行代码上建好几个库。然后在你的终端窗口写以下行:

pip install ffmpeg moviepy

Ffmpeg 是多媒体框架中的扛把子,它可解码、编码、转码、复用、解复用、流、过滤和播放人类和机器创建的几乎所有内容。(可参考:http : //ffmpeg.org/about.html

MoviePy是 能读取写入所有音视频格式的库,其中就包括GIF。防止在安装 moviepy library时出现问题,你得确保正确安装ffmpeg库。

现在,可以着手编程了。你可以使用文本编辑器或Jupyter Notebook。我们得先导入库。

第一步——导入 MoviePy

import moviepy.editor as mp

好了,所有准备已就绪,一点时间都没浪费,那就开始下一步吧。

第二步——定义视频剪辑

希望你已经准备好了要剪辑的视频。把文件复制到项目文件夹中会使定义视频文件变得更容易。MoviePy中有一个叫VideoFileClip的方法,它会帮我们完成所有工作:
my_clip = mp.VideoFileClip(r"videotest.mov")

1_o75wzFIB8SAwG2bdGWNZtg

在这个方法中,我们添加了视频的路径。r代表已读。

我的录制文件为mov格式,下一步我将分享更多有关该格式的信息。这对我们导出音频文件很有帮助。

第三步——提取音频

最后一步,我们将从定义好的视频提取音频。在进入最后一行之前,我们要了解一下格式。视频格式很多。其中一些可以列出为:

  • WMV(WMV,WMA,ASF *)
  • OGG(ogg,oga,ogv,ogx)
  • 3GP(3gp,3gp2、3g2、3gpp,3gpp2)
  • MP4(mp4,m4a,m4v,f4v,f4a,m4b,m4r,f4b,mov)

我们要十分了解我们要转换的视频的格式。除了视频格式,了解某些音频格式也不失为一种好习惯。以下是其中的一部分:

  • MP3
  • AAC
  • WMA
  • AC3(杜比数字)

现在,我们对两种格式都有了认识。该到用MoviePy库进行转换的时候了。我将其音频转换为普遍的MP3格式。具体情况还得根据你的格式,并随时在此行中做相应更改。作为语音识别的示例,wav格式效果更好。这是我们项目的最后一行:

my_clip.audio.write_audiofile(r"my_result.mp3")

1_PjY1VPKT4Vv_DRbHVOyxzA

结论

完美!!你已经建好一个不用任何软件就能提取视频中音频的项目了。不仅如此,我们还对视频和音频格式有了了解。如前所述,你可以在不同类型的项目中使用这些音频文件。语音识别是入门的好方法。

希望你能喜欢阅读这篇文章并能自己动手去做。我会非常开心你今天get到了新知识。从事这样的动手编程项目是提高您的编码技能最好的方法。

作者 Behic Guven

原文链接 https://towardsdatascience.com/extracting-audio-from-video-using-python-58856a940fd

推荐阅读
作者信息
AgoraTechnicalTeam
TA 暂未填写个人简介
文章
154
相关专栏
本专栏仅用于分享音视频相关的技术文章,与其他开发者和 Agora 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。