Videoübersetzungs-, Lokalisierungs- und Synchronisationstool auf Netflix-Niveau, das mit einem Klick KI-Untertitel schneidet, übersetzt, ausrichtet und synchronisiert.
VideoLingo - KI-gestütztes Videoübersetzungs-, Untertitelungs- und Synchronisationswerkzeug auf Netflix-Niveau
🌟 Projektübersicht
VideoLingo ist ein umfassendes Werkzeug, das Videoübersetzung, Lokalisierung und Synchronisation in einem vereint, mit dem Ziel, Untertitel in Netflix-Qualität zu erstellen. Das Projekt beseitigt holprige maschinelle Übersetzungen und mehrzeilige Untertitelprobleme und fügt gleichzeitig hochwertige Synchronisation hinzu, damit globales Wissen sprachübergreifend geteilt werden kann.
🎯 Kernfunktionen
Hauptfunktionen
- 🎥 YouTube-Video-Download: Video-Download mit yt-dlp
- 🎙️ Hochpräzise Spracherkennung: Verwendung von WhisperX für wortgenaue und halluzinationsarme Untertitelerkennung
- 📝 Intelligente Untertitelteilung: Untertitelteilung basierend auf NLP- und KI-Technologien
- 📚 Terminologiemanagement: Benutzerdefinierte + KI-generierte Glossare zur Sicherstellung der Übersetzungskonsistenz
- 🔄 Drei-Schritte-Übersetzungsprozess: Filmreife Qualitätsverarbeitung durch Übersetzung-Reflexion-Anpassung
- ✅ Netflix-Standard-Untertitel: Generiert nur einzeilige Untertitel, die dem Netflix-Standard entsprechen
- 🗣️ Multi-Engine-Synchronisation: Unterstützt verschiedene Synchronisations-Engines wie GPT-SoVITS, Azure, OpenAI usw.
- 🚀 Ein-Klick-Start: Ein-Klick-Start und -Verarbeitung über Streamlit
- 🌍 Mehrsprachige Benutzeroberfläche: Streamlit UI unterstützt mehrere Sprachen
- 📝 Detaillierte Protokolle: Detailliertes Protokollsystem zur Wiederherstellung des Fortschritts
Unterschiede zu ähnlichen Projekten
- Generiert nur einzeilige Untertitel: Entspricht professionellen Standards
- Hervorragende Übersetzungsqualität: Mehrstufiger Übersetzungsprozess gewährleistet Qualität
- Nahtloses Synchronisationserlebnis: Auswahl verschiedener TTS-Engines
🌍 Unterstützte Sprachen
Unterstützung für Eingabesprachen
- 🇺🇸 Englisch 🤩
- 🇷🇺 Russisch 😊
- 🇫🇷 Französisch 🤩
- 🇩🇪 Deutsch 🤩
- 🇮🇹 Italienisch 🤩
- 🇪🇸 Spanisch 🤩
- 🇯🇵 Japanisch 😐
- 🇨🇳 Chinesisch* 😊
*Chinesisch verwendet ein separates Whisper-Modell zur Verbesserung der Zeichensetzung
Die Übersetzung unterstützt alle Sprachen, die Synchronisationssprache hängt von der gewählten TTS-Methode ab.
🔧 Installationsanforderungen
Systemanforderungen
- Python 3.10
- FFmpeg
- CUDA-Unterstützung (Windows NVIDIA GPU-Benutzer)
Vorinstallationsschritte für Windows NVIDIA GPU-Benutzer
- Installieren Sie das CUDA Toolkit 12.6
- Installieren Sie CUDNN 9.3.0
- Fügen Sie
C:\Program Files\NVIDIA\CUDNN\v9.3\bin\12.6
zum System-PATH hinzu - Starten Sie den Computer neu
FFmpeg-Installation
- Windows:
choco install ffmpeg
(über Chocolatey) - macOS:
brew install ffmpeg
(über Homebrew) - Linux:
sudo apt install ffmpeg
(Debian/Ubuntu)
📥 Installationsschritte
1. Klonen Sie das Repository
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
2. Installieren Sie die Abhängigkeiten (benötigt python=3.10)
conda create -n videolingo python=3.10.0 -y
conda activate videolingo
python install.py
3. Starten Sie die Anwendung
streamlit run st.py
Docker-Installation (optional)
docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo
Benötigt CUDA 12.4 und NVIDIA-Treiberversion >550
🔌 API-Unterstützung
VideoLingo unterstützt das OpenAI-Like API-Format und verschiedene TTS-Schnittstellen:
LLM-Unterstützung
claude-3-5-sonnet
gpt-4.1
deepseek-v3
gemini-2.0-flash
- ... (sortiert nach Leistung, gemini-2.5-flash sollte mit Vorsicht verwendet werden)
WhisperX-Optionen
- Lokales Ausführen von whisperX (large-v3)
- Verwenden der 302.ai API
TTS-Engines
azure-tts
openai-tts
siliconflow-fishtts
fish-tts
GPT-SoVITS
edge-tts
*custom-tts
(kann in custom_tts.py geändert werden)
Bequeme Optionen
- Verwenden Sie 302.ai einen API-Schlüssel für den Zugriff auf alle Dienste (LLM, WhisperX, TTS)
- Lokales Ausführen von Ollama und Edge-TTS ist völlig kostenlos und erfordert keine API
⚠️ Bekannte Einschränkungen
Audioqualitätseinfluss: Die Transkriptionsleistung von WhisperX kann durch Hintergrundgeräusche im Video beeinträchtigt werden. Aktivieren Sie für Videos mit lauter Hintergrundmusik die Funktion zur Verbesserung der Sprachtrennung.
Verarbeitung numerischer Zeichen: Untertitel, die mit Zahlen oder Sonderzeichen enden, können vorzeitig abgeschnitten werden, da wav2vac numerische Zeichen (z. B. "1") nicht ihren gesprochenen Formen (z. B. "eins") zuordnen kann.
Modellkompatibilität: Die Verwendung schwächerer Modelle kann aufgrund strenger JSON-Formatanforderungen zu Fehlern im Verarbeitungsprozess führen.
Perfektion der Synchronisation: Aufgrund von Unterschieden in Sprechgeschwindigkeit und Tonlage zwischen den Sprachen sowie den Auswirkungen der Übersetzungsschritte ist die Synchronisationsfunktion möglicherweise nicht zu 100 % perfekt.
Mehrsprachenerkennung: Die Transkriptionserkennung von mehrsprachigen Videos behält nur die Hauptsprache bei.
Mehrere Rollen-Synchronisation: Derzeit ist es nicht möglich, mehrere Rollen separat zu synchronisieren, da die Sprecherunterscheidungsfähigkeit von whisperX nicht zuverlässig genug ist.