python编程简单几行代码实现视频转换Gif示例


Posted in Python onOctober 05, 2021

一、前言

很多网站提供视频转GIF的功能,但要么收费要么有广告

实际上我们通过python,几行代码就能够实现视频转gif

二、教程

1. 安装必备库moviepy

pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 写入代码

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4"))  # 需要转为GIF的视频文件路径
clip.write_gif("movie.gif")

3. 转换效果

python编程简单几行代码实现视频转换Gif示例

刚刚的GIF图虽然只有几秒,但大小却有9M之多!

(还是已经缩放了分辨率的情况下)

python编程简单几行代码实现视频转换Gif示例

如果需要转换的视频有几十秒,那文件大小就得上百兆甚至更多!

那该怎么解决呢?

4. GIF很大的解决方案

我们除了设置缩放分辨率resize外,还可以通过设置fps参数抽帧来减少大小

from moviepy.editor import *
clip = (VideoFileClip("movie.mp4").resize((488,225)))
clip.write_gif("movie.gif",fps=15)  #设置为每秒15帧

设置为每秒15帧后,文件大小只有2m多,一下缩小了4倍之多!

python编程简单几行代码实现视频转换Gif示例

而且视觉效果也没有多大的区别

python编程简单几行代码实现视频转换Gif示例

5. 截取视频长度转换

我们还可以通过设置subclip参数来指定转换的视频范围:

subclip:截取原视频中的自t_startt_end间的视频片段

将视频1-2秒片段转化为Gif

from moviepy.editor import *
clip = (VideoFileClip("movie.mp4").subclip(t_start=1, t_end=2).resize((488, 225)))
clip.write_gif("movie.gif", fps=15)

6. 指定转换后的图片大小(分辨率)

resize参数可指定转换后的图片大小

接受的参数为:

  • 以像素或浮点表示的(width,height)
  • 缩放百分比,如 0.5

示例

1.设置转换后的图片为600*400

clip = (VideoFileClip("movie.mp4").resize((600, 400)))

2.原视频缩放50%

clip = (VideoFileClip("movie.mp4").resize(0.5))

以上就是简单使用几行python代码将视频转换Gif示例的详细内容,更多关于python将视频转换Gif的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python科学计算环境推荐——Anaconda
Jun 30 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
python实现决策树分类算法
Dec 21 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
python贪吃蛇游戏代码
Apr 18 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
python图片指定区域替换img.paste函数的使用
Apr 09 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
python基于win32api实现键盘输入
Dec 09 Python
Python中json.dumps()函数的使用解析
May 17 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 #Python
使用pipenv管理python虚拟环境的全过程
Sep 25 #Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 #Python
Python天气语音播报小助手
用python基于appium模块开发一个自动收取能量的小助手
Python实现打乒乓小游戏
Python 类,对象,数据分类,函数参数传递详解
Sep 25 #Python
You might like
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
[22:07]DOTA2-DPC中国联赛 正赛 iG vs Magma 选手采访
2021/03/11 DOTA
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
金属材料工程个人求职的自我评价
2013/12/04 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
医德考评自我评价
2014/09/14 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
学籍证明模板
2014/11/21 职场文书
教师读书笔记
2015/06/29 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python