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线程池threadpool使用篇
Apr 27 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
Jul 14 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 Python
python Tkinter的简单入门教程
Apr 11 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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+xml实现在线英文词典查询的方法
2015/01/23 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python 文件查找及内容匹配方法
2018/10/25 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python GUI计算器的实现
2020/10/09 Python
python3 kubernetes api的使用示例
2021/01/12 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
集团公司总经理岗位职责
2013/12/20 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
市场部规章制度
2014/01/24 职场文书
城管综合整治方案
2014/05/01 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
安全生产协议书
2016/03/22 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
如何理解python接口自动化之logging日志模块
2021/06/15 Python