
背景需求:
昨天做绘本图片,一些前天的积分,没有用完,就浪费了。
今天一共有2天100分,准备做视频(10分一次)快速消耗掉

关键词:猫头鹰低头。翻书,眨眼睛,动耳朵

好像没有20分钟,3分钟左右就好了。

其中有些图不能生成(保安、警察等)


一个视频没有完成,另外一个不能生成
只能下载有水印的

视频全部下载

用MP4转gif动画(因为5秒,而且原视频都是小于5MB),就用高清原图
'''
结题报告WORD 插入 MP4转gif动画(高清原图)
deepseek、阿夏
20250718
'''import os
from moviepy.editor import VideoFileClip
def convert_mp4_to_gif(input_folder, output_folder=None, scale=None, fps=10):"""将指定文件夹中的所有MP4文件转换为GIF动画参数:input_folder: 包含MP4文件的输入文件夹路径output_folder: 输出GIF的文件夹路径(默认与输入文件夹相同)scale: 缩放比例(例如0.5表示缩小一半)fps: 输出GIF的帧率"""if output_folder is None:output_folder = input_folderos.makedirs(output_folder, exist_ok=True)for filename in os.listdir(input_folder):if filename.lower().endswith('.mp4'):input_path = os.path.join(input_folder, filename)output_path = os.path.join(output_folder, f"{os.path.splitext(filename)[0]}.gif")print(f"正在转换: {filename}...")try:clip = VideoFileClip(input_path)if scale is not None:clip = clip.resize(scale)# 确保转换完整视频,不截断clip.write_gif(output_path, fps=fps, program='ffmpeg')print(f"转换完成: {output_path}")except Exception as e:print(f"转换 {filename} 时出错: {str(e)}")finally:if 'clip' in locals():clip.close()if __name__ == "__main__":path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250725AI视频\MP4'input_folder = pathconvert_mp4_to_gif(input_folder, scale=0.5, fps=10)
没想到生成出来的gif都是6MB

换一个代码,先测试fps=10

fps=10就是原图质量100%的质量


fps=9
小一点点了


fps=8

fps=7

非常适合

相关代码
'''
结题报告WORD 插入 MP4转gif动画(降低帧率)
deepseek、阿夏
20250718
'''import os
from moviepy.editor import VideoFileClipdef convert_mp4_to_gif(input_folder, output_folder=None, scale=None, fps=10, colors=256):"""将指定文件夹中的所有MP4文件转换为GIF动画(优化大小版本)参数:input_folder: 包含MP4文件的输入文件夹路径output_folder: 输出GIF的文件夹路径(默认与输入文件夹相同)scale: 缩放比例(例如0.5表示缩小一半)fps: 输出GIF的帧率(降低帧率可减小文件大小)colors: 颜色数量(减少颜色数量可显著减小文件大小)"""if output_folder is None:output_folder = input_folderos.makedirs(output_folder, exist_ok=True)for filename in os.listdir(input_folder):if filename.lower().endswith('.mp4'):input_path = os.path.join(input_folder, filename)output_path = os.path.join(output_folder, f"{os.path.splitext(filename)[0]}.gif")print(f"正在转换: {filename}...")try:clip = VideoFileClip(input_path)if scale is not None:clip = clip.resize(scale)# 添加优化参数clip.write_gif(output_path,fps=fps,program='ffmpeg',colors=colors, # 减少颜色数量opt='optimizeplus' # 优化选项)print(f"转换完成: {output_path}")except Exception as e:print(f"转换 {filename} 时出错: {str(e)}")finally:if 'clip' in locals():clip.close()if __name__ == "__main__":path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250725AI视频\MP4'input_folder = pathconvert_mp4_to_gif(input_folder, scale=0.5, fps=7, # 进一步降低帧率colors=128 # 减少颜色数量)
一、猫头鹰
01猫头鹰低头。翻书,眨眼睛,动耳朵

猫头鹰用嘴翻书了,真正的猫头鹰没有拟人化的手,所以要提示用手翻书
03猫头鹰。一只手书,一只手翻书页,眨眼睛,动耳朵

效果不错,符合要求
二、兔子
02兔子在舞蹈上跳舞

效果不错,符合要求
三、小狗
04小狗是消防员,着灭火器向火焰喷射,

火焰动了,但小狗要旋转身体,原图需要重新画,左狗右火
四、大象
05大象踱步,鼻子卷起地上的砖块向上举高

只踱步,没有“卷起任何物品”
07大象踱步,鼻子卷起地上的砖块,卷到楼房上

鼻子卷起砖头,但踱步动作太大,破坏嫌疑,鼻子也没有抬高。
10大象低头,用鼻子卷起地上的一根木头,抬头,用鼻子将木头卷到楼房顶上

效果不错,符合要求
06小松鼠外卖员,骑这助动车送货,行便在马路上

“行驶”背景移动效果有了,但是松鼠快递员没有动作、表情。
08小松鼠外卖员,骑在助动车送货,行使在马路上,眨眼睛,摇耳朵,微笑,双手移动车扶手,转弯

松鼠的动作有了,但是背景不动了
09小松鼠外卖员,骑在助动车送贷,眨眼睛,摇耳朵,微笑,双手移动车扶手,转弯,助动车行驶在马路上(背長移动)

效果不错,超过预期(有速度、有转向)
六、犀牛
用了“犀牛保安”和“犀牛”的关键词,都无法生成,可能是图片上有警服,所以不行
