from random import randint from PIL import Image from os import listdir, path, mkdir from uuid import uuid4 import moviepy.editor as mp def generate_video(folder): if not path.exists(folder): mkdir(folder) # generate video frames for i in range(20): img = Image.new( mode = 'RGB', size = (500, 250), color = (0, 0, 0) ) for x in range(img.size[0]): for y in range(img.size[1]): r, g, b = randint(0, 255), randint(0, 255), randint(0, 255) img.putpixel((x, y), value = (r, g, b)) img.save(f'{folder}/{i}.png') # create video images = [f'{folder}/{img}' for img in listdir(folder)] clips = [mp.ImageClip(img).set_duration(0.08) for img in images] video = mp.concatenate_videoclips(clips, method = 'compose') video.to_videofile(f'{str(uuid4())}.mp4', fps = 24) generate_video('test')
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter