🌟 Aperçu (Essayez VL maintenant !)
VideoLingo est un outil tout-en-un de traduction, de localisation et de doublage vidéo visant à générer des sous-titres de qualité Netflix. Il élimine les traductions automatiques rigides et les sous-titres multi-lignes tout en ajoutant un doublage de haute qualité, permettant le partage des connaissances à l'échelle mondiale au-delà des barrières linguistiques.
Fonctionnalités principales :
-
🎥 Téléchargement de vidéos YouTube via yt-dlp
-
🎙️ Reconnaissance de sous-titres au niveau des mots et à faible illusion avec WhisperX
-
📝 Segmentation des sous-titres basée sur le NLP et l'IA
-
📚 Terminologie personnalisée + générée par IA pour une traduction cohérente
-
🔄 Processus en 3 étapes : Traduction-Réflexion-Adaptation pour une qualité cinématographique
-
✅ Sous-titres uniquement sur une ligne, aux normes Netflix
-
🗣️ Doublage avec GPT-SoVITS, Azure, OpenAI et plus
-
🚀 Démarrage et traitement en un clic dans Streamlit
-
🌍 Support multi-langues dans l'interface utilisateur Streamlit
-
📝 Journalisation détaillée avec reprise de la progression
Différence par rapport aux projets similaires : Sous-titres sur une seule ligne uniquement, qualité de traduction supérieure, expérience de doublage transparente
ru_demo.mp4 |
sovits.mp4 |
Support des langues d'entrée (d'autres à venir) :
🇺🇸 Anglais 🤩 | 🇷🇺 Russe 😊 | 🇫🇷 Français 🤩 | 🇩🇪 Allemand 🤩 | 🇮🇹 Italien 🤩 | 🇪🇸 Espagnol 🤩 | 🇯🇵 Japonais 😐 | 🇨🇳 Chinois* 😊
*Le chinois utilise un modèle whisper séparé amélioré par la ponctuation, pour l'instant...
La traduction prend en charge toutes les langues, tandis que la langue de doublage dépend de la méthode TTS choisie.
Vous n'avez pas besoin de lire toute la documentation, ici se trouve un agent IA en ligne pour vous aider.
Note : Pour les utilisateurs Windows avec un GPU NVIDIA, suivez ces étapes avant l'installation :
- Installez CUDA Toolkit 12.6
- Installez CUDNN 9.3.0
- Ajoutez
C:\Program Files\NVIDIA\CUDNN\v9.3\bin\12.6
à votre PATH système- Redémarrez votre ordinateur
Note : FFmpeg est requis. Veuillez l'installer via les gestionnaires de paquets :
- Windows :
choco install ffmpeg
(via Chocolatey)- macOS :
brew install ffmpeg
(via Homebrew)- Linux :
sudo apt install ffmpeg
(Debian/Ubuntu)
- Clonez le dépôt
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
- Installez les dépendances (nécessite
python=3.10
)
conda create -n videolingo python=3.10.0 -y
conda activate videolingo
python install.py
- Démarrer l'application
streamlit run st.py
Alternativement, vous pouvez utiliser Docker (nécessite CUDA 12.4 et NVIDIA Driver version >550), voir Documentation Docker :
docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo
VideoLingo prend en charge le format d'API OpenAI et diverses interfaces TTS :
- LLM :
claude-3-5-sonnet-20240620
,deepseek-chat(v3)
,gemini-2.0-flash-exp
,gpt-4o
, ... (triés par performance) - WhisperX : Exécutez whisperX localement ou utilisez l'API 302.ai
- TTS :
azure-tts
,openai-tts
,siliconflow-fishtts
,fish-tts
,GPT-SoVITS
,edge-tts
,*custom-tts
(Vous pouvez modifier votre propre TTS dans custom_tts.py !)
Note : VideoLingo fonctionne avec 302.ai - une seule clé API pour tous les services (LLM, WhisperX, TTS). Ou exécutez localement avec Ollama et Edge-TTS gratuitement, sans API nécessaire !
Pour des instructions détaillées sur l'installation, la configuration de l'API et le mode batch, veuillez consulter la documentation : English | 中文
-
Les performances de transcription de WhisperX peuvent être affectées par le bruit de fond de la vidéo, car il utilise le modèle wav2vac pour l'alignement. Pour les vidéos avec une musique de fond forte, veuillez activer l'amélioration de la séparation vocale. De plus, les sous-titres se terminant par des chiffres ou des caractères spéciaux peuvent être tronqués prématurément en raison de l'incapacité de wav2vac à mapper les caractères numériques (par exemple, "1") à leur forme parlée ("un").
-
L'utilisation de modèles plus faibles peut entraîner des erreurs lors des processus intermédiaires en raison des exigences strictes de format JSON pour les réponses. Si cette erreur se produit, veuillez supprimer le dossier
output
et réessayer avec un LLM différent, sinon l'exécution répétée lira la réponse erronée précédente causant la même erreur. -
La fonction de doublage peut ne pas être parfaite à 100% en raison des différences de débit et d'intonation entre les langues, ainsi que de l'impact de l'étape de traduction. Cependant, ce projet a mis en œuvre un traitement d'ingénierie extensif pour les débits de parole afin d'assurer les meilleurs résultats de doublage possibles.
-
La reconnaissance de transcription vidéo multilingue ne conservera que la langue principale. C'est parce que whisperX utilise un modèle spécialisé pour une seule langue lors de l'alignement forcé des sous-titres au niveau des mots, et supprimera les langues non reconnues.
-
Impossible de doubler séparément plusieurs personnages, car la capacité de distinction des locuteurs de whisperX n'est pas suffisamment fiable.
Ce projet est sous licence Apache 2.0. Remerciements spéciaux aux projets open source suivants pour leurs contributions :
whisperX, yt-dlp, json_repair, BELLE
- Soumettez des Issues ou des Pull Requests sur GitHub
- DM moi sur Twitter : @Huanshere
- Envoyez-moi un email à : [email protected]
Si vous trouvez VideoLingo utile, donnez-moi une ⭐️ !