
背景需求
和家长沟通时,提到孩子的绘画能力超前(涂鸦转向几何图形)

把其中一张作业变成动态化


、
第一张生成失败,

不过第二天它也显示了,
三个人,动起来,在跳舞,微笑,大笑


同样台词做了一张

变成了真人跳舞


又换了台词,做了几份

画纸上有三个简笔画人,请让他们动起来,在跳舞,微笑,大笑。


真的跳舞了
下载三个MP4

用代码将mp4转(5MB以内)GIF,才能把视频内容放在CSDN上
python
'''
结题报告WORD 插入 MP4转gif动画(降低帧率)
deepseek、阿夏
20250718
'''
import os
from moviepy.editor import VideoFileClip
def convert_mp4_to_gif(input_folder, output_folder=None, scale=0.5, fps=5, colors=128):
"""
修复版的MP4转GIF函数
"""
if output_folder is None:
output_folder = input_folder
os.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 clip.duration == 0:
print(f"警告: {filename} 可能为空或损坏")
continue
# 调整尺寸(更保守的参数)
if scale is not None:
clip = clip.resize(scale)
# 限制GIF时长,避免文件过大
if clip.duration > 10: # 如果视频超过10秒,只取前10秒
clip = clip.subclip(0, 10)
# 使用更稳定的GIF输出参数
clip.write_gif(
output_path,
fps=min(fps, 8), # 限制最大帧率
program='ffmpeg',
verbose=False,
logger=None
)
# 检查输出文件
if os.path.exists(output_path) and os.path.getsize(output_path) > 0:
print(f"✓ 转换成功: {os.path.basename(output_path)}")
else:
print(f"✗ 转换失败: 输出文件为空")
except Exception as e:
print(f"✗ 转换 {filename} 时出错: {str(e)}")
finally:
if 'clip' in locals():
clip.close()
# 测试版本 - 更保守的参数
if __name__ == "__main__":
path = r'D:\test\20桌面素材\20250928乐乐画作\1'
# 首先检查文件夹是否存在
if not os.path.exists(path):
print(f"错误: 路径不存在 - {path}")
else:
print(f"找到文件夹,包含文件: {os.listdir(path)}")
convert_mp4_to_gif(
input_folder=path,
scale=0.3, # 更小的缩放比例
fps=5, # 更低的帧率
colors=64 # 更少的颜色
)
国庆节最后一天请小作者看绘画作品动态化的效果,乐乐好惊讶地看着,问:"这是怎么做的呀"
"用图片转视频做的,是电脑让它动起来的。"我又问,"你画的是三个小朋友跳舞吗"
"不是"她摇摇头,
"那他们在干什么?"
"不知道"
"哦,你是随便画的"
她点点头。
用豆包分析,幼儿绘画水平和绘画需求

豆包的分析是
