VideoLingo est un outil complet intégrant des fonctionnalités de traduction, de localisation et de doublage vidéo, conçu pour générer des sous-titres de qualité Netflix. Ce projet élimine les traductions automatiques maladroites et les problèmes de sous-titres multilignes, tout en ajoutant un doublage de haute qualité, permettant ainsi le partage mondial des connaissances au-delà des barrières linguistiques.
*Le chinois utilise un modèle whisper amélioré avec une ponctuation spécifique
La traduction prend en charge toutes les langues, les langues de doublage dépendent de la méthode TTS choisie.
C:\Program Files\NVIDIA\CUDNN\v9.3\bin\12.6
au PATH systèmechoco install ffmpeg
(via Chocolatey)brew install ffmpeg
(via Homebrew)sudo apt install ffmpeg
(Debian/Ubuntu)git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
conda create -n videolingo python=3.10.0 -y
conda activate videolingo
python install.py
streamlit run st.py
docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo
Nécessite CUDA 12.4 et une version du pilote NVIDIA > 550
VideoLingo prend en charge le format d'API de type OpenAI et diverses interfaces TTS :
claude-3-5-sonnet
gpt-4.1
deepseek-v3
gemini-2.0-flash
azure-tts
openai-tts
siliconflow-fishtts
fish-tts
GPT-SoVITS
edge-tts
*custom-tts
(peut être modifié dans custom_tts.py pour un TTS personnalisé)Impact de la qualité audio : Les performances de transcription de WhisperX peuvent être affectées par le bruit de fond de la vidéo. Pour les vidéos avec une musique de fond importante, veuillez activer la fonction d'amélioration de la séparation vocale.
Traitement des caractères numériques : Les sous-titres se terminant par des chiffres ou des caractères spéciaux peuvent être tronqués prématurément, car wav2vac ne peut pas mapper les caractères numériques (par exemple, "1") à leur forme orale (par exemple, "un").
Compatibilité des modèles : L'utilisation de modèles plus faibles peut entraîner des erreurs pendant le traitement en raison d'exigences strictes en matière de format JSON.
Perfection du doublage : En raison des différences de débit de parole et d'intonation entre les langues, ainsi que de l'impact des étapes de traduction, la fonction de doublage peut ne pas être parfaite à 100 %.
Reconnaissance multilingue : La reconnaissance de la transcription vidéo multilingue ne conservera que la langue principale.
Doublage multi-rôles : Il n'est actuellement pas possible de doubler plusieurs rôles séparément, car la capacité de différenciation des locuteurs de whisperX n'est pas suffisamment fiable.