设为首页 - 加入收藏 固原站长网 (http://www.0954zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: ag官网下载|官方 苹果 中国 美国
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

Python小工具:3秒钟将视频转换为音频

发布时间:2019-10-29 20:45 所属栏目:[优化] 来源:pk 哥
导读:最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了。 这样,对于有些视频学习文件,我们可以批量转换成音频文件,学习方式更多样化了。 之前也用过 ffmpeg 处理视频文件。ffmpeg 这个程序处理视

最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了。

Python小工具:3秒钟将视频转换为音频

这样,对于有些视频学习文件,我们可以批量转换成音频文件,学习方式更多样化了。

之前也用过 ffmpeg 处理视频文件。ffmpeg 这个程序处理视频是好用,但是有没有更轻便的呢?可以不下载这个程序吗?还真有,Python 里有 ffmpeg 相关的库:ffmpy3。

ffmpy3 是 ffmpy 的一个分支,它是一个简单的 FFmpeg 命令行包装程序。ffmpy 实现了一个 Pythonic 接口,用于通过命令行执行 FFmpeg,并使用 Python 的子进程模块进行同步执行。使用 Python 的 asyncio.subprocess 模块也支持异步执行。

安装导入

用 pip 命令快速安装。

  1. pip?install?ffmpy3??

导入刚才安装好的 ffmpy3 库,等下需要读取视频存放的目录和音频存放的目录,所以我们需要导入 os 模块。

  1. import?os?
  2. from?ffmpy3?import?FFmpeg?

创建保存音频的目录

我们需要把转换后的音频文件存放在指定的文件夹里,为了更智能,我们做一个判断,如果不存在这个目录,我们就创建,存在的话就保持不变。

  1. def?mkdir_output(output_dir):?
  2. ????existence?=?os.path.exists(output_dir)?
  3. ????if?not?existence:?
  4. ????????print('创建音频存放目录')?
  5. ????????os.makedirs(output_dir)????#?创建目录?
  6. ????????os.chdir(output_dir)???????#?切换到创建的文件夹?
  7. ????????return?True?
  8. ????else:?
  9. ????????print('目录已存在,即将保存!')?
  10. ????????return?False?

存放路径我们作为参数,等下调用时给出存放路径即可。

文件格式处理

我们把需要转换为音频的视频文件放在一个文件夹下面,用 os 模块把视频的文件名称读取出来,放在列表中。

  1. filepath?=?r"/Users/brucepk/test"???#?待转换视频存放的路径?
  2. os.chdir(filepath)??????????????????#?切换到改路径下?
  3. filename?=?os.listdir(filepath)??#?得到文件夹下的所有文件名称?

然后我们把所有视频文件后缀替换成音频的格式,视频文件格式较多,我把常见的基本都列出来了。

Python小工具:3秒钟将视频转换为音频

把相应目录下所有视频文件转换成 wav 音频文件储存在指定目录下。

音频文件属性

只改文件后缀当然是不行,文件属性没有转变,这样的文件是无法读取的,我们需要用 FFmpeg 方法对转换后的音频文件赋予它音频的属性。

  1. ff?=?FFmpeg(?
  2. ????????????inputs={changefile:?None},?
  3. ????????????outputs={outputfile:?'-vn?-ar?44100?-ac?2?-ab?192?-f?wav'}?
  4. ????????????)?
  5. ????????print(ff.cmd)?
  6. ????????ff.run()?

效果

我在 test 目录下放在两个视频文件,一个是我用手机拍摄的 mp4 格式的视频,为了测试出效果,录了一段语音,另一个视频是 mkv 格式的一部电影。

Python小工具:3秒钟将视频转换为音频

运行代码后,会自动创建一个 output 文件夹,里面就是转换好的音频文件。

Python小工具:3秒钟将视频转换为音频

用支持音频的软件打开,可以清晰听到音频。

运行报错处理

1、当你运行代码时,Windows 系统可能会出现 ffmpeg 无法找到之类的报错,如下图所示。

Python小工具:3秒钟将视频转换为音频

这时,我们需要下载 FFmpeg,访问下面的地址,根据自身电脑版本下载相应安装包。

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章