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中文竖排显示的方法
Jul 28 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
python web框架 django wsgi原理解析
Aug 20 Python
python计算导数并绘图的实例
Feb 29 Python
利用python绘制数据曲线图的实现
Apr 09 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 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安装问题
2006/10/09 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python实现杨辉三角思路
2017/07/14 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
python验证身份证信息实例代码
2019/05/06 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Django 解决由save方法引发的错误
2020/05/21 Python
python requests库的使用
2021/01/06 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
电工工作职责范本
2014/02/22 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
Python基础之pandas数据合并
2021/04/27 Python