视频转为GIF动图
本代码可以把视频转为GIF,可调整GIF的分辨率和帧率,视频不要太大,不然会卡很久,代码使用了 FFmpeg 插件,没有下载可以去搜索下载一下
# 导包
import time
import subprocess # 方便调用 FFmpeg对视频进行处理
from moviepy.editor import VideoFileClip
def Video_To_GIF(video_path, gif_path,fps):
video = VideoFileClip(video_path).subclip()
video.write_gif(gif_path,fps=fps)
def Compress_Video(input_path, output_path, target_size,withs):
# 调用FFmpeg命令进行视频压缩
ffmpeg = "" # FFmpeg
subprocess.run([ffmpeg, "-i", input_path, "-vf", f"scale={withs}:-2", "-b:v", target_size, "-c:v", "libx264", output_path])
def main():
# 指定输入视频文件路径、输出视频文件路径和目标大小(压缩后视频的目标大小)
input_path = r"" # 视频输入路径
output_path = r"" # 处理后的视频保存路径
target_size = "0.5M" # 目标大小,例如 "2M" 表示目标大小为2MB
# 指定视频文件路径和输出GIF文件路径
gif_path = "" # GIF 的保存路径
fps = 8 # 设置帧率
withs = 260 # 设置分辨率
# 调用函数进行视频压缩
Compress_Video(input_path, output_path, target_size,withs)
time.sleep(5)
# 调用函数将视频转换为GIF
video_to_gif(output_path, gif_path,fps)