import os
import subprocess
import sys

def convert_subs():
    work_dir = input("Enter folder path: ").strip('"')
    
    if not os.path.isdir(work_dir):
        print("Directory not found.")
        return

    output_dir = os.path.join(work_dir, "Converted_SRT")
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    video_extensions = ('.mkv', '.mp4', '.avi', '.mov', '.flv')
    files = [f for f in os.listdir(work_dir) if f.lower().endswith(video_extensions)]

    if not files:
        print("No video files found.")
        return

    print(f"Found {len(files)} files. Starting...")

    for file_name in files:
        input_path = os.path.join(work_dir, file_name)
        output_path = os.path.join(output_dir, file_name)
        
        print(f"Processing: {file_name}")

        cmd = [
            'ffmpeg',
            '-y',
            '-hide_banner',
            '-loglevel', 'error',
            '-i', input_path,
            '-map', '0',
            '-c:v', 'copy',
            '-c:a', 'copy',
            '-c:s', 'subrip',
            output_path
        ]

        try:
            subprocess.run(cmd, check=True)
        except subprocess.CalledProcessError:
            print(f"Error processing {file_name}")

    print("All tasks finished.")

if __name__ == "__main__":
    convert_subs()
