标签搜索

目 录CONTENT

文章目录

AI时代-我写了一个视频下载神器!Docker一键部署,打造私人在线视频下载平台

yyzq
2026-09-19 / 0 评论 / 1 点赞 / 38 阅读 / 2,115 字
广告 广告

前言

随着 AI 时代的快速发展,越来越多的人开始利用 AI 提升工作效率、创作内容以及管理自己的数字资产。

在日常使用过程中,我们经常会遇到这样的需求:看到一个有价值的视频,想保存下来学习;发现一些优秀的教程内容,想整理成自己的资料库;或者作为内容创作者,需要收集视频素材进行二次创作。

但是,很多现有的视频下载工具要么需要安装复杂的软件,要么充满广告和限制;一些在线解析服务不仅不稳定,还存在隐私和安全方面的问题。

作为一名喜欢折腾开源项目的技术爱好者,我一直希望能够拥有一个简单、稳定、属于自己的视频下载工具。

所以,我开发了这个项目 —— Video Downloader。

它支持通过 Docker 一键部署,无需复杂的环境配置,只需要几条命令,就可以在自己的服务器、NAS 或本地设备上搭建一个私人在线视频下载平台。

相比传统下载工具,这个项目更加注重:

🚀 简单部署 —— Docker 一键运行,快速搭建自己的服务
🔒 自主可控 —— 数据和服务运行在自己的设备上
🖥️ 网页操作 —— 无需安装客户端,浏览器即可使用
📦 方便扩展 —— 可以根据自己的需求持续优化和升级

在本期视频中,我将带大家完整体验这个我自己开发的开源项目,从 Docker 部署、功能介绍,到实际下载流程演示,让你快速拥有一个属于自己的在线视频下载平台。

如果你也喜欢 Docker、NAS、开源项目,或者想打造自己的私人数字工具,那么这个项目或许会给你带来一些新的思路。

最后提醒一下:请合理使用本工具,遵守相关平台规则和版权法规,仅用于合法的视频下载和个人学习用途。

那么接下来,就让我们一起看看这个 AI 时代,个人开发者如何打造属于自己的视频下载神器。

项目图示

image-1789794119632

项目简介

基于 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的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf

准备条件

1)一台服务器

我们使用莱卡云VPS来演示(各种NAS/Windows/MAC都可以部署),尽量选择境外云服务器,支持下载的网站多
需要vps的可以看以下信息,配置尽量选择大点的比如2核心4G内存
莱卡云官网

2)本教程使用到的项目

本教程使用的官方github地址
https://github.com/yyzq-cf/video-downloader
image-1789794354110
项目刚创建, 如果感觉有用,请帮忙点个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

image-1789794700087
默认用户名密码
admin
admin123
输入用户名密码即可登录使用
image-1789794810343
直接复制视频链接即可下载

绑定域名

VPS上的建议绑定下域名,方便管理。
绑定域名的教程参考以下内容

绑定域名视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1
广告 广告

评论区