码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【强烈推荐】视频转gif、图片拼gif,嘎嘎好用,免费免费真的免费,亲测有效,无效过来打我


    问题描述

            最近遇到一个需求是需要将视频生成gif,这个看上去不是很难,所以有了以下的解决办法

    解决办法

            首先想到的当然是自己写一个,用了两套代码:

    1. from moviepy.editor import *
    2. # 读取视频文件
    3. video_clip = VideoFileClip("280361337.mp4")
    4. # 将视频转为gif格式
    5. gif_clip = video_clip.to_gif("output.gif")
    6. # 关闭视频文件
    7. video_clip.close()

            运行这个的话可能会遇到的问题就是没有moviepy这个module,pip install一下就可以了,但是安装完之后会报错提示有些依赖包没有,只需要按提示逐个安装就行了。

            但是上述的代码不能够控制帧率和大小,于是又完善了一下。

    1. import imageio
    2. from PIL import Image
    3. def convert_video_to_gif(input_path, output_path, fps=10, scale=0.5):
    4. # 读取视频文件
    5. video = imageio.get_reader(input_path)
    6. # 获取视频的帧率、宽度和高度
    7. fps_video = video.get_meta_data()['fps']
    8. width, height = video.get_meta_data()['source_size']
    9. # 设置输出的帧率和尺寸
    10. output_fps = min(fps, fps_video)
    11. output_width = int(scale * width)
    12. output_height = int(scale * height)
    13. # 创建一个Image对象列表,用于保存每一帧的图像
    14. frames = []
    15. for frame in video:
    16. # 调整帧的尺寸
    17. frame_img = Image.fromarray(frame).resize((output_width, output_height), Image.ANTIALIAS)
    18. frames.append(frame_img)
    19. # 保存为gif动图
    20. frames[0].save(output_path, format='GIF', append_images=frames[1:], save_all=True, duration=1000/output_fps, loop=0, optimize=True)
    21. # 关闭视频文件
    22. video.close()
    23. # 调用函数进行视频转换为gif
    24. convert_video_to_gif("studio_video_1698138576505.mp4", "output4.gif", fps=20, scale=1)

            这样一来就能比较控制帧率和大小了,但相比来说只压缩了一半,还是有点大,也正因为这个原因,没有办法在这里展示效果,简单来说,效果还是可以的,只是太大了超过了5M,所以不能上传。

    更好的办法        

            像这种都有现成的工具,比如本次推荐的这个就是,效果挺好的,

            压缩比大概为1/5

            可以自己指定宽度

            也可以进行压缩,只是这个过程有点曼,能再压缩1/2,效果几乎无变化

            还支持其他的功能

    延展阅读 

            如何将视频转换成gif?当我们看到视频中精彩片段,我们想着如何将视频转换成gif就好了。当我们看到其他小伙伴那些精彩绝伦的gif图的时候,我们想着这些是如何实现的呢?今天小编就来解密这些让人拍案叫绝的gif图是如何来的。将视频转换成GIF动图的技术主要是通过对视频进行帧截取和编码处理实现的。具体来说,该技术会将视频逐帧解析成一系列图像,并按照一定的时间间隔将这些图像序列编码压缩成一个GIF动图文件,从而实现视频向GIF格式的转换。

            要将视频转换成GIF,您可以使用各种工具和软件,包括在线工具、桌面应用程序等。让我们一起将视频转换成GIF,这样可以让您享受到更高效、更流畅、更有趣的动画体验。很多小伙伴似乎并不知道怎么转换,下面就让我来分享几个视频转gif的方法,供大家学习和参考。        

    4种方法将视频转换成gif - 知乎如何将视频转换成gif?当我们看到视频中精彩片段,我们想着如何将视频转换成gif就好了。当我们看到其他小伙伴那些精彩绝伦的gif图的时候,我们想着这些是如何实现的呢?今天小编就来解密这些让人拍案叫绝的gif图是…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/637528263#:~:text=%E5%B0%86%E8%A7%86%E9%A2%91%E8%BD%AC%E6%8D%A2%E6%88%90GIF%E5%8A%A8%E5%9B%BE%E7%9A%84%E6%8A%80%E6%9C%AF%E4%B8%BB%E8%A6%81%E6%98%AF%E9%80%9A%E8%BF%87%E5%AF%B9%E8%A7%86%E9%A2%91%E8%BF%9B%E8%A1%8C%E5%B8%A7%E6%88%AA%E5%8F%96%E5%92%8C%E7%BC%96%E7%A0%81%E5%A4%84%E7%90%86%E5%AE%9E%E7%8E%B0%E7%9A%84%E3%80%82,%E5%85%B7%E4%BD%93%E6%9D%A5%E8%AF%B4%EF%BC%8C%E8%AF%A5%E6%8A%80%E6%9C%AF%E4%BC%9A%E5%B0%86%E8%A7%86%E9%A2%91%E9%80%90%E5%B8%A7%E8%A7%A3%E6%9E%90%E6%88%90%E4%B8%80%E7%B3%BB%E5%88%97%E5%9B%BE%E5%83%8F%EF%BC%8C%E5%B9%B6%E6%8C%89%E7%85%A7%E4%B8%80%E5%AE%9A%E7%9A%84%E6%97%B6%E9%97%B4%E9%97%B4%E9%9A%94%E5%B0%86%E8%BF%99%E4%BA%9B%E5%9B%BE%E5%83%8F%E5%BA%8F%E5%88%97%E7%BC%96%E7%A0%81%E5%8E%8B%E7%BC%A9%E6%88%90%E4%B8%80%E4%B8%AAGIF%E5%8A%A8%E5%9B%BE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%AE%9E%E7%8E%B0%E8%A7%86%E9%A2%91%E5%90%91GIF%E6%A0%BC%E5%BC%8F%E7%9A%84%E8%BD%AC%E6%8D%A2%E3%80%82%20%E8%A6%81%E5%B0%86%E8%A7%86%E9%A2%91%E8%BD%AC%E6%8D%A2%E6%88%90GIF%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E5%90%84%E7%A7%8D%E5%B7%A5%E5%85%B7%E5%92%8C%E8%BD%AF%E4%BB%B6%EF%BC%8C%E5%8C%85%E6%8B%AC%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7%E3%80%81%E6%A1%8C%E9%9D%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%AD%89%E3%80%82

  • 相关阅读:
    Kotlin高仿微信-第14篇-单聊-视频通话
    在 10 分钟内在 Remix (React) 中实现单点登录
    linux中文件压缩和解压
    java包以及权限修饰符
    竞赛选题 深度学习手势检测与识别算法 - opencv python
    微信开发者工具如何使用?使用注意事项
    计算机毕业设计node.js+vue在线日程管理系统
    c语言系统编程十二:Linux多任务编程之线程
    盒子(Box, ACM/ICPC NEERC 2004, UVa1587)rust解法
    搭建Windows上的Qt桌面开发环境
  • 原文地址:https://blog.csdn.net/BetrayFree/article/details/134028732
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号