提取视频中的音频 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 Web开发模板引擎优缺点总结
May 06 Python
用Python遍历C盘dll文件的方法
May 06 Python
python 字典(dict)按键和值排序
Jun 28 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python 中如何获取列表的索引
Jul 02 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
opencv设置采集视频分辨率方式
Dec 10 Python
tensorflow的计算图总结
Jan 12 Python
Python如何实现定时器功能
May 28 Python
在pyCharm中下载第三方库的方法
Apr 18 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/12/05 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
php实现学生管理系统
2020/03/21 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
python获取糗百图片代码实例
2013/12/18 Python
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
Python列表生成器的循环技巧分享
2015/03/06 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
python分析作业提交情况
2017/11/22 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
生日寿宴答谢词
2014/01/19 职场文书
安全标兵事迹材料
2014/08/17 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
导游词之镜泊湖
2019/12/09 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
openstack云计算keystone组件工作介绍
2022/04/20 Servers