python moviepy2.1.2 使用CompositeVideoClip 运行慢
使用deepseek 写了一段代码,经过我修改后,具体运行了好久,半个小时还卡在合并步骤。
代码如下
import os
#from moviepy import ImageSequenceClip, TextClip, CompositeVideoClip,*
from moviepy import *
# 指定图片目录
image_folder = r"E:\Soft\autopush\xx\work\output_images\36457_20250422163750_9"
# 获取所有 .png 文件,并按创建时间排序
image_files = [f for f in os.listdir(image_folder) if f.endswith('.png')]
image_files.sort(key=lambda x: os.path.getctime(os.path.join(image_folder, x)))
print("视频1!")
# 创建图片序列
image_paths = [os.path.join(image_folder, img) for img in image_files]
clip = ImageSequenceClip(image_paths, fps=1/2) # 每张图片停留2秒
print("视频2!")
# 创建文本说明
#text = TextClip("说明书指南 整理推荐", font_size=70, color='white', bg_color='black', size=clip.size)
#text = text.set_position('center').set_duration(clip.duration)
# 合成视频
#final_clip = CompositeVideoClip([clip, text])
final_clip = CompositeVideoClip(clip)
print("视频3!")
# 输出视频
output_path = r"E:\Soft\autopush\xx\work\output_video.mp4"
# 使用更快的编解码器
#在导出视频时,使用如 libx264 这样的硬件加速编解码器可以显著提高处理速度。例如:
final_clip.write_videofile(output_path, codec='libx264', fps=24)
print("视频生成完成!")后来查询了一下,具体
是因为的自己修改的问题
final_clip = CompositeVideoClip(clip)
改为
final_clip = CompositeVideoClip([clip])
就解决了。简单记录一下
