VideoLingo README

The project's README from github.com/Huanshere/VideoLingo. As one markdown file: README.md.

VideoLingo Logo

Connect the World, Frame by Frame

Huanshere%2FVideoLingo | Trendshift

English|简体中文|繁體中文|日本語|Español|Русский|Français

🌟 Overview (Try VL Now!)

VideoLingo is an all-in-one video translation, localization, and dubbing tool aimed at generating Netflix-quality subtitles. It eliminates stiff machine translations and multi-line subtitles while adding high-quality dubbing, enabling global knowledge sharing across language barriers.

Key features:

Difference from similar projects: Single-line subtitles only, superior translation quality, seamless dubbing experience

🎥 Demo

Dual Subtitles


https://github.com/user-attachments/assets/a5c3d8d1-2b29-4ba9-b0d0-25896829d951

Cosy2 Voice Clone


https://github.com/user-attachments/assets/e065fe4c-3694-477f-b4d6-316917df7c0a

GPT-SoVITS with my voice


https://github.com/user-attachments/assets/47d965b2-b4ab-4a0b-9d08-b49a7bf3508c

Language Support

Input Language Support(more to come):

🇺🇸 English 🤩 | 🇷🇺 Russian 😊 | 🇫🇷 French 🤩 | 🇩🇪 German 🤩 | 🇮🇹 Italian 🤩 | 🇪🇸 Spanish 🤩 | 🇯🇵 Japanese 😐 | 🇨🇳 Chinese* 😊

*Chinese uses a separate punctuation-enhanced whisper model, for now...

Translation supports all languages, while dubbing language depends on the chosen TTS method.

Installation

Meet any problem? Chat with our free online AI agent here to help you.

Note: For Windows users with NVIDIA GPU, follow these steps before installation:

  1. Install CUDA Toolkit 12.6
  2. Install CUDNN 9.3.0
  3. Add C:\Program Files\NVIDIA\CUDNN\v9.3\bin\12.6 to your system PATH
  4. Restart your computer

Note: FFmpeg is required. Please install it via package managers:

  • Windows: choco install ffmpeg (via Chocolatey)
  • macOS: brew install ffmpeg (via Homebrew)
  • Linux: sudo apt install ffmpeg (Debian/Ubuntu)

uv automatically downloads Python 3.10 and creates an isolated environment — no need to install Python or Anaconda yourself.

  1. Clone the repository
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
  1. One-command setup (installs uv + Python 3.10 + all dependencies)
python setup_env.py
  1. Start the application
.venv\Scripts\streamlit run st.py        # Windows
.venv/bin/streamlit run st.py            # macOS / Linux

Or double-click OneKeyStart.bat on Windows.

Option B: Using Conda

⚠️ Not recommended. This method will not be maintained going forward. Please use uv (Option A) above.

Click to expand Conda installation steps
  1. Clone the repository
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
  1. Install dependencies (requires python=3.10)
conda create -n videolingo python=3.10.0 -y
conda activate videolingo
python install.py
  1. Start the application
streamlit run st.py

Docker

Alternatively, you can use Docker (requires CUDA 12.4 and NVIDIA Driver version >550), see Docker docs:

docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo

APIs

VideoLingo supports OpenAI-Like API format and various TTS interfaces:

Note: VideoLingo works with 302.ai - one API key for all services (LLM, WhisperX, TTS). Or run locally with Ollama and Edge-TTS for free, no API needed!

For detailed installation, API configuration, and batch mode instructions, please refer to the documentation: English | 中文

Current Limitations

  1. WhisperX transcription performance may be affected by video background noise, as it uses wav2vac model for alignment. For videos with loud background music, please enable Voice Separation Enhancement. Additionally, subtitles ending with numbers or special characters may be truncated early due to wav2vac's inability to map numeric characters (e.g., "1") to their spoken form ("one").

  2. Using weaker models can lead to errors during processes due to strict JSON format requirements for responses (tried my best to prompt llm😊). If this error occurs, please delete the output folder and retry with a different LLM, otherwise repeated execution will read the previous erroneous response causing the same error.

  3. The dubbing feature may not be 100% perfect due to differences in speech rates and intonation between languages, as well as the impact of the translation step. However, this project has implemented extensive engineering processing for speech rates to ensure the best possible dubbing results.

  4. Multilingual video transcription recognition will only retain the main language. This is because whisperX uses a specialized model for a single language when forcibly aligning word-level subtitles, and will delete unrecognized languages.

  5. For now, cannot dub multiple characters separately, as whisperX's speaker distinction capability is not sufficiently reliable.

📄 License

This project is licensed under the Apache 2.0 License. Special thanks to the following open source projects for their contributions:

whisperX, yt-dlp, json_repair, BELLE

📬 Contact Me

⭐ Star History

Star History Chart


If you find VideoLingo helpful, please give me a ⭐️!

VideoLingo (Huanshere/VideoLingo)

Searching Database…

Что это такое?VideoLingo — это AI-инструмент «всё в одном» для перевода, локализации и озвучивания видео. Он создаёт однострочные субтитры уровня Netflix и может добавить качественную озвучку — всё полностью автоматически, в один клик.
Это онлайн-сервис или программа, которую я запускаю у себя на компьютере?Программа для локального запуска: она открывает интерфейс Streamlit в вашем браузере и оттуда управляет всем процессом. Есть и альтернативный вариант — через Docker.
Как её запустить?Установите FFmpeg через менеджер пакетов вашей системы, склонируйте репозиторий и запустите настройку одной командой через uv — она сама установит Python 3.10 и все зависимости. На Windows можно также дважды щёлкнуть OneKeyStart.bat.
Нужны ли API-ключи для AI-частей или можно обойтись бесплатно?Обычно настраивается LLM с OpenAI-совместимым API (по умолчанию DeepSeek V4 Flash через OpenRouter), WhisperX и сервис TTS — один ключ 302.ai закрывает все три пункта. Для бесплатного варианта запустите Ollama локально и используйте Edge-TTS — тогда API-ключи вообще не нужны.
Где она ещё не дотягивает?Фоновый шум ухудшает распознавание речи, субтитры, заканчивающиеся числом, могут обрезаться, а слабые LLM иногда не справляются со строгими шагами проверки JSON — тогда удаляют папку с результатом и пробуют другую модель. Озвучка не идеальна на 100%, при многоязычном аудио сохраняется только основной язык, а отдельные голоса для разных персонажей не поддерживаются.
На каких системах она работает?Поддерживаются Windows, macOS и Linux — для каждой системы есть свои шаги установки, плюс вариант с Docker, для которого нужна видеокарта NVIDIA. Сам интерфейс — это локальное веб-приложение на Streamlit.
Какая у неё лицензия — есть ли ограничения?Apache 2.0 — разрешительная лицензия: можно свободно использовать и изменять проект, в том числе в коммерческих целях.
Мне нужна видеокарта NVIDIA?Видеокарта помогает при локальном распознавании речи через WhisperX, а для варианта с Docker нужны CUDA 12.4 и драйвер NVIDIA выше 550; пользователям Windows с NVIDIA стоит сначала установить CUDA Toolkit 12.6 и CUDNN 9.3.0. Вместо локального распознавания можно переложить его на API 302.ai.
Что на самом деле происходит с видео, когда я его отдаю?Программа скачивает видео через yt-dlp, распознаёт речь с пословными субтитрами через WhisperX, разбивает их на естественные фрагменты с помощью NLP и AI, переводит, используя собственный или созданный AI банк терминов плюс проход из трёх шагов «Translate-Reflect-Adaptation», и экспортирует однострочные субтитры по стандарту Netflix — при желании сверху добавляется озвучка.
С какими языками она умеет работать?На вход: английский, русский, французский, немецкий, итальянский, испанский, японский и китайский, список планируется расширять. Перевод доступен на все языки, а озвучка зависит от выбранного метода TTS.
Как устроена озвучка — она может клонировать мой голос?Озвучка идёт через GPT-SoVITS, Azure, OpenAI, fish-tts, siliconflow или edge-tts, а customtts.py позволяет подключить свой TTS. В демо показано клонирование голоса с помощью Cosy2 и GPT-SoVITS на примере голоса автора.
Чем она лучше других инструментов для субтитров?Автор противопоставляет её похожим проектам по трём пунктам: только однострочные субтитры по стандарту Netflix (без многострочных), более высокое качество перевода и более бесшовная озвучка.
Creator
Huanshere
Size
15.9 MB
Stars
18.8K
Age
2y
Commits · 90 Days