提取视频中的音频 Python只需要三行代码!


Posted in Python onMay 10, 2021

身处数据爆炸增长的信息时代,各种各样的数据都飞速增长,视频数据也不例外。我们可以使用 python 来提取视频中的音频,而这仅仅需要安装一个体量很小的 python 库,然后执行三行代码!

语音数据在数据分析领域极为重要。比如可以分析语义、口音、根据人的情绪等等。可以应用于偏好分析、谎话检测等等。

一、提取音频

需要用到 python 的 moviepy 库

moviepy的 github 地址:https://github.com/Zulko/moviepy

命令行 pip 安装上 moviepy 即可!

pip install moviepy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

提取视频中的音频 Python只需要三行代码!

提取音频:假设有一个 mp4 文件路径为"D:\python\pycharm2020\my_program\video_process\test_01.mp4",我们想提取其中的音频保存到"D:\python\pycharm2020\my_program\video_process\vst01.mp3",三行 Python 代码实现如下:

import moviepy.editor as mpy


# 截取背景音乐
audio_background = mpy.AudioFileClip(r'D:\python\pycharm2020\my_program\video_process\test_01.mp4').subclip(1, 60)
audio_background.write_audiofile(r'D:\python\pycharm2020\my_program\video_process\vst01.mp3')

结果如下:

提取视频中的音频 Python只需要三行代码!

执行上面的三行代码,就会发现音频文件已经成功提取到指定文件夹啦~ ~这里的视频格式和音频格式都支持其他格式,比如读取 mp4 格式视频,抽取其中的背景音乐保存为 MP3 格式音频。

二、引力波绘制

提取视频中的音频 Python只需要三行代码!

数据来源:

从配置文档中读取时间相关数据

import numpy as np  # 科学计算所用的numpy库
import matplotlib.pyplot as plt  # 绘图所用的库matplotlib
from scipy.io import wavfile  # 读取波形文件所用的库


rate_h, hstrain = wavfile.read(r"H1_Strain.wav", "rb")   # 读取音频文件
rate_l, lstrain = wavfile.read(r"L1_Strain.wav", "rb")
# reftime, ref_H1 = np.genfromtxt('GW150914_4_NR_waveform_template.txt').transpose()
reftime, ref_H1 = np.genfromtxt('wf_template.txt').transpose()  # 使用python123.io下载txt文件

构造应变数据

htime_interval = 1 / rate_h
ltime_interval = 1 / rate_l
fig = plt.figure(figsize=(12, 6))  # 创建大小为12*6的绘图空间

# 丢失信号起始点
htime_len = hstrain.shape[0] / rate_h  # 读取数据第一维的长度,得到函数在坐标轴上总长度
htime = np.arange(-htime_len / 2, htime_len / 2, htime_interval)  # (起点,终点,时间间隔)

使用来自 “H1” 探测器的数据作图

plth = fig.add_subplot(221)  # 设置绘图区域
plth.plot(htime, hstrain, 'r')  # 画出以时间为x轴,应变数据为y轴的图像,‘y'为黄色
plth.set_xlabel('Time (seconds)')
plth.set_ylabel('H1 Strain')
plth.set_title('H1 Strain')

绘制 L1 Strain 和Template

ltime_len = lstrain.shape[0] / rate_l
ltime = np.arange(-ltime_len / 2, ltime_len / 2, ltime_interval)
pltl = fig.add_subplot(222)
pltl.plot(ltime, lstrain, 'k')
pltl.set_xlabel('Time (seconds)')
pltl.set_ylabel('L1 Strain')
pltl.set_title('L1 Strain')

pltref = fig.add_subplot(212)
pltref.plot(reftime, ref_H1, 'purple')
pltref.set_xlabel('Time (seconds)')
pltref.set_ylabel('Template Strain')
pltref.set_title('Template')
fig.tight_layout()  # 自动调整图像外部边缘

保存并显示图像

plt.savefig("Gravitational_Waves_Original.png")  # 保存图像为png格式
plt.show()
plt.close(fig)

结果如下:

提取视频中的音频 Python只需要三行代码!

提取视频中的音频 Python只需要三行代码!

以上就是提取视频中的音频 Python只需要三行代码!的详细内容,更多关于python 提取视频中的音频的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python多线程编程简单介绍
Apr 13 Python
python去掉行尾的换行符方法
Jan 04 Python
详解python之简单主机批量管理工具
Jan 27 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
python中的插入排序的简单用法
Jan 19 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python小程序之飘落的银杏
Apr 17 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
Python面试不修改数组找出重复的数字
May 20 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 #Python
超详细Python解释器新手安装教程
Python机器学习三大件之一numpy
python实现自动清理文件夹旧文件
May 10 #Python
Python中的min及返回最小值索引的操作
May 10 #Python
发工资啦!教你用Python实现邮箱自动群发工资条
在Django中使用MQTT的方法
May 10 #Python
You might like
php+javascript的日历控件
2009/11/19 PHP
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
JavaScript模块详解
2017/12/18 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python中while和for的区别总结
2019/06/28 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
Python post请求实现代码实例
2020/02/28 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
C#面试题问题集
2016/04/02 面试题
实习护士自我鉴定
2013/10/13 职场文书
财务会计毕业生自荐信
2013/11/02 职场文书
商务英语毕业生自荐信范文
2013/11/08 职场文书
给同事的道歉信
2014/01/11 职场文书
高校十八大报告感想
2014/01/27 职场文书
成绩单公证书
2014/04/10 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
工程移交协议书
2016/03/24 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python