1from moviepy import VideoFileClip
2
3
4def video_to_gif(video_path, output_path, start_time, end_time, fps=10, resize_ratio=1.0):
5 """
6 将视频片段转换为 GIF
7 参数:
8 video_path: 输入视频文件路径
9 output_path: 输出 GIF 路径
10 start_time: 开始时间(秒)
11 end_time: 结束时间(秒)
12 fps: 输出帧率(默认10)
13 resize_ratio: 缩放比例(默认1.0)
14 """
15 try:
16 # 加载视频并截取指定片段
17 with VideoFileClip(video_path) as clip:
18 subclip = clip.subclipped(start_time, end_time)
19
20 # 调整尺寸(可选)
21 if resize_ratio != 1.0:
22 subclip = subclip.resized(resize_ratio)
23 #
24 # # 导出 GIF
25 subclip.write_gif(output_path, fps=fps)
26
27 print(f"GIF 已成功保存至:{output_path}")
28
29 except Exception as e:
30 print(f"处理过程中发生错误:{str(e)}")
31
32
33# 使用示例
34if __name__ == "__main__":
35 video_to_gif(
36 video_path=r'E:\youtube\test.mp4',
37 output_path=r'E:\youtube\test.gif',
38 start_time=200,
39 end_time=210,
40 fps=15,
41 resize_ratio=0.5
42 )
利用Python将视频转化为gif