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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
Python wxPython库使用wx.ListBox创建列表框示例
Sep 03 Python
Python中的heapq模块源码详析
Jan 08 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
pip安装tensorflow的坑的解决
Apr 19 Python
如何用python 操作zookeeper
Dec 28 Python
Python读取和写入Excel数据
Apr 20 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
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
python实现ftp客户端示例分享
2014/02/17 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
python查看微信好友是否删除自己
2016/12/19 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
详解python Todo清单实战
2018/11/01 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
init进程的作用
2015/08/20 面试题
甲方资料员岗位职责
2013/12/13 职场文书
大学毕业感言50字
2014/02/07 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
债务纠纷代理词
2015/05/25 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书