🌟 概述 (立即體驗 VL!)
VideoLingo 是一個全方位的影片翻譯、本地化和配音工具,旨在生成 Netflix 品質的字幕。它消除了機器翻譯的生硬感和多行字幕,同時提供高品質配音,實現跨越語言障礙的全球知識共享。
主要功能:
-
🎥 通過 yt-dlp 下載 YouTube 影片
-
🎙️ 使用 WhisperX 進行詞級別和低幻覺字幕識別
-
📝 基於 NLP 和 AI 的字幕分段
-
📚 自定義 + AI 生成術語庫確保翻譯一致性
-
🔄 三步驟翻譯-反思-調適實現影院級品質
-
✅ Netflix 標準,僅單行字幕
-
🗣️ 使用 GPT-SoVITS、Azure、OpenAI 等進行配音
-
🚀 在 Streamlit 中一鍵啟動和處理
-
🌍 Streamlit UI 多語言支持
-
📝 詳細日誌記錄和進度恢復
與類似項目的區別:僅單行字幕、更優質的翻譯、無縫配音體驗
ru_demo.mp4 |
sovits.mp4 |
輸入語言支持(更多語言即將推出):
🇺🇸 英語 🤩 | 🇷🇺 俄語 😊 | 🇫🇷 法語 🤩 | 🇩🇪 德語 🤩 | 🇮🇹 義大利語 🤩 | 🇪🇸 西班牙語 🤩 | 🇯🇵 日語 😐 | 🇨🇳 中文* 😊
*中文目前使用單獨的標點增強版 whisper 模型...
翻譯支持所有語言,配音語言則取決於所選的 TTS 方法。
您無需閱讀所有文檔,這裡有一個在線 AI 助手可以幫助您。
注意: Windows 用戶如使用 NVIDIA GPU,請在安裝前執行以下步驟:
- 安裝 CUDA Toolkit 12.6
- 安裝 CUDNN 9.3.0
- 將
C:\Program Files\NVIDIA\CUDNN\v9.3\bin\12.6
添加到系統 PATH- 重啟電腦
注意: 需要安裝 FFmpeg。請通過包管理器安裝:
- Windows:
choco install ffmpeg
(通過 Chocolatey)- macOS:
brew install ffmpeg
(通過 Homebrew)- Linux:
sudo apt install ffmpeg
(Debian/Ubuntu)
- 克隆倉庫
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
- 安裝依賴(需要
python=3.10
)
conda create -n videolingo python=3.10.0 -y
conda activate videolingo
python install.py
- 啟動應用
streamlit run st.py
或者,您可以使用 Docker(需要 CUDA 12.4 和 NVIDIA 驅動版本 >550),參見 Docker 文檔:
docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo
VideoLingo 支持 OpenAI 格式的 API 和各種 TTS 接口:
- LLM:
claude-3-5-sonnet-20240620
、deepseek-chat(v3)
、gemini-2.0-flash-exp
、gpt-4o
、...(按性能排序) - WhisperX:本地運行 whisperX 或使用 302.ai API
- TTS:
azure-tts
、openai-tts
、siliconflow-fishtts
、fish-tts
、GPT-SoVITS
、edge-tts
、*custom-tts
(您可以在 custom_tts.py 中修改自己的 TTS!)
注意: VideoLingo 與 302.ai 合作 - 一個 API 密鑰即可使用所有服務(LLM、WhisperX、TTS)。或者使用 Ollama 和 Edge-TTS 在本地免費運行,無需 API!
詳細安裝、API 配置和批處理模式說明,請參閱文檔:English | 中文
-
WhisperX 轉錄性能可能受到視頻背景噪音影響,因為它使用 wav2vac 模型進行對齊。對於有大量背景音樂的視頻,請啟用語音分離增強。此外,由於 wav2vac 無法將數字字符(如"1")映射到其口語形式("one"),以數字或特殊字符結尾的字幕可能會提前截斷。
-
使用較弱的模型可能會由於對響應的嚴格 JSON 格式要求而在中間過程中出錯。如果出現此錯誤,請刪除
output
文件夾並使用不同的 LLM 重試,否則重複執行將讀取先前的錯誤響應導致相同錯誤。 -
由於語言之間的語速和語調差異,以及翻譯步驟的影響,配音功能可能無法 100% 完美。但是,本項目已經對語速進行了大量工程處理,以確保最佳的配音效果。
-
多語言視頻轉錄識別將只保留主要語言。這是因為 whisperX 在強制對齊詞級字幕時使用單一語言的專用模型,並會刪除無法識別的語言。
-
無法分別為多個角色配音,因為 whisperX 的說話人區分能力尚不夠可靠。
本項目採用 Apache 2.0 許可證。特別感謝以下開源項目的貢獻:
whisperX、yt-dlp、json_repair、BELLE
- 在 GitHub 上提交 Issues 或 Pull Requests
- 在 Twitter 上私信我:@Huanshere
- 發送郵件至:[email protected]
如果您覺得 VideoLingo 有幫助,請給我一個 ⭐️!