python编程简单几行代码实现视频转换Gif示例
作者:曲鸟 时间:2021-09-02 03:34:13
一、前言
很多网站提供视频转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").resize((488,225)))
clip.write_gif("movie.gif",fps=15) #设置为每秒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)
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))
来源:https://blog.csdn.net/momoda118/article/details/120561447
标签:python,Gif,视频转换
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Python编写一个在Linux下实现截图分享的脚本的教程
2022-04-23 13:23:11
使用python的turtle绘画滑稽脸实例
2022-04-18 02:24:49
![](https://img.aspxhome.com/file/2023/1/66301_0s.jpg)
Python中非常实用的Math模块函数教程详解
2022-12-08 02:12:49
Yii开启片段缓存的方法
2023-11-21 05:00:40
Python实现将HTML转成PDF的方法分析
2023-06-19 18:59:37
![](https://img.aspxhome.com/file/2023/2/99552_0s.png)
FrontPage2002简明教程四:网页超级链接
2008-09-17 11:23:00
![](https://img.aspxhome.com/file/UploadPic/200810/17/20081017113025456s.jpg)
python集合比较(交集,并集,差集)方法详解
2023-09-30 22:11:13
基于Python的图像阈值化分割(迭代法)
2022-10-23 21:25:01
![](https://img.aspxhome.com/file/2023/8/75988_0s.jpg)
Python读取一个目录下所有目录和文件的方法
2023-05-30 23:04:21
PHP递归调用数组值并用其执行指定函数的方法
2023-09-05 15:35:04
可以输入的下拉菜单
2009-01-04 14:21:00
用Python 执行cmd命令
2022-06-08 15:29:17
python实现发送和获取手机短信验证码
2023-08-09 08:02:26
Python+OpenCV之形态学操作详解
2021-11-24 23:37:58
![](https://img.aspxhome.com/file/2023/4/86624_0s.png)
python网络编程学习笔记(五):socket的一些补充
2022-02-03 23:22:48
python-序列解包(对可迭代元素的快速取值方法)
2023-12-28 23:23:57
利用Python进行数据清洗的操作指南
2022-07-22 22:59:41
![](https://img.aspxhome.com/file/2023/5/83665_0s.jpg)
asp中设置session过期时间方法总结
2013-06-01 19:52:04
Python Flask框架模板操作实例分析
2022-09-21 02:56:23
![](https://img.aspxhome.com/file/2023/0/84060_0s.png)
python进阶教程之函数对象(函数也是对象)
2022-08-28 01:06:42