你是否想过,如何让全世界的知识跨越语言的障碍,共享给更多人?今天,我将为大家介绍一款名为 VideoLingo 的一站式视频翻译本地化配音工具,它能够一键生成 Netflix 级别的高质量字幕,告别生硬机翻,告别多行字幕,还能加上高质量的克隆配音让全世界的知识能够跨越语言的障碍共享。

VideoLingo 的主要特点和功能:

  • 一键下载视频: 使用 yt-dlp 从 YouTube 链接下载视频。

  • 单词级和低幻觉字幕识别: 使用 WhisperX 进行单词级和低幻觉字幕识别,保证字幕的准确性和流畅性。

  • 字幕分割: 使用 NLP 和 AI 进行字幕分割,实现影视级翻译。

  • 术语库: 自定义 + AI 生成术语库,保证翻译连贯性。

  • 翻译质量: 三步直译、反思、意译,实现影视级翻译质量。

  • 单行字幕: 按照 Netflix 标准检查单行长度,绝无双行字幕。

  • 多种配音方案: 支持 GPT-SoVITS、Azure、OpenAI 等多种配音方案。

  • 启动: 整合包一键启动,在 streamlit 中一键出片。

  • 日志记录: 详细记录每步操作日志,支持随时中断和恢复进度。

与同类项目相比的优势:

  • 绝无多行字幕: 保证字幕的整洁和美观。

  • 最佳的翻译质量: 使用最新的 AI 技术保证翻译的准确性和流畅性。

  • 无缝的配音体验:供多种配音方案,满足不同需求。

使用方法:

1. 克隆仓库git clone https://github.com/Huanshere/VideoLingo.git

2. 安装依赖conda create -n videolingo python=3.10.0 -y conda activate videolingo python install.py

3. 启动应用streamlit run st.py

Docker

还可以选择使用 Docker(要求 CUDA 12.4 和 NVIDIA Driver 版本 >550),详见Docker文档

解释

docker build -t videolingo .
docker run -d -p 8501:8501 --gpus all videolingo

API

本项目支持 OpenAI-Like 格式的 api 和多种配音接口:

  • claude-3-5-sonnet-20240620, gemini-2.0-flash-exp, gpt-4o, deepseek-coder, ...(按效果排序)

  • azure-tts, openai-tts, siliconflow-fishtts, fish-tts, GPT-SoVITS, edge-tts, *custom-tts(ask gpt to help you define in custom_tts.py)

注意: VideoLingo 现已与 302.ai 集成,一个 API KEY 即可同时支持 LLM 和 TTS!同时也支持完全本地部署,使用 Ollama 作为 LLM 和 Edge-TTS 作为配音,无需云端 API!

详细的安装、API 配置、汉化、批量说明可以参见文档:English | 简体中文

当前限制

  1. WhisperX 转录效果可能受到视频背景声影响,因为使用了 wav2vac 模型进行对齐。对于背景音乐较大的视频,请开启人声分离增强。另外,如果字幕以数字或特殊符号结尾,可能会导致提前截断,这是因为 wav2vac 无法将数字字符(如"1")映射到其发音形式("one")。

  2. 使用较弱模型时容易在中间过程报错,这是因为对响应的 json 格式要求较为严格。如果出现此错误,请删除 output 文件夹后更换 llm 重试,否则重复执行会读取上次错误的响应导致同样错误。

  3. 配音功能由于不同语言的语速和语调差异,还受到翻译步骤的影响,可能不能 100% 完美,但本项目做了非常多的语速上的工程处理,尽可能保证配音效果。

  4. 多语言视频转录识别仅仅只会保留主要语言,这是由于 whisperX 在强制对齐单词级字幕时使用的是针对单个语言的特化模型,会因为不认识另一种语言而删去。

  5. 无法多角色分别配音,whisperX 的说话人区分效果不够好用。

总结:

VideoLingo一款功能强大的视频翻译本地化配音工具,能够帮助你轻松地将视频翻译成多种语言,并添加高质量的配音。它适用于各种场景,例如教育、娱乐、商业等,让你的知识能够跨越语言的障碍,传播到世界各地。

项目地址

https://github.com/Huanshere/VideoLingo