YouDub-webui 是 YouDub 项目的网页交互版本,基于 Gradio 构建,为用户提供简易操作界面来访问和使用 YouDub 的强大功能。YouDub 是一个开创性的开源工具,旨在将 YouTube 和其他平台上的高质量视频翻译和配音成中文版本。该工具结合了最新的 AI 技术,包括语音识别、大型语言模型翻译,以及 AI 声音克隆技术,提供与原视频相似的中文配音,为中文用户提供卓越的观看体验。
YouDub-webui 适用于多种场景,包括教育、娱乐和专业翻译,特别适合那些希望将国外优秀视频内容本地化的用户。此工具的简洁界面使得即使是非技术用户也能轻松上手,实现视频的快速中文化处理。
了解更多关于 YouDub-webui 的信息和示例,请访问我们的 bilibili 视频主页。为了更好地服务社区,我们也设立了微信群组,欢迎通过扫描下方的二维码加入我们,共同探讨和贡献于 YouDub-webui 的发展。
当然,我将重新撰写 YouDub-webui 的主要特点部分。
YouDub-webui 融合了多项先进技术,提供了一套完整的视频中文化工具包,其主要特点包括:
- 视频下载: 支持通过链接直接下载 YouTube 视频。无论是单个视频、播放列表还是频道内的多个视频,均能轻松下载。
- AI 语音识别: 利用先进的 AI 技术,将视频中的语音高效转换为文字。不仅提供精确的语音到文本转换,还能自动对齐时间并识别不同说话者,极大地增强了信息的丰富性和准确性。
- 大型语言模型翻译: 结合大型语言模型如 GPT,实现快速且精准的中文翻译。无论是俚语还是专业术语,均能得到恰当的翻译,确保内容的准确性与地道性。
- AI 声音克隆: 通过 AI 声音克隆技术,生成与原视频配音相似的中文语音。这不仅提升了视频的观看体验,也保留了原视频的情感和语调特色。
- 视频处理: 综合了音视频同步处理、字幕添加、视频播放速度调整和帧率设置等多项功能。用户可以根据需要生成高质量的最终视频,实现无缝的观看体验。
- 自动上传: 支持将最终视频自动上传到 Bilibili 平台。用户可以在不离开
YouDub-webui的情况下,将视频上传到 Bilibili 平台,实现一键式的视频中文化处理。
YouDub-webui 的这些特点使其成为一个强大且易于使用的视频中文化工具,无论是个人用户还是专业团队,都能从中受益。
注意:本指南中的脚本和代码修改基于以下环境测试:
- 操作系统: Ubuntu 24.04.3 LTS (Noble Numbat)
- Python 版本: Python 3.12.3
- 关键依赖版本:
- PyTorch: 2.2.0 (CPU)
- Gradio: 6.2.0
- coqui-tts: 0.27.3
- pypinyin: 0.55.0
如果您使用 Windows 系统,请参考对应的
setup_windows.bat和run_windows.bat脚本。部分修复(如字体安装路径、环境变量配置)可能需要根据 Windows 环境进行调整。
为了使用 YouDub-webui,请遵循以下步骤来安装和配置您的环境:
首先,克隆 YouDub-webui 仓库到您的本地系统:
git clone <仓库地址>
cd YouDub-webui将
<仓库地址>替换为实际的 Git 仓库 URL(如 GitHub、GitLab 或其他托管平台的地址)
Windows:
- 进入
YouDub-webui目录,运行setup_windows.bat脚本。 - 脚本会在当前目录创建一个
venv虚拟环境,并自动安装所需依赖。 - 如果检测到 NVIDIA GPU,将安装 CUDA 12.1 版本的 PyTorch;否则安装 CPU 版本。
Linux/WSL Ubuntu:
- 进入
YouDub-webui目录,运行./setup_linux.sh脚本。 - 脚本会检查 Python 3.10+ 版本,创建虚拟环境,并自动安装所需依赖。
- 如果检测到 NVIDIA GPU,将安装 CUDA 12.1 版本的 PyTorch;否则安装 CPU 版本。
在运行前,请配置环境变量:
-
环境变量配置:将
.env.example改名为.env并填入以下环境变量:OPENAI_API_KEY: OpenAI API 密钥,格式通常为sk-xxx。注意:此处不局限于 OpenAI,也支持阿里千问、DeepSeek 等兼容 OpenAI API 格式的服务。MODEL_NAME: 模型名称,如 'gpt-4'、'gpt-3.5-turbo'、'qwen-plus'、'deepseek-chat' 等。OPENAI_API_BASE: API 基础 URL。OpenAI 官方为https://api.openai.com/v1,阿里千问为https://dashscope.aliyuncs.com/compatible-mode/v1,或使用自己部署的兼容服务。HF_TOKEN: Hugging Face token,用于 speaker diarization 功能。HF_ENDPOINT: 如果从huggingface下载模型时出错,可以添加此环境变量。APPID和ACCESS_TOKEN: 火山引擎 TTS 所需的凭据。BILI_BASE64: Bilibili API 所需的凭据。获取方法请参考 bilibili-toolman 准备凭据。
-
HuggingFace 模型访问权限(如果使用 speaker diarization 功能):
- 访问 pyannote/speaker-diarization-3.1 并登录您的 HuggingFace 账号
- 点击接受模型使用条款
- 同样访问 pyannote/segmentation-3.0 并接受使用条款
- 确保
.env文件中的HF_TOKEN对应该账号的 token
-
.env 文件示例:
# OpenAI API(用于翻译) # 注意:不局限于 OpenAI,也支持阿里千问、DeepSeek 等兼容 OpenAI API 格式的服务 OPENAI_API_KEY=sk-xxx MODEL_NAME=gpt-4 OPENAI_API_BASE=https://api.openai.com/v1 # 使用阿里千问示例: # OPENAI_API_KEY=sk-xxx # MODEL_NAME=qwen-plus # OPENAI_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1 # 使用 DeepSeek 示例: # OPENAI_API_KEY=sk-xxx # MODEL_NAME=deepseek-chat # OPENAI_API_BASE=https://api.deepseek.com/v1 # HuggingFace Token(用于 speaker diarization) HF_TOKEN=hf_xxx # 可选:HuggingFace 镜像 HF_ENDPOINT=https://hf-mirror.com # 可选:火山引擎 TTS APPID=xxx ACCESS_TOKEN=xxx # 可选:Bilibili 上传 BILI_BASE64=xxx
选择以下任一方式运行程序:
Windows:
- 在
YouDub-webui目录下运行run_windows.bat。
Linux/WSL Ubuntu:
- 在
YouDub-webui目录下运行./run_linux.sh。
- 使用以下命令启动主程序:
python app.py
此界面是一个一站式的解决方案,它将执行从视频下载到视频合成的所有步骤。
- Root Folder: 设置视频文件的根目录。
- Video URL: 输入视频或播放列表或频道的URL。
- Number of videos to download: 设置要下载的视频数量。
- Resolution: 选择下载视频的分辨率。
- Demucs Model: 选择用于音频分离的Demucs模型。
- Demucs Device: 选择音频分离的处理设备。
- Number of shifts: 设置音频分离时的移位数。
- Whisper Model: 选择用于语音识别的Whisper模型。
- Whisper Download Root: 设置Whisper模型的下载根目录。
- Whisper Batch Size: 设置Whisper处理的批量大小。
- Whisper Diarization: 选择是否进行说话者分离。
- Translation Target Language: 选择字幕的目标翻译语言。
- Force Bytedance: 选择是否强制使用Bytedance语音合成。
- Subtitles: 选择是否在视频中包含字幕。
- Speed Up: 设置视频播放速度。
- FPS: 设置视频的帧率。
- Max Workers: 设置处理任务的最大工作线程数。
- Max Retries: 设置任务失败后的最大重试次数。
- Auto Upload Video: 选择是否自动上传视频到Bilibili。
此界面用于单独下载视频。
- Video URL: 输入视频或播放列表或频道的URL。
- Output Folder: 设置视频下载后的输出文件夹。
- Resolution: 选择下载视频的分辨率。
- Number of videos to download: 设置要下载的视频数量。
此界面用于从视频中分离人声。
- Folder: 设置包含视频的文件夹。
- Model: 选择用于音频分离的Demucs模型。
- Device: 选择音频分离的处理设备。
- Progress Bar in Console: 选择是否在控制台显示进度条。
- Number of shifts: 设置音频分离时的移位数。
此界面用于从视频音频中进行语音识别。
- Folder: 设置包含视频的文件夹。
- Model: 选择用于语音识别的Whisper模型。
- Download Root: 设置Whisper模型的下载根目录。
- Device: 选择语音识别的处理设备。
- Batch Size: 设置Whisper处理的批量大小。
- Diarization: 选择是否进行说话者分离。
此界面用于将识别出的语音转换为字幕并翻译。
- Folder: 设置包含视频的文件夹。
- Target Language: 选择字幕的目标翻译语言。
此界面用于将翻译后的文字转换为语音。
- Folder: 设置包含视频的文件夹。
- Force Bytedance: 选择是否强制使用Bytedance语音合成。
此界面用于将视频、字幕和语音合成为最终视频。
- Folder: 设置包含视频的文件夹。
- Subtitles: 选择是否在视频中包含字幕。
- Speed Up: 设置视频播放速度。
- FPS: 设置视频的帧率。
- Resolution: 选择视频的分辨率。
我们的 AI 语音识别功能现在基于 WhisperX 实现。WhisperX 是一个高效的语音识别系统,建立在 OpenAI 开发的 Whisper 系统之上。它不仅能够精确地将语音转换为文本,还能自动对齐时间,并识别每句话的说话人物。这种先进的处理方式不仅提高了处理速度和准确度,还为用户提供了更丰富的信息,例如说话者的识别。
我们的翻译功能继续使用 OpenAI API 提供的各种模型,包括官方的 GPT 模型。同时,我们也在利用诸如 api-for-open-llm 这样的项目,这使我们能够更灵活地整合和利用不同的大型语言模型进行翻译工作,确保翻译质量和效率。
在声音克隆方面,我们已经转向使用 Coqui AI TTS。同时,对于单一说话人的情况,我们采用了火山引擎进行 TTS,以获得更优质的音质。火山引擎的高级技术能够生成极其自然且流畅的语音,适用于各种应用场景,提升了最终产品的整体质量。
在视频处理方面,我们依然强调音视频的同步处理。我们的目标是确保音频与视频画面的完美对齐,并生成准确的字幕,从而为用户提供一个无缝且沉浸式的观看体验。我们的处理流程和技术确保了视频内容的高质量和观看的连贯性。
欢迎对 YouDub-webui 进行贡献。您可以通过 GitHub Issues 或 Pull Request 提交改进建议或报告问题。
YouDub-webui 遵循 Apache License 2.0。使用本工具时,请确保遵守相关的法律和规定,包括版权法、数据保护法和隐私法。未经原始内容创作者和/或版权所有者许可,请勿使用此工具。
如需帮助或有任何疑问,请通过 GitHub Issues 联系我们。 加入我们的Discord服务器进行讨论和获取支持:Discord服务器 你也可以加入我们的微信群,扫描下方的二维码即可:
