提取视频中的音频 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的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python批量修改文本文件内容的方法
Apr 29 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
python 随机森林算法及其优化详解
Jul 11 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 Python
python3 os进行嵌套操作的实例讲解
Nov 19 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
做个自己站内搜索引擎
2006/10/09 PHP
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
php抽象类用法实例分析
2015/07/07 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
python实现处理mysql结果输出方式
2020/04/09 Python
python如何操作mysql
2020/08/17 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
python 实现端口扫描工具
2020/12/18 Python
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
学院书画协会部门岗位职责
2013/12/01 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
家长对孩子的评语
2014/04/18 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
太行山上观后感
2015/06/05 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang