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").resize((488,225)))
clip.write_gif("movie.gif",fps=15)  #设置为每秒15帧

设置为每秒15帧后,文件大小只有2m多,一下缩小了4倍之多!而且视觉效果也没有多大的区别。

4. 截取视频长度转换

还可以通过设置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)

5. 指定转换后的图片大小(分辨率)

resize参数可指定转换后的图片大小

接受的参数为:

  1. 以像素或浮点表示的(width,height)1. 缩放百分比,如 0.5示例

1.设置转换后的图片为600*400

clip = (VideoFileClip("movie.mp4").resize((600, 400)))

2.原视频缩放50%

clip = (VideoFileClip("movie.mp4").resize(0.5))
相关推荐
Kai HVZ40 分钟前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神43 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
m0_748244831 小时前
StarRocks 排查单副本表
大数据·数据库·python
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..1 小时前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
每天都要学信号1 小时前
Python(第一天)
开发语言·python
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨2 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai