【强烈推荐】视频转gif、图片拼gif,嘎嘎好用,免费免费真的免费,亲测有效,无效过来打我

问题描述

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

解决办法

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

from moviepy.editor import *

# 读取视频文件
video_clip = VideoFileClip("280361337.mp4")

# 将视频转为gif格式
gif_clip = video_clip.to_gif("output.gif")

# 关闭视频文件
video_clip.close()

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

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

import imageio
from PIL import Image

def convert_video_to_gif(input_path, output_path, fps=10, scale=0.5):
    # 读取视频文件
    video = imageio.get_reader(input_path)

    # 获取视频的帧率、宽度和高度
    fps_video = video.get_meta_data()['fps']
    width, height = video.get_meta_data()['source_size']

    # 设置输出的帧率和尺寸
    output_fps = min(fps, fps_video)
    output_width = int(scale * width)
    output_height = int(scale * height)

    # 创建一个Image对象列表,用于保存每一帧的图像
    frames = []
    for frame in video:
        # 调整帧的尺寸
        frame_img = Image.fromarray(frame).resize((output_width, output_height), Image.ANTIALIAS)
        frames.append(frame_img)

    # 保存为gif动图
    frames[0].save(output_path, format='GIF', append_images=frames[1:], save_all=True, duration=1000/output_fps, loop=0, optimize=True)

    # 关闭视频文件
    video.close()

# 调用函数进行视频转换为gif
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值