import os

from PIL import Image, ImageDraw
from subprocess import call

colors = [0,64,128,192,255]

def filename(num):
    name = "00000" + str(num)
    name = "square-"+name[-5:]+".png"
    return name

def ffmpeg(num):
    call('ffmpeg -loglevel panic -hide_banner -r 30 -i square-%5d.png -vcodec mjpeg -vf format=yuv420p -y square'+str(num)+'.avi')
    print ('square'+ str(num)+'.avi')

def delpng():
    for file in os.listdir():
        if file.endswith(".png"):
            os.remove(file)

delpng

bg     = (255,255,255)
size   = 300
num    = 0
colors = [0,64,128,192,255]

for r in colors:
    for g in colors:
        for b in colors:
            for i in range (1, size):
                p1 = (i, 1)
                p2 = (size - 1, i)
                p3 = (size - i, size - 1)
                p4 = (1, size - i)
                img = Image.new('RGB', (size,size), bg)
                draw = ImageDraw.Draw(img)
                draw.polygon((p1, p2, p3, p4), fill = (r,g,b), outline = (r,g,b))
                img.save(filename(i))
            num += 1
            ffmpeg(num)
            delpng
