工具介绍
YouDub-webui是YouDub 项目的网页交互版本,基于 Gradio 构建,为用户提供简易操作界面来访问和使用 YouDub 的强大功能。
提供了一套完整的视频中文化工具包,涵盖了从视频下载、语音识别、字幕翻译、AI声音克隆、视频处理、自动上传等一系列流程。
该工具结合了最新的 AI 技术,包括语音识别、大型语言模型翻译,以及 AI 声音克隆技术,提供与原视频相似的中文配音,为中文用户提供卓越的观看体验。
YouDub-webui 适用于多种场景,包括教育、娱乐和专业翻译,特别适合那些希望将国外优秀视频内容本地化的用户。此工具的简洁界面使得即使是非技术用户也能轻松上手,实现视频的快速中文化处理。
开源地址:https://github.com/liuzhao1225/YouDub-webui
功能介绍:
视频下载: 支持通过链接直接下载 YouTube 视频。无论是单个视频、播放列表还是频道内的多个视频,均能轻松下载。
AI 语音识别: 利用先进的 AI 技术,将视频中的语音高效转换为文字。不仅提供精确的语音到文本转换,还能自动对齐时间并识别不同说话者,极大地增强了信息的丰富性和准确性。
大型语言模型翻译: 结合大型语言模型如 GPT,实现快速且精准的中文翻译。无论是俚语还是专业术语,均能得到恰当的翻译,确保内容的准确性与地道性。
AI 声音克隆: 通过 AI 声音克隆技术,生成与原视频配音相似的中文语音。这不仅提升了视频的观看体验,也保留了原视频的情感和语调特色。
视频处理: 综合了音视频同步处理、字幕添加、视频播放速度调整和帧率设置等多项功能。用户可以根据需要生成高质量的最终视频,实现无缝的观看体验。
自动上传: 支持将最终视频自动上传到 Bilibili 平台。用户可以在不离开 YouDub-webui 的情况下,将视频上传到 Bilibili 平台,实现一键式的视频中文化处理。
安装与使用指南
为了使用 YouDub-webui,请遵循以下步骤来安装和配置您的环境:
1. 克隆仓库
首先,克隆 YouDub-webui 仓库到您的本地系统:
git clone https://github.com/liuzhao1225/YouDub-webui.git
2. 安装依赖
您可以选择自动安装或手动安装依赖:
自动安装
进入 YouDub-webui 目录,运行 setup_Windows 脚本。
脚本会在当前目录创建一个 venv 虚拟环境,并自动安装所需依赖,包括 CUDA 12.1 版本的 PyTORCh。
手动安装
进入 YouDub-webui 目录,使用以下命令安装依赖:
cd YouDub-webui pip install -r requirements.txt
由于 TTS 依赖的特殊性,所以将 TTS 移出了 requirements.txt,需要手动安装:
pip install TTS
默认安装为 CPU 版本的 PyTorch 如果你需要手动安装特定 CUDA 版本的 PyTorch,可根据您的 CUDA 版本从 PyTorch 官方网站 获取安装命令。
3. 环境设置
在运行前,请配置环境变量:
环境变量配置:将 .env.example 改名为 .env 并填入以下环境变量:
OPENAI_API_KEY: OpenAI API 密钥,格式通常为 sk-xxx。 MODEL_NAME: 模型名称,如 'gpt-4' 或 'gpt-3.5-turbo'。 OPENAI_API_BASE: OpenAI API 基础 URL,如果使用自己部署的模型,请填入。 HF_TOKEN: Hugging Face token,用于 speaker diarization 功能。 HF_ENDPOINT: 如果从 huggingface 下载模型时出错,可以添加此环境变量。 APPID 和 ACCESS_TOKEN: 火山引擎 TTS 所需的凭据。 BILI_BASE64: Bilibili API 所需的凭据。获取方法请参考 bilibili-toolman 准备凭据。
4. 运行程序
选择以下任一方式运行程序:
自动运行
在 YouDub-webui 目录下运行 run_windows.bat。
手动运行
使用以下命令启动主程序:
python app.py
使用步骤:
1. 全自动 (Do Everything)
此界面是一个一站式的解决方案,它将执行从视频下载到视频合成的所有步骤。
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。
2. 下载视频 (Download Video)
此界面用于单独下载视频。
Video URL: 输入视频或播放列表或频道的URL。
Output Folder: 设置视频下载后的输出文件夹。
Resolution: 选择下载视频的分辨率。
Number of videos to download: 设置要下载的视频数量。
3. 人声分离 (Demucs Interface)
此界面用于从视频中分离人声。
Folder: 设置包含视频的文件夹。
Model: 选择用于音频分离的Demucs模型。
Device: 选择音频分离的处理设备。
Progress Bar in Console: 选择是否在控制台显示进度条。
Number of shifts: 设置音频分离时的移位数。
4. 语音识别 (Whisper Inference)
此界面用于从视频音频中进行语音识别。
Folder: 设置包含视频的文件夹。
Model: 选择用于语音识别的Whisper模型。
Download Root: 设置Whisper模型的下载根目录。
Device: 选择语音识别的处理设备。
Batch Size: 设置Whisper处理的批量大小。
Diarization: 选择是否进行说话者分离。
5. 字幕翻译 (Translation Interface)
此界面用于将识别出的语音转换为字幕并翻译。
Folder: 设置包含视频的文件夹。
Target Language: 选择字幕的目标翻译语言。
6. 语音合成 (TTS Interface)
此界面用于将翻译后的文字转换为语音。
Folder: 设置包含视频的文件夹。
Force Bytedance: 选择是否强制使用Bytedance语音合成。
7. 视频合成 (Synthesize Video Interface)
此界面用于将视频、字幕和语音合成为最终视频。
Folder: 设置包含视频的文件夹。
Subtitles: 选择是否在视频中包含字幕。
Speed Up: 设置视频播放速度。
FPS: 设置视频的帧率。
Resolution: 选择视频的分辨率。