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解析最简单的验证码
Jan 07 Python
Python高级用法总结
May 26 Python
python模块导入的细节详解
Dec 10 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
Pytorch之view及view_as使用详解
Dec 31 Python
jupyter notebook 参数传递给shell命令行实例
Apr 10 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
PHP处理会话函数大总结
2015/08/05 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python list转dict示例分享
2014/01/28 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Python多进程写入同一文件的方法
2019/01/14 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
幼儿园亲子活动方案
2014/01/29 职场文书
卖车协议书范例
2014/09/16 职场文书
新入职员工工作总结
2015/10/15 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL