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的词法分析与语法分析
May 18 Python
详解Python编程中time模块的使用
Nov 20 Python
Django框架模板介绍
Jan 15 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
Python configparser模块常用方法解析
May 22 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
python安装mysql的依赖包mysql-python操作
Jan 01 Python
python 递归相关知识总结
Mar 03 Python
Python包管理工具pip的15 个使用小技巧
May 17 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
对盗链说再见...
2006/10/09 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php写的简易聊天室代码
2011/06/04 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Ubuntu下安装PyV8
2016/03/13 Python
python 性能提升的几种方法
2016/07/15 Python
Python自动化开发学习之三级菜单制作
2017/07/14 Python
详解Python3 pandas.merge用法
2019/09/05 Python
Python高级property属性用法实例分析
2019/11/19 Python
numpy 声明空数组详解
2019/12/05 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
大学生农村教师实习自我鉴定
2013/09/21 职场文书
审计班子对照检查材料
2014/08/27 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP