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 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
Python制作简易注册登录系统
Dec 15 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
python视频按帧截取图片工具
Jul 23 Python
python实现机器人卡牌
Oct 06 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
浅析python 字典嵌套
Sep 29 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
第十三节 对象串行化 [13]
2006/10/09 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
python读取word文档的方法
2015/05/09 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
体现团队精神的口号
2014/06/06 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
中秋节感想
2015/08/10 职场文书
Echarts如何重新渲染实例详解
2022/05/30 Javascript