Python3 ffmpeg视频转换工具使用方法解析
作者:Yi_warmth 发布时间:2021-07-28 15:00:30
标签:Python,ffmpeg,视频,转换,工具
windows版本下需要先安装ffmpeg工具:
1:先下载指定(https://ffmpeg.zeranoe.com/builds/) 有Static,Shared,Dev三个版本,
可以下载了static版本(是个zip压缩包),解压到指定目录,去配置环境变量,比如d:\ffmpeg\bin,这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下:
2:安装ffmpeg的python扩展,该扩展可以让你直接在python脚本中直接调用,而不需要单独运行命令: pip install ffmpeg-python
3:需要注意一点的是,有的情况调用该库会报错('ffmpeg' 不是内部或外部命令,也不是可运行的程序 或批处理文件。),这时需要将python安装目录下Lib文件夹的subprocess.py文件中大概656行中的shell参数改为True
4:假如提示ffmpeg为外部命令错误时,将ffmpeg的路径带上:
代码如下:
def getImage(video_path):
base_path = os.path.join(os.path.join(os.getcwd(), "mp4"), video_path)
img_count = 1
crop_time = 0.0
try:
while crop_time <= 22.0: #转化22s的视频
os.system('D:\\ffmpeg-20191210-e73688e-win64-static\\bin\\ffmpeg -i %s -y -f image2 -ss %s %s.jpg'% (base_path, str(crop_time), str(img_count)))
img_count += 1
crop_time += 0.01 #每0.01秒截取一张照片
print('视频转化完成!!!')
except Exception as e:
print(e)
def save():
dir_s = os.path.join(os.getcwd(), "image")
if os.path.exists(dir_s):
shutil.rmtree(dir_s)
os.mkdir(dir_s)
for root, dirs, tmps in os.walk(os.getcwd()):
for file in tmps:
if file.endswith("jpg") and os.path.exists(os.path.join(dir_s, file)) is False:
shutil.move(file, dir_s)
video_path = "of2.mp4"
getImage(video_path)
save()
来源:https://www.cnblogs.com/zhouzetian/p/12028805.html
0
投稿
猜你喜欢
- using System; using System.Data; using System.Configuration; using Sys
- 代码如下:<html> <head> &nb
- 前言ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、f
- settings文件中配置:LOGGING = { 'version':1, 'disabl
- 由于不同的项目需要用不同的python版本,于是使用Anaconda来进行版本管理,现记录一下经验:在官网下载并安装好Anaconda以后(
- 服务端:#!/usr/bin/envimport SocketServerclass myMonitorHandler(SocketServ
- 如何使用GPU而不是CPU首先查看设备from tensorflow.python.client import device_libprin
- 现在做的一个小项目需要用到python的相关知识,但是因为太久没用一些东西都忘掉了,因此在本篇博客中记录一下python的函数和类的基础知识
- 前言Python中,.whl文件是使用wheel格式存储的一种Python安装包,同时也是一个标准的内置包格式。可以将其看作Python库的
- 多个if语句是每次单独判断比如:例子一a = 5if a < 6: #条件1 &
- 首先,来说一下对话框: 对话框在Windows应用程序中使用非常普遍,许多应用程序的设定,与用户交互需要通过对话框来进行,因此对话框是Win
- 一. 分析需求1. 需求说明在项目开发过程中,我们有时会频繁的更新代码, 流程大概为:(1) 本地git push提交代码至git托管平台(
- 应用场景:1、授权(Authorization)装饰器能有助于检查某个人是否被授权去使用一个web应用的端点(endpoint)。它们被大量
- Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地
- 片头语:因为工作需要,在CentOS上搭建环境MySQL+Python+MySQLdb,个人比较习惯使用Windows系统的操作习惯,对纯字
- 大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没
- 前文昨天家里来人,老姐的小孩儿抢着跟我玩电脑,result........很久很久之后!!那你想错了,我可不是欺负小孩子的那种人。老实人本人
- 表结构的修改1、表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错比如第一次建模型,漏了
- W3C终于发布了第一个HTML5草案,大家还沉溺在HTML2XHTML转换的快乐和痛苦中时,却又突然发现,HTML5和XHTML2,到底谁是
- 杭州最美的季节里,淘宝无障碍访问改善小组有幸邀请到盲人在线站长——争渡读屏团队成员——杨永全同学和我们一起面对面交流网站无障碍访问方面的问题