import subprocess from pathlib import Path # Settings TARGET_WIDTH = 1280 TARGET_HEIGHT = 720 TARGET_FPS = 24 input_folder = Path(__file__).parent output_folder = input_folder / "converted" output_folder.mkdir(exist_ok=True) mp4_files = list(input_folder.glob("*.mp4")) if not mp4_files: print("No MP4 files found.") input("Press Enter to exit...") quit() for video in mp4_files: output_file = output_folder / video.name print(f"Converting: {video.name}") cmd = [ "ffmpeg", "-y", "-i", str(video), "-vf", f"scale={TARGET_WIDTH}:{TARGET_HEIGHT}:force_original_aspect_ratio=decrease,pad={TARGET_WIDTH}:{TARGET_HEIGHT}:(ow-iw)/2:(oh-ih)/2", "-r", str(TARGET_FPS), "-c:v", "libx264", "-preset", "veryfast", "-crf", "25", "-pix_fmt", "yuv420p", "-c:a", "aac", "-b:a", "128k", str(output_file) ] result = subprocess.run(cmd) if result.returncode == 0: print(f"✓ Finished {video.name}") else: print(f"✗ Failed {video.name}") print("\nDone!") input("Press Enter to exit...")