Important
本项目是 yt-dlp 的图形界面封装,不包含破解或绕过技术保护措施的代码。请遵守当地法律法规、平台规则及内容版权要求,使用者需自行承担使用责任。
DownVid 是一款面向 macOS、Windows 和 Linux 的开源桌面视频下载工具。它使用 yt-dlp 作为下载引擎,并通过简洁的图形界面降低使用门槛。
项目仍在积极开发中。遇到问题或有功能建议,欢迎提交 Issue。
| 功能 | 说明 |
|---|---|
| 多平台解析 | 基于 yt-dlp 支持 1000+ 个视频和音频网站;抖音、快手另有专属解析器 |
| 清晰度与格式 | 支持 360P 至 4K、仅音频(MP3)、仅字幕(SRT)及 YouTube 多音轨选择 |
| 下载管理 | 队列管理、暂停、恢复、重试、下载进度、速度、剩余时间与文件大小 |
| 分段下载 | 直链支持多连接分段下载;HLS/DASH 支持分片并发下载 |
| 登录内容 | 支持读取已安装浏览器的登录状态,也可以手动导入 cookies.txt |
| 运行依赖管理 | 自动识别系统中的 yt-dlp / FFmpeg;缺失时可以在应用内下载 |
| 下载历史 | 自动保存最近 100 条下载记录 |
| 自动更新 | 通过 GitHub Releases 更新;macOS 使用应用内校验与替换流程 |
DownVid 通过 yt-dlp 支持 1000+ 个视频和音频网站。以下是常见平台示例:
| 国内平台 | 国际平台 |
|---|---|
| 抖音、小红书、快手、西瓜视频、哔哩哔哩(B 站) | YouTube、TikTok、Instagram、X(Twitter)、Facebook |
其他网站请参考 yt-dlp 支持的网站列表。平台可用性可能随网站变化而变化。
前往 GitHub Releases 下载最新版本,并按操作系统选择对应安装包。
| 平台 | 安装包 |
|---|---|
| macOS | .dmg(ARM64 / x64) |
| Windows | .exe(x64) |
| Linux | .AppImage / .deb(x64 / ARM64,具体产物以 Release 页面为准) |
安装步骤与常见问题见 安装指南。
- Node.js ≥ 22
- pnpm ≥ 8
- Go ≥ 1.24
yt-dlp 和 FFmpeg 无需预先安装。运行时会优先探测并复用系统已有版本;缺失时可在应用内下载安装。
git clone https://github.com/yxxbc/downvid.git
cd downvid
pnpm install
pnpm dev # 开发模式
pnpm build # 构建当前平台安装包更多平台构建命令、依赖说明及排错步骤请查看 从源码构建指南。
| 文档 | 内容 |
|---|---|
| 安装指南 | macOS、Windows、Linux 的安装说明 |
| 从源码构建 | 开发环境、依赖与构建流程 |
| 故障排除 | 常见错误与排查步骤 |
| 常见问题(FAQ) | 使用问题与解答 |
| 架构说明 | 进程结构、IPC 通信与下载流程 |
| 项目结构 | 目录说明与代码维护位置 |
| 仓库规范 | 分支、提交、Issue 与 PR 规范 |
| 发布流程 | 版本与发布产物维护 |
| 贡献指南 | 如何参与项目开发 |
| 安全政策 | 安全问题的报告方式与处理范围 |
| 贡献者行为准则 | 社区参与规范 |
| 技术 | 用途 |
|---|---|
| Electron | 跨平台桌面应用框架 |
| Vue 3 | 用户界面 |
| TypeScript | 类型安全 |
| Tailwind CSS | 界面样式 |
| Vite | 开发与构建 |
| Pinia | 状态管理 |
| Go | 探测与安装 yt-dlp / FFmpeg 的依赖边车 |
| yt-dlp | 视频与音频解析引擎 |
| FFmpeg | 音视频合并与转码 |
| Vitest | 纯逻辑单元测试 |
flowchart LR
UI["渲染进程<br/>Vue 3"] <-->|"IPC"| Main["主进程<br/>Electron / Node.js"]
Main <-->|"NDJSON"| Sidecar["Go 依赖边车"]
Main --> Engine["yt-dlp"]
Main --> Media["FFmpeg"]
交互式架构图及详细说明见 架构文档。
| 目录 | 作用 |
|---|---|
backend/ |
Go 依赖边车,探测并安装运行依赖 |
electron/ |
主进程、IPC、下载实现、平台解析器与更新逻辑 |
src/ |
Vue 3 渲染进程与界面 |
shared/ |
仓库坐标与外部链接的共享定义 |
tests/ |
自动化单元测试 |
scripts/ |
构建、清单生成及校验脚本 |
docs/ |
安装、构建、架构、维护与发布文档 |
完整目录说明见 项目结构文档。
提示缺少 yt-dlp 或 FFmpeg,怎么办?
安装包不会预置这两个工具。应用启动时会先探测系统中的可用版本;若未找到,可在提示窗口中下载安装,或前往「设置 → 运行依赖」管理。
macOS 提示无法验证开发者,怎么办?
首次打开时,可在 Finder 中右键点击应用并选择「打开」,或前往「系统设置 → 隐私与安全性」确认打开。若仍遇到问题,请参考 故障排除指南。
某些视频下载失败,怎么办?
部分网站要求用户登录。请确认你有权访问该内容,并尝试在设置中读取浏览器登录状态或导入 cookies.txt。网站变更也可能影响解析成功率。
欢迎提交 Issue、改进文档或发起 Pull Request。
提交前建议运行:
pnpm vue-tsc --noEmit
pnpm test
pnpm lint:ipcDownVid 基于 MIT License 开源。
DownVid 最初基于 Videdown 开发,之后经过了大量修改、重构与功能扩展。感谢原作者 cshuangyy 的开源工作;原项目的版权与许可声明保留在 LICENSE 中。
感谢社区贡献者与项目依赖的维护者:
- Videdown — 原始项目
- yt-dlp — 下载解析引擎
- FFmpeg — 音视频处理
- Electron · Vue.js · Tailwind CSS — 应用开发技术
- Claude Code — AI 编程助手
如果 DownVid 对你有帮助,欢迎请作者喝杯咖啡。微信赞赏码:
DownVid · Made with care by yxxbc


