提取视频中的音频 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 测试实现方法
Dec 24 Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
python中print的不换行即时输出的快速解决方法
Jul 20 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
python实现决策树ID3算法的示例代码
May 30 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
pytorch之inception_v3的实现案例
Jan 06 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 Python
python hmac模块验证客户端的合法性
Nov 07 Python
Python+Appium实现自动抢微信红包
May 21 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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.ini 中文版
2006/10/28 PHP
新浪的图片新闻效果
2007/01/13 Javascript
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python Django模板的使用方法
2016/01/14 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
美国内衣品牌:Leonisa
2016/08/14 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
员工年终演讲稿
2014/01/03 职场文书
入党介绍人评语
2014/05/06 职场文书
管理建议书范文
2014/05/13 职场文书
体育专业自荐书
2014/05/29 职场文书
教师批评与自我批评
2014/10/15 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
硕士学位申请报告
2015/05/15 职场文书
Python中的变量与常量
2021/11/11 Python
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server