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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
Python爬虫入门有哪些基础知识点
Jun 02 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
PyQt5的相对布局管理的实现
Aug 07 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
几款好用的python工具库(小结)
Oct 20 Python
python中把元组转换为namedtuple方法
Dec 09 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工厂模式
2014/11/25 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JS实现的视频弹幕效果示例
2018/08/17 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
[22:07]DOTA2-DPC中国联赛 正赛 iG vs Magma 选手采访
2021/03/11 DOTA
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Python列表(List)知识点总结
2019/02/18 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
python -v 报错问题的解决方法
2020/09/15 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
《美丽的田园》教学反思
2014/03/01 职场文书
公务员年度考核评语
2014/12/31 职场文书
统计员岗位职责范本
2015/04/14 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
《给予树》教学反思
2016/03/03 职场文书
PHP基本语法
2021/03/31 PHP
python如何做代码性能分析
2021/04/26 Python
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python