Video Transcriber and Translator License: MIT

A Python script that automates video subtitle creation & translation, supporting both local files and online video URLs.

🚀 Features

🎬 Demo

Here are some examples of the script in action:

1. English to Korean Translation

American Psycho - Korean

2. English to Spanish Translation

Meet the Spy - Spanish

3. German to English Translation

Adolf Hitler Speech - German

4. Spanish to English Translation

El hoyo - Spanish
Note: Results may vary with accents or background music, especially when using the local model. Video and caption synchronization might be affected when the audio isn't clear. The above clips were processed using OpenAI for both transcription & translation (default script behavior).

🖥️ Usage

Run the script using the following command:

python translate.py video_input target_language [options]

Arguments:

Options:

📋 Examples

  1. Translate YouTube video subtitles to Spanish (using default ChatGPT Whisper):

    python translate.py https://www.youtube.com/watch?v=VIDEO_ID Spanish
  2. Translate local video file subtitles to French (using default ChatGPT Whisper):

    python translate.py /path/to/your/video.mp4 French
  3. Use a specific output directory and font:

    python translate.py input_video.mp4 German --output_dir my_output --font Arial
  4. Use a local model for transcription:

    python translate.py input_video.mp4 Korean --use_local_whisper

🛠️ Installation

1. FFmpeg Installation

Windows:

  1. Download FFmpeg from ffmpeg.org
  2. Extract the ZIP file
  3. Add the bin folder path to system PATH
  4. Verify installation: ffmpeg -version

macOS:

brew install ffmpeg

Linux:

sudo apt update
sudo apt install ffmpeg

2. Python Dependencies

Create and activate a virtual environment:

python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows

Install required packages:

pip install openai==1.12.0
pip install faster-whisper==0.10.0
pip install yt-dlp==2024.3.10
pip install ffmpeg-python==0.2.0
pip install pydub==0.25.1

3. OpenAI API Setup

  1. Create account at platform.openai.com
  2. Generate API key in account settings
  3. Set environment variable:
    # Linux/macOS
    export OPENAI_API_KEY='your-key-here'
    
    # Windows (PowerShell)
    $env:OPENAI_API_KEY='your-key-here'

4. Download the repository

  1. Clone repository:
    git clone https://github.com/tikene/video-caption-and-translate.git
    cd video-caption-and-translate
  2. Verify installation:
    python translate.py --help

Common Issues

FFmpeg Not Found

OpenAI API Errors

📂 Output

The script generates the following files in the output directory:

  1. Downloaded video (if URL was provided)
  2. Translated SRT subtitle file
  3. Video with embedded translated subtitles

⚠️ Important Notes

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Source Code

Development

GitHub Stars