🌟 简介(在线体验!)
VideoLingo 是一站式视频翻译本地化配音工具,能够一键生成 Netflix 级别的高质量字幕,告别生硬机翻,告别多行字幕,还能加上高质量的克隆配音,让全世界的知识能够跨越语言的障碍共享。
主要特点和功能:
-
🎥 使用 yt-dlp 从 Youtube 链接下载视频
-
🎙️ 使用 WhisperX 进行单词级时间轴字幕识别
-
📝 使用 NLP 和 GPT 根据句意进行字幕分割
-
📚 GPT 总结提取术语知识库,上下文连贯翻译
-
🔄 三步直译、反思、意译,媲美字幕组精翻效果
-
✅ 按照 Netflix 标准检查单行长度,绝无双行字幕
-
🗣️ 使用 GPT-SoVITS 等方法对齐克隆配音
-
🚀 整合包一键启动,在 streamlit 中一键出片
-
📝 详细记录每步操作日志,支持随时中断和恢复进度
与同类项目相比的优势:绝无多行字幕,最佳的翻译质量,无缝的配音体验
ru_demo.mp4 |
sovits.mp4 |
输入语言支持:
🇺🇸 英语 🤩 | 🇷🇺 俄语 😊 | 🇫🇷 法语 🤩 | 🇩🇪 德语 🤩 | 🇮🇹 意大利语 🤩 | 🇪🇸 西班牙语 🤩 | 🇯🇵 日语 😐 | 🇨🇳 中文* 😊
*中文使用单独的标点增强后的 whisper 模型
翻译语言支持所有语言,配音语言取决于选取的TTS。
注意: 在 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)或sudo dnf install ffmpeg
(Fedora)
- 克隆仓库
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 Driver 版本 >550),详见Docker文档:
docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo
本项目支持 OpenAI-Like 格式的 api 和多种配音接口:
claude-3-5-sonnet-20240620
,gemini-1.5-pro-002
,gpt-4o
,qwen2.5-72b-instruct
,deepseek-coder
, ...(按效果排序)azure-tts
,openai-tts
,siliconflow-fishtts
,fish-tts
,GPT-SoVITS
详细的安装、 API 配置、汉化、批量说明可以参见文档:English | 简体中文
-
WhisperX 转录效果可能受到视频背景声影响,因为使用了 wav2vac 模型进行对齐。对于背景音乐较大的视频,请开启人声分离增强。另外,如果字幕以数字或特殊符号结尾,可能会导致提前截断,这是因为 wav2vac 无法将数字字符(如"1")映射到其发音形式("one")。
-
使用较弱模型时容易在中间过程报错,这是因为对响应的 json 格式要求较为严格。如果出现此错误,请删除
output
文件夹后更换 llm 重试,否则重复执行会读取上次错误的响应导致同样错误。 -
配音功能由于不同语言的语速和语调差异,还受到翻译步骤的影响,可能不能 100% 完美,但本项目做了非常多的语速上的工程处理,尽可能保证配音效果。
-
多语言视频转录识别仅仅只会保留主要语言,这是由于 whisperX 在强制对齐单词级字幕时使用的是针对单个语言的特化模型,会因为不认识另一种语言而删去。
-
无法多角色分别配音,whisperX 的说话人区分效果不够好用。
本项目采用 Apache 2.0 许可证,衷心感谢以下开源项目的贡献:
whisperX, yt-dlp, json_repair, BELLE
- 加入我们的 QQ 群寻求解答:875297969
- 在 GitHub 上提交 Issues 或 Pull Requests
- 关注我的 Twitter:@Huanshere
- 联系邮箱:[email protected]