import subprocess import os import time convert_dir = "/Users/ducoterra/Desktop/" debug = False while True: # get a list of all .mov or .gif files movs = list(filter(lambda item: item.endswith(".mov"), os.listdir(convert_dir))) if debug: print(f"Found {len(movs)} .mov files.") gifs = list(filter(lambda item: item.endswith(".gif"), os.listdir(convert_dir))) if debug: print(f"Found {len(gifs)} .gif files.") # find files that are not already gifs and aren't default not_done = list(filter(lambda mov: mov.replace(".mov",".gif") not in gifs and not mov.startswith("Screen Recording"), movs)) if debug: print(f"Found {len(not_done)} to convert.") for mov in not_done: print(f"converting {mov}. Ctrl + C to stop...") if debug: time.sleep(5) subprocess.run(['/usr/local/bin/ffmpeg', '-i', convert_dir + mov, '-filter:v', 'setpts=0.5*PTS', convert_dir + mov.replace(".mov",".gif")], capture_output=True) time.sleep(1)