Python-将视频转换成GIF格式

发布时间:2024年01月16日


前言

由于一些小需求,想将视频转成GIF,然后呢,网上一搜这种转换,收费,那本人就自己动手搜搜Python上有没有解决方法咯,于是就有了这篇文章,主打的就是省钱跟好玩~


一、安装moviepy库

pip install moviepy

二、上代码

注入的灵魂如下:

'''
# -*- coding:utf-8 -*-

from moviepy.editor import VideoFileClip

def convert_to_gif(input_file, output_file):
    """
    会将视频完整的转换为GIF,然后GIF的大小会很大
    :param input_file:输入的文件
    :param output_file:输出的文件
    :return:
    """
    video = VideoFileClip(input_file)
    gif = video.write_gif(output_file)
    return gif


def convert_to_gif1(input_file, output_file, target_size):
    """
    可以设置转换后的GIF大小、帧率、宽度
    :param input_file:输入的文件
    :param output_file:输出的文件
    :param target_size:更改输出文件的内存大小
    :return:
    """
    video = VideoFileClip(input_file)
    duration = video.duration
    target_duration = target_size / (video.size[0] * video.size[1] * 1)  # 相当于快进,数字越大则GIF显示的内容越短

    if duration > target_duration:
        video = video.subclip(0, target_duration)

    video = video.resize(width=640)  # 控制宽度,会影响GIF大小和像素
    video.write_gif(output_file, fps=10)  # 控制帧率,帧率越高越流畅。会影响GIF大小

input_file = '控制机械臂.mp4'
output_file = 'output_video___114.gif'
target_size = 15 * 1024 * 1024  # 15MB  # 能一定程度的控制GIF整体的大小


# convert_to_gif(input_file, output_file)   # 完整的转换成GIF
convert_to_gif1(input_file, output_file, target_size)   # 压缩式的转换成GIF


三、示图

控制机械臂



2024.01.15写
有写得不好、写得不对的地方还请各位指出,谢谢!

文章来源:https://blog.csdn.net/qq_46476163/article/details/135613776
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。