提取视频中的音频 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爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
详解python的ORM中Pony用法
Feb 09 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
keras.utils.to_categorical和one hot格式解析
Jul 02 Python
通过代码实例了解Python3编程技巧
Oct 13 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数据库连接
2006/10/09 PHP
PHP网上调查系统
2006/10/09 PHP
最简单的PHP程序--记数器
2006/10/09 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python Series从0开始索引的方法
2018/11/06 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python几种常用功能实现代码实例
2019/12/25 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
《掌声》教学反思
2014/02/23 职场文书
店长岗位职责
2015/02/11 职场文书
保险内勤岗位职责
2015/04/13 职场文书
诚信教育主题班会
2015/08/13 职场文书
python如何读取.mtx文件
2021/04/22 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang