• 三行Python代码即可将视频转Gif


    一、前言

    很多网站提供视频转GIF的功能,但要么收费要么有广告

    实际上我们通过python,几行代码就能够实现视频转gif

    二、教程

    1. 安装必备库moviepy

    pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple

    2. 写入代码

    1. from moviepy.editor import *
    2. clip = (VideoFileClip("movie.mp4")) # 需要转为GIF的视频文件路径
    3. clip.write_gif("movie.gif")

    刚刚的GIF图虽然只有几秒,但大小却有9M之多!(还是已经缩放了分辨率的情况下)

    在这里插入图片描述
    如果需要转换的视频有几十秒,那文件大小就得上百兆甚至更多!

    那该怎么解决呢?

    4. GIF很大的解决方案

    我们除了设置缩放分辨率resize外,还可以通过设置fps参数抽帧来减少大小

    1. from moviepy.editor import *
    2. clip = (VideoFileClip("movie.mp4").resize((488,225)))
    3. clip.write_gif("movie.gif",fps=15) #设置为每秒15

    设置为每秒15帧后,文件大小只有2m多,一下缩小了4倍之多!

    在这里插入图片描述
    而且视觉效果也没有多大的区别

    5. 截取视频长度转换

    我们还可以通过设置subclip参数来指定转换的视频范围:

    subclip:截取原视频中的自t_start至t_end间的视频片段

    将视频1-2秒片段转化为Gif

    1. from moviepy.editor import *
    2. clip = (VideoFileClip("movie.mp4").subclip(t_start=1, t_end=2).resize((488, 225)))
    3. clip.write_gif("movie.gif", fps=15)

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

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

    接受的参数为:

    1.以像素或浮点表示的(width,height)

    2.缩放百分比,如 0.5

    示例

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

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

    2.原视频缩放50%

    clip = (VideoFileClip("movie.mp4").resize(0.5))
    

    关于Python技术储备

    学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

    一、Python的学习大礼包

    Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(文末获取!)

    祝:学习愉快、工作顺利

    温馨提示:获取方式 关注【码农园区】 回复   “ python ”  !!!

    在这里插入图片描述

  • 相关阅读:
    华为OD机考算法题:计算最大乘积
    使用 Railway 和 Supabase 零成本搭建 n8n 自动化平台
    入门力扣自学笔记139 C++ (题目编号998)
    基于java的医院微信小程序
    Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
    代码随想录——Dota2参议院
    看了扎克伯格的Avatar,我更想在VR里当大猩猩
    035实现Node.js后端不同打包方式与环境配置功能-简化打包运行流程
    Kotlin高仿微信-第11篇-单聊-语音
    Nexus3搭建以及使用
  • 原文地址:https://blog.csdn.net/lwzhang1101/article/details/134433917