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学习手册中的python多态示例代码
Jan 21 Python
Python原始字符串(raw strings)用法实例
Oct 13 Python
python运行其他程序的实现方法
Jul 14 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
python实现简易内存监控
Jun 21 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
安装python及pycharm的教程图解
Oct 10 Python
基于python调用psutil模块过程解析
Dec 20 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
Mar 06 Python
python+opencv实现目标跟踪过程
Jun 21 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&&mysql)二
2006/10/09 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
jQuery 选择器详解
2015/01/19 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
详解redux异步操作实践
2018/08/15 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Python yield使用方法示例
2013/12/04 Python
Python实现的彩票机选器实例
2015/06/17 Python
Python实现两款计算器功能示例
2017/12/19 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
军训自我鉴定
2013/12/14 职场文书
求职信范文怎么写
2014/01/29 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
python如何将mat文件转为png
2022/07/15 Python