前言
随着 AI 时代的快速发展,越来越多的人开始利用 AI 提升工作效率、创作内容以及管理自己的数字资产。
在日常使用过程中,我们经常会遇到这样的需求:看到一个有价值的视频,想保存下来学习;发现一些优秀的教程内容,想整理成自己的资料库;或者作为内容创作者,需要收集视频素材进行二次创作。
但是,很多现有的视频下载工具要么需要安装复杂的软件,要么充满广告和限制;一些在线解析服务不仅不稳定,还存在隐私和安全方面的问题。
作为一名喜欢折腾开源项目的技术爱好者,我一直希望能够拥有一个简单、稳定、属于自己的视频下载工具。
所以,我开发了这个项目 —— Video Downloader。
它支持通过 Docker 一键部署,无需复杂的环境配置,只需要几条命令,就可以在自己的服务器、NAS 或本地设备上搭建一个私人在线视频下载平台。
相比传统下载工具,这个项目更加注重:
🚀 简单部署 —— Docker 一键运行,快速搭建自己的服务
🔒 自主可控 —— 数据和服务运行在自己的设备上
🖥️ 网页操作 —— 无需安装客户端,浏览器即可使用
📦 方便扩展 —— 可以根据自己的需求持续优化和升级
在本期视频中,我将带大家完整体验这个我自己开发的开源项目,从 Docker 部署、功能介绍,到实际下载流程演示,让你快速拥有一个属于自己的在线视频下载平台。
如果你也喜欢 Docker、NAS、开源项目,或者想打造自己的私人数字工具,那么这个项目或许会给你带来一些新的思路。
最后提醒一下:请合理使用本工具,遵守相关平台规则和版权法规,仅用于合法的视频下载和个人学习用途。
那么接下来,就让我们一起看看这个 AI 时代,个人开发者如何打造属于自己的视频下载神器。
项目图示

项目简介
基于 yt-dlp 的 Web 视频下载器,支持 TLS 指纹伪装绕过基础 Cloudflare 拦截、多线程下载、实时进度显示、抖音无水印、明暗主题切换。
✨ 功能特性
下载能力
- 🔗 粘贴链接即下载 — 支持 yt-dlp 所有兼容站点(YouTube、B站、各类视频站等)
- 🛡️ TLS 指纹伪装 — 内置
curl_cffi模拟 Chrome 指纹,可绕过 Cloudflare Bot Fight Mode 等 TLS 层 403 拦截(不支持 JS 质询/Turnstile) - ⚡ 多线程并发 — 支持 5-20 线程同时下载分片,速度拉满
- 🎵 分离流自动合并 — 智能选择
bestvideo+bestaudio方案,支持 m3u8/HLS 等只有分离流的源 - 🎬 画质选择 — 最高画质 / 1080p / 720p / 仅音频(MP3)
- 🎵 抖音无水印下载 — 专用 API 获取无水印视频,不走 yt-dlp,无需登录
下载与保存
- 🖥️ 存服务器模式 — 视频下载到服务器硬盘,完成后自动触发浏览器下载,也可在「已下载文件」中在线播放或手动保存
界面交互
- 📊 实时进度百分比 — 进度条内嵌白色百分比文字 + 右侧数字,保留 1 位小数实时更新
- 📦 详细下载信息 — 文件大小、下载速度、剩余时间、分片进度、已耗时
- 🎬 在线播放 — 内置视频播放器,下载完直接预览
- 📁 文件管理 — 下载列表、文件大小、删除、下载到本地
- 🎨 明暗主题切换 — 默认亮色主题,一键切换暗色,
localStorage记住选择 - ❌ 错误信息 — yt-dlp 报错直接显示在任务列表,不再只显示退出码
- 🧹 缓存清理 — 一键清除临时文件和失效任务记录
- 🐳 Docker 部署 — 一键
docker-compose up -d启动
| 平台 | 架构 | 适用场景 |
|---|---|---|
| linux/amd64 | x86_64 | VPS、PC服务器、Intel/AMD |
| linux/arm64 | ARM64 | 树莓派、Mac M系列、ARM 云服务器 |
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

准备条件
1)一台服务器
我们使用莱卡云VPS来演示(各种NAS/Windows/MAC都可以部署),尽量选择境外云服务器,支持下载的网站多
需要vps的可以看以下信息,配置尽量选择大点的比如2核心4G内存
莱卡云官网
2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/yyzq-cf/video-downloader

项目刚创建, 如果感觉有用,请帮忙点个stars
3)域名(可选)
根据自己的需求,web界面建议绑定域名
VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录服务器使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir video-downloader ;cd video-downloader
请自行安装vim编辑器
然后再新建docker-compose.yml
vim docker-compose.yml
services:
video-downloader:
image: ywsj/video-downloader:latest # 使用 Video Downloader 最新版 Docker 镜像
container_name: video-downloader # 设置容器名称为 video-downloader
restart: always # 设置容器自动重启,保证服务持续运行
ports:
- "5200:5200" # 映射端口,宿主机5200端口访问容器5200端口
volumes:
- ./downloads:/app/downloads # 映射下载目录,用于保存下载的视频文件
- ./data:/app/data # 映射数据目录,用于保存应用配置和相关数据
environment:
- PORT=5200 # 设置应用运行端口
- AUTH_USERNAME=admin # 设置 Web 登录用户名
- AUTH_PASSWORD=admin123 # 设置 Web 登录密码(建议修改为复杂密码)
- SECRET_KEY=change-me-to-a-random-string # 设置安全密钥,建议修改为随机字符串
tmpfs:
- /tmp:size=2G # 创建临时内存目录,限制临时文件最大使用2GB空间
注意端口如有冲突自行修改
默认用户名密码
admin
admin123
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
video-downloader ywsj/video-downloader:latest "gunicorn --bind 0.0…" video-downloader 14 hours ago Up 14 hours 0.0.0.0:5200->5200/tcp, [::]:5200->5200/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口5200)防火墙就可以web端访问了
主界面
http://ip:5200

默认用户名密码
admin
admin123
输入用户名密码即可登录使用

直接复制视频链接即可下载
绑定域名
VPS上的建议绑定下域名,方便管理。
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区