import os
import sys
from PIL import Image

def make_thumb(vidpath):
    if os.path.isfile(f"{vidpath}.png"):
        return

    os.system(f"ffmpeg -i \"{vidpath}\" -ss 00:00:00 -vframes 1 \"{vidpath}.png\"")
    image = Image.open(f"{vidpath}.png")
    if (image.size[0] / image.size[1]) < (16 / 9):
        nh = image.size[1]
        nw = int(nh * (16 / 9))
        new_image = Image.new("RGBA", (nw, nh), (0,0,0,0))
        x_offset = (nw - image.size[0]) // 2
        for y in range(image.size[1]):
            for x in range(image.size[0]):
                new_image.putpixel((x_offset + x, y), image.getpixel((x, y)))
        new_image.save(f"{vidpath}.png")
    elif image.size[0] / image.size[1] > (16 / 9):
        nw = image.size[0]
        nh = int(nw / (16 / 9))
        new_image = Image.new("RGBA", (nw, nh), (0,0,0,0))
        y_offset = (nh - image.size[1]) // 2
        for y in range(image.size[1]):
            for x in range(image.size[0]):
                new_image.putpixel((x, y_offset + y), image.getpixel((x, y)))
    else:
        new_image = image

    nw = 500
    nh = int(nw * (9 / 16))
    new_image = new_image.resize((nw, nh))
    new_image.save(f"{vidpath}.png")

if __name__ == "__main__":
    if len(sys.argv) >= 2:
        make_thumb(sys.argv[1])

