PreVideo 是一款功能完整的YouTube视频下载桌面应用,基于Electron + React开发,支持双语字幕、视频压缩、断点续传等专业功能。项目已完成100个开发任务(T001-T100),所有功能均可正常使用。
- YouTube视频下载 - 基于yt-dlp,支持高质量视频下载
- 多种质量选择 - 1080p/720p/480p/最高画质
- 实时进度显示 - 下载速度、剩余时间、百分比
- 断点续传 - 支持暂停和恢复下载
- 文件管理 - 自定义下载路径,一键打开文件夹
- API Key配置 - 页面配置DeepSeek API,无需修改代码
- 自动生成字幕 - 基于OpenAI Whisper AI
- 智能翻译 - 使用DeepSeek API进行高质量中文翻译
- 双语同步显示 - 中英文字幕叠加或并排
- 硬字幕烧录 - 字幕直接烧录到视频画面
- 字幕格式 - SRT/VTT格式导出
- 语言选择 - 主语言/副语言自由配置
- 批量翻译 - 50条字幕同时翻译,提高效率
- 视频压缩 - FFmpeg引擎,多种预设
- 格式转换 - MP4/WebM/MKV
- 压缩预设 - 高质量(CRF 18)/平衡(CRF 23)/小文件(CRF 28)
- 批量处理 - 队列任务管理
- 任务管理 - 下载历史、进度追踪
- 界面友好 - Material-UI深色主题
- 跨平台 - Windows/macOS桌面应用
- 中文优化 - 完整中文界面和文档
- Node.js >= 20.0.0
- macOS 12+ / Windows 10+
- 4GB RAM
# 克隆项目
git clone https://github.com/yourusername/prevideo.git
cd prevideo
# 安装依赖
npm install
# 安装yt-dlp和ffmpeg(必需)
# macOS
brew install yt-dlp ffmpeg
# Windows
winget install yt-dlp
winget install ffmpeg
# 启动应用
npm run dev
# 首次启动会自动提示配置DeepSeek API Key-
设置下载路径
- 点击"选择文件夹"按钮
- 默认保存到 ~/Downloads
-
下载视频
- 输入YouTube URL
- 选择视频质量(1080p/720p/480p)
- 点击"开始下载"
- 实时查看进度
-
配置字幕
- ✅ 双语字幕:中英文同时显示
- ✅ 自动生成:Whisper AI生成
- ✅ 智能翻译:DeepSeek API翻译
- 选择主语言和副语言
- 实时显示翻译进度
-
查看文件
- 下载完成后显示文件路径
- 点击"打开文件夹"直接访问
- 文件名:视频标题.mp4
# Windows安装包
npm run build:win
# macOS应用
npm run build:mac
# 所有平台
npm run build:all构建输出位于 dist-electron/ 目录。
# 开发模式
npm run dev
# 运行测试
npm test
# 代码检查
npm run lint
# 格式化
npm run format
# 更新yt-dlp
npm run update-ytdlpprevideo/
├── src/
│ ├── main/ # 主进程代码
│ │ ├── services/ # 核心服务
│ │ ├── ipc/ # IPC 处理器
│ │ ├── binaries/ # 二进制文件封装
│ │ └── database/ # 数据存储
│ ├── renderer/ # 渲染进程代码
│ │ ├── components/ # React 组件
│ │ ├── pages/ # 页面组件
│ │ ├── hooks/ # 自定义 Hooks
│ │ └── store/ # Redux 状态管理
│ ├── preload/ # 预加载脚本
│ └── shared/ # 共享类型定义
├── tests/ # 测试文件
├── bin/ # 二进制依赖
│ ├── ffmpeg/ # FFmpeg
│ ├── yt-dlp/ # yt-dlp
│ └── whisper/ # Whisper.cpp
├── docs/ # 文档
└── build/ # 构建配置
默认保存到用户的下载文件夹,可在设置中修改。
字幕翻译功能使用DeepSeek API,支持页面配置:
-
首次使用自动配置
- 首次启动应用会自动弹出配置对话框
- 必须配置API Key才能使用字幕翻译功能
-
获取API密钥
- 访问 DeepSeek Platform
- 注册账号并创建API密钥
- API密钥格式:以
sk-开头
-
配置方式
- 页面配置(推荐):点击右上角设置图标,输入API Key
- 首次启动:自动弹出配置对话框,引导用户配置
- 随时修改:点击设置按钮可以随时更新API Key
- 安全存储:API Key安全保存在本地,不会上传到服务器
-
翻译特性
- 批量翻译:每批50条字幕同时处理
- 实时进度:显示翻译进度 (X/Y条)
- 高质量翻译:专业级中文翻译质量
- 自动重试:失败自动重试机制
支持 HTTP/HTTPS/SOCKS5 代理,在设置→网络中配置。
某些视频需要登录才能下载,可以导出浏览器 Cookie 并在设置中导入。
- 桌面框架: Electron 38.1.2
- 前端框架: React 18.2.0 + TypeScript 5.3.3
- UI组件库: Material-UI 5.18.0
- 状态管理: Redux Toolkit 2.9.0
- 下载引擎: yt-dlp 2025.9.5
- 视频处理: FFmpeg
- 字幕AI: OpenAI Whisper
- 字幕翻译: DeepSeek API
- 数据存储: electron-store 8.1.0
- 构建工具: Vite 5.4.20
- 测试框架: Jest + Playwright
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建您的功能分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。
- ✅ 完成100个开发任务(T001-T100)
- ✅ 所有核心功能正常运行
- ✅ 支持真实YouTube视频下载
- ✅ 完整的用户界面和交互
- ✅ 详细的中文文档
- ✅ 页面配置API Key功能
- ✅ 硬字幕烧录功能
- ✅ 实时进度同步显示
本软件仅供学习和个人使用。请遵守YouTube服务条款和版权规定。下载受版权保护的内容需要获得适当授权。
- yt-dlp - 强大的视频下载工具
- FFmpeg - 完整的视频处理解决方案
- Whisper - OpenAI 的语音识别模型
- DeepSeek - 高质量中文翻译API
- Electron - 跨平台桌面应用框架
- 所有贡献者和支持者
- Issues: GitHub Issues
- Discussions: GitHub Discussions
🎬 PreVideo - 让YouTube视频下载更简单
Made with ❤️ using Electron + React + TypeScript
Made with ❤️ using Electron + React + TypeScript