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迭代用法实例教程
Sep 08 Python
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Python网络爬虫实例讲解
Apr 28 Python
Python缩进和冒号详解
Jun 01 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
如何用C代码给Python写扩展库(Cython)
May 17 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
Python gevent协程切换实现详解
Sep 14 Python
Python图像处理之图像拼接
Apr 28 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的魔术常量__METHOD__简介
2014/07/08 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
浅谈php://filter的妙用
2019/03/05 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
极简的Python入门指引
2015/04/01 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python视频按帧截取图片工具
2019/07/23 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
pandas按条件筛选数据的实现
2021/02/20 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
高中毕业自我评价
2014/02/08 职场文书
毕业生找工作求职信
2014/08/05 职场文书
科技工作者先进事迹
2014/08/16 职场文书
Python List remove()实例用法详解
2021/08/02 Python