Clipvideo 是一个基于 Streamlit 的双语字幕生成工具,专注于将英语视频自动生成中英双语字幕。它集成了视频下载、音频提取、语音转录、AI 翻译以及字幕烧录等功能。
- 视频来源:
- 📂 本地上传: 支持上传 mp4, mov, mkv, avi 等格式。
- ⬇️ 在线下载: 集成
yt-dlp,支持 YouTube, Twitter/X, Bilibili 等主流平台的视频下载。
- 语音转录 (ASR):
- 🏠 本地模型: 使用
Faster-Whisper(支持 CUDA 加速),免费且无需联网。 - ☁️ 云端模型: 支持调用 Google Gemini 1.5 Pro 进行多模态转录。
- 🏠 本地模型: 使用
- 智能翻译:
- 利用 Google Gemini (Flash/Pro) 模型将英文准确翻译为中文。
- 支持上下文理解,保证翻译流畅度。
- 字幕处理:
- 自动生成 SRT 字幕文件 (英文、中文、双语)。
- 智能切分过长的句子,保证字幕阅读体验。
- 支持时间通过算法精确对齐。
- 视频合成:
- 使用
FFmpeg将生成的双语字幕烧录(Hardcode)到视频中,支持直接下载成品。
- 使用
- Python: 3.8+
- FFmpeg: 系统需安装 FFmpeg 并添加到环境变量 (项目内含自动检测机制)。
- GPU (推荐): 建议使用 NVIDIA 显卡并安装 CUDA 驱动,以获得最佳的 Whisper 转录速度。
-
克隆项目
git clone <repository-url> cd Clipvideo
-
创建并激活虚拟环境 (可选但推荐)
python -m venv venv # Windows .\venv\Scripts\activate # Linux/Mac source venv/bin/activate
-
安装依赖
pip install -r requirements.txt
注意: 如果遇到 CUDA 相关库安装问题,请参考
requirements.txt或手动安装对应版本的torch和nvidia库。 -
配置环境 在项目根目录创建一个
.env文件,填入必要的配置:# Google Gemini API Key (必须) GEMINI_API_KEY=your_gemini_api_key_here # 代理设置 (可选,如果你在中国大陆) HTTP_PROXY=http://127.0.0.1:10808 HTTPS_PROXY=http://127.0.0.1:10808 # 本地 Whisper 模型默认路径 (可选) # LOCAL_MODEL_PATH=D:\Models\faster-whisper-medium
-
启动应用
streamlit run app.py
-
操作流程:
- 打开浏览器访问显示的本地地址 (通常是
http://localhost:8501)。 - 在侧边栏输入 Gemini API Key (如果
.env未配置)。 - 选择 视频来源 (本地文件或 URL)。
- 如果是 URL,点击“下载视频”。
- 点击 “开始生成字幕”。
- 等待处理完成后,可以预览视频,下载 SRT 字幕文件或下载带字幕的最终视频。
- 打开浏览器访问显示的本地地址 (通常是
app.py: Streamlit 主程序入口。core/: 核心处理模块audio.py: 音频提取。video.py: 视频字幕烧录。transcriber.py: Faster-Whisper 转录封装。gemini_transcriber.py: Gemini API 转录封装。translator.py: 字幕翻译逻辑。subtitle.py: SRT 生成与时间轴处理。downloader.py: 视频下载器。
requirements.txt: 项目依赖列表。
- FFmpeg错误: 确保系统已安装 FFmpeg,或者项目会自动尝试使用
imageio-ffmpeg。 - CUDA错误: 请检查是否正确安装了 NVIDIA 显卡驱动和 CUDA Toolkit。可以在侧边栏切换为 "CPU" 模式运行 (速度较慢)。
- 下载失败: 某些网站可能需要 cookies,或者请检查代理设置。
Generated by Antigravity