Python3 ffmpeg视频转换工具使用方法解析


Posted in Python onAugust 10, 2020

windows版本下需要先安装ffmpeg工具:

1:先下载指定(https://ffmpeg.zeranoe.com/builds/) 有Static,Shared,Dev三个版本,

可以下载了static版本(是个zip压缩包),解压到指定目录,去配置环境变量,比如d:\ffmpeg\bin,这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下:

Python3 ffmpeg视频转换工具使用方法解析

2:安装ffmpeg的python扩展,该扩展可以让你直接在python脚本中直接调用,而不需要单独运行命令: pip install ffmpeg-python

3:需要注意一点的是,有的情况调用该库会报错('ffmpeg' 不是内部或外部命令,也不是可运行的程序 或批处理文件。),这时需要将python安装目录下Lib文件夹的subprocess.py文件中大概656行中的shell参数改为True

Python3 ffmpeg视频转换工具使用方法解析Python3 ffmpeg视频转换工具使用方法解析

4:假如提示ffmpeg为外部命令错误时,将ffmpeg的路径带上:

Python3 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python脚本获取操作系统版本信息
Dec 17 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
Anaconda下安装mysql-python的包实例
Jun 11 Python
Python Excel处理库openpyxl使用详解
May 09 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
Django通过json格式收集主机信息
May 29 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
详解在OpenCV中如何使用图像像素
Mar 03 Python
常用的10个Python实用小技巧
Aug 10 #Python
推荐值得学习的12款python-web开发框架
Aug 10 #Python
python多线程semaphore实现线程数控制的示例
Aug 10 #Python
如何在python中实现线性回归
Aug 10 #Python
Python多线程的退出控制实现
Aug 10 #Python
Python进行统计建模
Aug 10 #Python
Python如何爬取b站热门视频并导入Excel
Aug 10 #Python
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
怎样声明子类
2013/07/02 面试题
一夜的工作教学反思
2014/02/08 职场文书
微信营销策划方案
2014/02/24 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
《窃读记》教学反思
2016/02/18 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android