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))
相关推荐
音视频牛哥12 分钟前
智能感知的新入口:AIGC 与低延迟视频通路的深度融合
人工智能·计算机视觉·aigc·音视频·大牛直播sdk·aigc实时·aigc rtsp
Ashlee_code12 分钟前
关税战火中的技术方舟:新西兰证券交易所的破局之道 ——从15%关税冲击到跨塔斯曼结算联盟,解码下一代交易基础设施
java·python·算法·金融·架构·系统架构·区块链
qq_3168377517 分钟前
String boot 接入 azure云TTS
python·flask·azure
蓝倾97632 分钟前
电商API接口的优势、数据采集方法及功能说明
开发语言·python·api·开放api·电商开放平台
倔强青铜三40 分钟前
GIL竟是Python命中注定的解药?统治AI时代的核心秘密!
人工智能·python·ai编程
cliffordl40 分钟前
wxPython 实践(二)基础控件
python
倔强青铜三44 分钟前
大揭秘!Python类没有真正私有属性的原因
人工智能·python·ai编程
嗯诺1 小时前
切换python多版本
笔记·python
仪器科学与传感技术博士1 小时前
python:前馈人工神经网络算法之实战篇,以示例带学,弄明白神经网络算法应用的思路、方法与注意事项等
人工智能·python·深度学习·神经网络·算法·机器学习
java1234_小锋3 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情数据可视化分析-热词情感趋势树形图
python·信息可视化·自然语言处理