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))
相关推荐
威联通网络存储4 分钟前
编织数智转型的底座:某中型服装制造企业基于威联通的存储实践
python
6+h5 分钟前
【Spring】Bean的生命周期详解
java·python·spring
王家视频教程图书馆12 分钟前
vue3从本地选择一个视频 展示到视频组件中
前端·javascript·音视频
李昊哲小课13 分钟前
Python CSV 模块完整教程
java·服务器·python
年少无为呀!36 分钟前
OpenClaw 飞书 Skill 开发完全指南
python·机器人·飞书·助手·openclaw·skill开发
新科技事物1 小时前
AI编曲软件帮原创音乐人,用清唱歌词的音频快速做出专业的歌曲编曲伴奏
人工智能·音视频
新科技事物1 小时前
AI编曲软件提升出歌效率,原创音乐人凭清唱歌词的音频快速作编曲伴奏成歌
人工智能·音视频
赵谨言1 小时前
基于YOLOv5的植物目标检测研究
大数据·开发语言·经验分享·python
不光头强2 小时前
IO流知识点
开发语言·python
老师好,我是刘同学2 小时前
Python列表用法全解析及实战示例
python