python 提取视频中的音频工具类详解
作者:剑客阿良_ALiang 发布时间:2023-08-15 06:10:26
标签:python,音频提取,视频音频提取
前言
利用Python的ffmpy库提取视频中的音频。本文提供工具类代码。
环境依赖
需要安装ffmpy,安装指令:
pip install ffmpy -i https://pypi.douban.com/simple
工具代码
不废话,上代码。
#!/user/bin/env python
# coding=utf-8
"""
@project : csdn
@author : huyi
@file : extract_audio_from_audio.py
@ide : PyCharm
@time : 2021-11-12 17:16:56
"""
from ffmpy import FFmpeg
import os
import uuid
def extract(video_path: str, tmp_dir: str, ext: str):
file_name = '.'.join(os.path.basename(video_path).split('.')[0:-1])
print('文件名:{},提取音频'.format(file_name))
if ext == 'mp3':
return _run_ffmpeg(video_path, os.path.join(tmp_dir, '{}.{}'.format(uuid.uuid4(), ext)), 'mp3')
if ext == 'wav':
return _run_ffmpeg(video_path, os.path.join(tmp_dir, '{}.{}'.format(uuid.uuid4(), ext)), 'wav')
def _run_ffmpeg(video_path: str, audio_path: str, format: str):
ff = FFmpeg(inputs={video_path: None},
outputs={audio_path: '-f {} -vn'.format(format)})
print(ff.cmd)
ff.run()
return audio_path
代码说明
1、入参有视频地址、目录存放地址、音频后缀。
2、按照音频后缀可以适配mp3或者wav格式的音频输出。
验证代码
if __name__ == '__main__':
print(extract('C:/Users/huyi/Desktop/test1.mp4', 'C:/Users/huyi/Desktop', 'wav'))
总结
把一些工具类记下,以后方便查阅,对自己说。
来源:https://huyi-aliang.blog.csdn.net/article/details/121293293


猜你喜欢
- 1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linear programming),是研究线性约束条件下
- 解析来自各种来源和格式的时间序列信息pd.to_datetime( arg,#int, float, str, d
- MySQL支持的两种主要表存储格式MyISAM,InnoDB,上个月做个项目时,先使用了InnoDB,结果速度特别慢,1秒钟只能插入10几条
- 前言最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限。可利用的字体类型比较少,需要安装
- 关于英文的写作有一本十分著名的书,The Elements of Style(风格要素),编写程序也有一本The Elements of P
- 有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样:# url
- 1. 卡住是怎么办按照以下步骤, 前提是你需要懂点英文:尽可能自己想办法解决仔细阅读相关文档, 确保不错过任何相关内容在Google, 百度
- 片头Python看了差不多三四天吧,基本上给基础看差不多了。写个管理系统吧,后续不出意外SQL、文件存储版本都会更。学习Python感想:
- 之前,我们在另外一篇文章中使用Prim算法生成了一个完美迷宫,利用的是遍历网格的方法,这一次,我们要教教大家用遍历墙的方法生成,上一篇文章链
- 要查看当前是否已开启事件调度器 SHOW VARIABLES LIKE 'event_scheduler'; 开启事件查看器
- 最近接触到微服务框架go-zero,翻看了整个框架代码,发现结构清晰、代码简洁,所以决定阅读源码学习下,本次阅读的源码位于core/sync
- 引言Lambda 函数(也称为匿名函数)是函数式编程中的核心概念之一。支持多编程范例的 Python 也提供了一种简单的方法来定义 lamb
- 知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的。每次我需要做任何关于web的自动任务时,我都使用这段python
- 一、Go语言下载go语言官方下载地址:https://golang.org/dl/找到适合你系统的版本下载,本人下载的是windows版本。
- 这系列文章将介绍一下Oracle的基础知识,将会使用docker下运行的oracle11g的精简版进行说明。这篇文章介绍一下oracle的版
- eval(String) 函数可计算某个字符串,并执行其中的的 JavaScript 代码。返回值通过计算 string 得到的值(如果有的
- 本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文
- 现象:生产中心进行拷机任务下了300个任务,过了一阵时间后发现任务不再被调度起来,查看后台日志发现日志输出停在某个时间点。分析:1、首先确认
- 一、scapy简介与安装scapy(http://www.secdev.org/projects/scapy/)是一个强大的交互式数据包处理
- 用6N±1法求素数 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2