需要将多张*.PNG图像,生成mp4格式的视频文件。
利用Python中image
库生成*.gif
格式图像,但是图片未经压缩,文件体量较大。
moviepy
库将*.gif
格式图像转换为*.mp4
格式视频文件,文件可以压缩90%。
easygui
库制作一个简单的GUI界面。
清华大学Python镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/
import imageio as ig import os import moviepy.editor as mp import easygui as g def create_gif(source, name, duration): # 生成gif的函数,原始图片仅支持png # source: 为png图片列表(排好序) # name :生成的文件名称 # duration: 每张图片之间的时间间隔 frames = [] # 读入缓冲区 length = len(source) order = 0 for img in source: frames.append(ig.imread(img)) if order % 10 == 0: print("读取图片中。。。%s/%s" % (order, length)) order += 1 ig.mimsave(name, frames, 'GIF', duration=duration) print('已完成') if __name__ == '__main__': path_pic=g.diropenbox(msg='选择图片文件夹') os.chdir(path_pic) source_list = os.listdir(path='.') piclist=g.multchoicebox(msg='选择图片', title=' ', choices=source_list) name=g.enterbox(msg='输出MP4文件名',default='movie') create_gif(piclist, name, 0.05) #*.gif 转 *.mp4 clip = mp.VideoFileClip(name) clip.write_videofile(name + '.mp4') #删除*.gif os.remove(name) g.msgbox(msg='输出文件成功!!!', title=' ', ok_button='结束', image=None, root=None)