提取视频中的音频 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使用xlrd模块操作Excel数据导入的方法
May 26 Python
Python算法之图的遍历
Nov 16 Python
python绘制简单折线图代码示例
Dec 19 Python
python实现自动登录后台管理系统
Oct 18 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
通过实例解析python创建进程常用方法
Jun 19 Python
解决Python安装cryptography报错问题
Sep 03 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
python爬虫selenium模块详解
Mar 30 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 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抽象工厂模式(Elgg)
2010/03/21 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python编程实现正则删除命令功能
2017/08/30 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python占位符输入方式实例
2019/05/27 Python
python中open函数的基本用法示例
2019/09/07 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
亲戚结婚的请假条
2014/02/11 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
我的老师教学反思
2014/05/01 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
武侯祠导游词
2015/02/04 职场文书
民事纠纷协议书
2016/03/23 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android