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 从远程服务器下载东西的代码
Feb 10 Python
Python实现把数字转换成中文
Jun 29 Python
Python制作爬虫采集小说
Oct 25 Python
Django自定义分页效果
Jun 27 Python
Python中的asyncio代码详解
Jun 10 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
python如何获取apk的packagename和activity
Jan 10 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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 mssql 数据库分页SQL语句
2008/12/16 PHP
PHP仿盗链代码
2012/06/03 PHP
php生成验证码函数
2015/10/20 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python中类的继承代码实例
2014/10/28 Python
Python contextlib模块使用示例
2015/02/18 Python
python使用chardet判断字符串编码的方法
2015/03/13 Python
python实现清屏的方法
2015/04/30 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
罗技美国官网:Logitech美国
2020/01/22 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
简历的自我评价范文
2014/02/04 职场文书
大学生工作自荐书
2014/06/16 职场文书
企业委托书范本
2014/09/13 职场文书
贷款收入证明格式
2015/06/24 职场文书
Mysql开启外网访问
2022/05/15 MySQL