编程 ReClip:自托管视频/音频下载器

2026-09-03 08:20:30

ReClip:自托管视频/音频下载器

下载链接的常见问题

保存社交平台上的视频,常规路径往往绕不开下载站:广告、会员墙、捆绑安装包,下载结果还可能是低清晰度或损坏文件。YouTube、TikTok、Instagram、Twitter/X 这类平台本身没有下载按钮,按平台逐个找工具又低效。如果还要单独抽音频,通常又是另一套流程。

这些事本质上是:给一个链接,得一个文件。ReClip 做的事情就是把这个过程收拢成自托管的网页工具。

ReClip 概览

ReClip 是一个开源、可自部署的视频/音频下载器,仓库在 GitHub:

  • 项目:
  • 下载引擎:

它解析下载的能力由 yt-dlp 提供,所以 yt-dlp 支持的 YouTube、TikTok、Instagram、Twitter/X、Reddit、Facebook、Vimeo、Twitch、SoundCloud 等站点都能覆盖,总数超过一千个。

页面提供的能力比较收敛:

  • 输出格式:MP4(视频)或 MP3(音频)
  • 源视频有清晰度选项时,可以在页面里选择
  • 支持一次粘贴多个链接,重复链接会自动去重
  • 不做账号体系,不建媒体库,不加载广告,下载请求从自己的机器发出

实现上,后端是单个 Python 文件,约 150 行,依赖 Flask 和 yt-dlp;前端是单个 HTML/CSS/JS 文件,没有框架,没有构建步骤。下载和音频抽取由 yt-dlp 配合 ffmpeg 完成。这个规模下,代码是否可信可以自己读一遍。

部署:命令行方式

前置工具是 yt-dlp 和 ffmpeg:

# macOS
brew install yt-dlp ffmpeg

# Debian/Ubuntu
apt install ffmpeg
pip install yt-dlp

然后拉代码并启动:

git clone https://github.com/averygan/reclip.git
cd reclip
./reclip.sh

服务默认监听 http://localhost:8899,浏览器打开即可。

部署:Docker 方式

在仓库目录里构建镜像并启动:

docker build -t reclip .
docker run -p 8899:8899 reclip

启动后访问方式和命令行方式相同。应用默认没有登录鉴权,不要直接把端口暴露到公网,适合本机或可信内网使用。

页面操作

界面上的流程是:

  1. 把单个或多个视频链接粘贴到输入框
  2. 选择 MP4 或 MP3
  3. 点击 Fetch,加载视频信息和缩略图
  4. 有清晰度选项时,选择需要的清晰度
  5. 单个视频点 Download;多个链接可以直接 Download All

重复粘贴同一个链接不会产生重复下载。

适用场景与边界

ReClip 适合个人场景:把公开可访问的视频保存为本地 MP4/MP3,规避广告下载站;需要音频时直接抽成 MP3,不需要额外工具。它不适合作为多人服务或媒体管理工具,因为历史上没有任务队列、用户权限、媒体分类这些功能。

边界判断如下:

  • 下载能力上限由 yt-dlp 决定,ReClip 本身只是前端封装。某个站点改版、要求登录或触发年龄/地区验证后,能否继续下载取决于 yt-dlp 当前版本,而不是 ReClip 页面本身。
  • 输出格式只有 MP4/MP3。不需要转码、格式编辑或自定义输出规则。
  • 系统里要能调用 ffmpeg,音频抽取和多轨视频合并依赖它。
  • 页面没有登录态或 cookie 管理入口。需要账号的私有内容不在“直接粘贴链接”的适用范围内。
  • 对受 DRM 保护或需要付费访问的内容,yt-dlp 不提供绕过手段。

未实测项:批量下载的并发策略,以及 Docker 镜像内 yt-dlp/ffmpeg 的封装细节。这两部分以仓库 Dockerfile 和 yt-dlp 实际运行行为为准。

下载公开内容时,注意平台服务条款和内容版权,ReClip 只负责把链接存成文件。

复制全文 生成海报 yt-dlp 视频下载 自部署 Docker Python

推荐文章

程序员茄子在线接单