三行代码使用Python将视频转Gif的方法示例
作者:曲鸟 发布时间:2021-02-28 13:53:39
标签:Python,视频,Gif
一、前言
很多网站提供视频转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. 转换效果
刚刚的GIF图虽然只有几秒,但大小却有9M之多!(还是已经缩放了分辨率的情况下)
如果需要转换的视频有几十秒,那文件大小就得上百兆甚至更多!
那该怎么解决呢?
4. GIF很大的解决方案
我们除了设置缩放分辨率resize
外,还可以通过设置fps
参数抽帧来减少大小
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)
设置为每秒15帧后,文件大小只有2m多,一下缩小了4倍之多!
而且视觉效果也没有多大的区别
5. 截取视频长度转换
我们还可以通过设置subclip
参数来指定转换的视频范围:
subclip:截取原视频中的自t_start
至t_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)
5. 指定转换后的图片大小(分辨率)
resize
参数可指定转换后的图片大小
接受的参数为:
以像素或浮点表示的(width,height)
缩放百分比,如 0.5
示例
1.设置转换后的图片为600*400
clip = (VideoFileClip("movie.mp4").resize((600, 400)))
2.原视频缩放50%
clip = (VideoFileClip("movie.mp4").resize(0.5))
来源:https://blog.csdn.net/momoda118/article/details/120561447


猜你喜欢
- 一、dict推导式list1 = ['name', 'age', 'gender']list
- 看了下网上有很多关于模拟登录淘宝,但是基本都是使用scrapy、pyppeteer、selenium等库来模拟登录,但是目前我们还没有讲到这
- 前言本文主要给大家介绍了关于scrapy爬到的数据保存到mysql(防止重复)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看
- Zabbix的简单安装配置说明1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:yum -y install mys
- curl 和 Python requests 都是发送 HTTP 请求的强大工具。 虽然 curl 是一种命令行工具,可让您直接从终端发送请
- http_request2.py用于发起http请求#读取多条测试用例#1、导入requests模块import requests#从 cl
- 编写兼容IE和FireFox的脚本确定的件很烦人的事,今日又经历了一次。一、正式表达式问题试图用以下表达式提取中括号“]”后面的内容,连接调
- numpy的sum函数可接受的参数是:sum(a, axis=None, dtype=None, out=None, keepdims=np
- 情人节快乐!这个节日怎么会少了浪漫的玫瑰花!用Python的turtle库绘图是很简单的,画了一个玫瑰花,下面奉上源码:源码:'
- 我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql
- provide和inject的用法(vue组件爷孙传值)聊聊概念成对出现:provide和inject是成对出现的作用:用于父组件向子孙组件
- 利用Python写了一个小脚本想要传给使用Windows但没有装Python的朋友执行,这时候就可以利用将档案包装成exe档案,让没有Pyt
- Python 异常处理的实例详解与许多面向对象语言一样,Python 具有异常处理,通过使用 try...except 块来实现。Note:
- 前言晚上回家闲来无事,想打开某直播平台,看看小姐姐直播。看着一个个多才多艺的小姐姐,眼花缭乱,好难抉择。究竟看哪个小姐姐直播好呢?今天我们就
- 因为要牵扯到小计,所以需要计算两次。想法:1、把查询到的结果,插入到临时表,2、把统计结果插入到临时表。3、查询临时表记录放置到游标中。4、
- 见下,把数字转成条形图、条形码的一个程序:<%Sub ShowChart(ByRef aValues,
- 友情提示,您阅读本篇博文的先决条件如下:1、本文示例基于Microsoft SQL Server 2008 R2调测。2、具备 Transa
- 小编在以前给大家介绍过很多其他系统安装PyCharm的过程,有兴趣的朋友可以参阅:pycharm 使用心得(一)安装和首次使用python安
- 一、shutil模块(了解):高级的文件、文件夹、压缩包处理模块。import shutil# shutil.copyfileobj(fsr
- 本文实例讲述了Go语言eclipse环境搭建的方法。分享给大家供大家参考,具体如下:1 下载eclipse2 下载goeclipsehttp