尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
如何用curl调用ReClip:10分钟写出你的第一个命令行视频下载脚本
如何用curl调用ReClip10分钟写出你的第一个命令行视频下载脚本【免费下载链接】reclipDownload videos from almost any website. Lightweight, self-hosted media downloader with a clean web UI.项目地址: https://gitcode.com/GitHub_Trending/rec/reclipReClip 是一款开源、轻量、可自托管的视频下载器自带简洁的 Web 界面支持从 YouTube、TikTok、Instagram 等 1000 网站下载 MP4 视频或提取 MP3 音频。它的后端只有约 150 行 Python 代码并暴露了干净的 REST 接口——这意味着你可以完全绕开浏览器用curl直接驱动它。本文带你 10 分钟走完启动服务 → 调接口 → 拼脚本的全流程写出你的第一个命令行视频下载脚本。准备工作一键启动 ReClip 下载服务在调用接口之前需要先让 ReClip 跑起来。1. 安装依赖ReClip 的下载引擎依赖yt-dlp和ffmpeg安装脚本会自动检测缺失项# macOS (Homebrew) brew install yt-dlp ffmpeg # Debian / Ubuntu sudo apt install ffmpeg pip install yt-dlp2. 获取项目代码git clone https://gitcode.com/GitHub_Trending/rec/reclip cd reclip3. 启动服务./reclip.sh启动脚本 reclip.sh 会自动检查 python3、yt-dlp、ffmpeg 是否齐全创建虚拟环境并安装 requirements.txt 中仅有的两个依赖flask 和 yt-dlp然后监听http://localhost:8899。启动后打开浏览器你会看到 ReClip 的界面左侧粘贴一条或多条视频链接支持空格、逗号、换行分隔选择 MP4 或 MP3 模式点击FETCH加载视频信息再点DOWNLOAD或DOWNLOAD ALL批量下载 界面逻辑其实就对应后端几个接口下面我们会用 curl 逐一把它们调通。源码参考templates/index.html、app.py。认识 ReClip 的 5 个 REST 接口curl 调用的核心ReClip 的全部后端逻辑都在 app.py 中接口非常直白方法路径作用POST/api/info获取视频标题、时长、封面、清晰度列表POST/api/playlist展开播放列表返回各条视频的 URLPOST/api/download提交下载任务返回任务 IDGET/api/status/job_id查询任务状态downloading / done / errorGET/api/file/job_id下载完成后的文件其中三个关键接口获取视频信息在 app.py提交任务与查询状态在 app.py。第一步用 curl 获取视频标题与清晰度向/api/info发送一个包含 URL 的 JSON即可拿到视频元信息curl -s -X POST http://localhost:8899/api/info \ -H Content-Type: application/json \ -d {url: https://www.youtube.com/watch?vxxx}返回示例{ title: My awesome video, thumbnail: https://.../thumb.jpg, duration: 87, uploader: SomeChannel, formats: [ {id: 137, label: 1080p, height: 1080}, {id: 18, label: 360p, height: 360} ] }formats数组中的id就是下一步选清晰度时要用的format_id。第二步用 curl 提交下载任务拿到任务 ID下载是异步的先提交任务ReClip 在后台线程里跑yt-dlp单任务最长 5 分钟接口立即返回一个job_idcurl -s -X POST http://localhost:8899/api/download \ -H Content-Type: application/json \ -d {url: https://www.youtube.com/watch?vxxx, format: video}返回{job_id: a1b2c3d4e5}format字段有两个取值video下载 MP4audio提取 MP3。如果第一步拿到了清晰度列表还可以带上format_id: 137指定 1080p。第三步用 curl 轮询下载状态拿着job_id反复查询状态直到done或errorcurl -s http://localhost:8899/api/status/a1b2c3d4e5{status: done, error: null, filename: My awesome video.mp4}downloading还在下载等 2 秒再查done完成可以取文件error失败error字段里是 yt-dlp 的报错信息如该视频受地区限制第四步用 curl 保存文件到本地任务完成后请求文件接口并用-OJ自动按服务端建议的文件名保存curl -s -OJ http://localhost:8899/api/file/a1b2c3d4e5ReClip 会自动清理非法字符、把标题当作文件名并删除下载过程中的临时分片文件。完整脚本一行命令完成视频下载把四步拼起来就是你要的第一个命令行视频下载脚本dl.sh#!/bin/bash # 用法: ./dl.sh 视频URL URL$1 # 提交下载任务 JOB_ID$(curl -s -X POST http://localhost:8899/api/download \ -H Content-Type: application/json \ -d {\url\: \$URL\} | grep -o job_id:[^]* | cut -d -f4) # 轮询状态 while true; do RESP$(curl -s http://localhost:8899/api/status/$JOB_ID) STATUS$(echo $RESP | grep -o status:[^]* | cut -d -f4) [ $STATUS done ] break [ $STATUS error ] { echo 下载失败: $RESP; exit 1; } sleep 2 done # 保存文件 curl -s -OJ http://localhost:8899/api/file/$JOB_ID echo ✅ 下载完成以后下载任何支持站点的视频只需./dl.sh https://www.youtube.com/watch?vxxx配合/api/playlist接口见 app.py你还可以先展开播放列表拿到全部视频 URL再循环调用这个脚本实现批量命令行下载。进阶技巧用 curl 提取 MP3 音频想只留声音不要画面把format改成audio即可ReClip 会用yt-dlp -x --audio-format mp3帮你转码curl -s -X POST http://localhost:8899/api/download \ -H Content-Type: application/json \ -d {url: https://example.com/podcast-ep01, format: audio}同样轮询状态、下载文件后你得到的就是一个 MP3。常见问题Q1curl 提示连接被拒绝服务没启动或端口不对。ReClip 默认监听 8899 端口可通过环境变量PORT/HOST修改见 app.py。启动时终端会明确提示ReClip is running at http://localhost:8899。Q2想在服务器上长期运行用 Docker 更省事。项目自带 Dockerfile内置 ffmpeg、以非 root 用户运行和 docker-compose.yml下载文件挂载到独立卷docker compose up -dQ3下载失败提示超时单任务有 5 分钟上限大文件建议改用 Web 界面批量下载或检查网络。Q4可以商用吗工具仅限个人用途请尊重版权和平台服务条款。项目采用 MIT 协议见 LICENSE。小结ReClip 把视频下载拆成了 4 个语义清晰的接口info → download → status → file。用 curl 逐个调通它们你就能在终端里完成从获取信息到保存文件的全流程并轻松扩展出批量下载、MP3 提取、接入 CI 等玩法——这就是命令行视频下载脚本的最小闭环。【免费下载链接】reclipDownload videos from almost any website. Lightweight, self-hosted media downloader with a clean web UI.项目地址: https://gitcode.com/GitHub_Trending/rec/reclip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

CubeSandbox 快照、回滚与克隆实战指南:cubesandbox Python SDK 端到端示例详解

CubeSandbox 快照、回滚与克隆实战指南:cubesandbox Python SDK 端到端示例详解

CubeSandbox 快照、回滚与克隆实战指南:cubesandbox Python SDK 端到端示例详解 【免费下载链接】CubeSandbox Instant, Concurrent, Secure & Lightweight Sandbox for AI Agents. 项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox 快照、…

📅 2026/9/16 18:29:07
5G毫米波SV信道模型Matlab仿真:从原理到代码实现

5G毫米波SV信道模型Matlab仿真:从原理到代码实现

简介:面向5G通信系统研究的SV(Saleh-Valenzuela)信道模型Matlab仿真资源,适用于移动通信方向的高校学生、科研人员及MATLAB开发者,可帮助理解毫米波与5G多径信道冲激响应建模及仿真流程。压缩包共4个文件,包…

📅 2026/9/16 18:29:07
STM32驱动AD7616:16通道同步电压采集与换算详解

STM32驱动AD7616:16通道同步电压采集与换算详解

简介:这是一份基于STM32F103微控制器的AD7616电压采集工程源码,面向嵌入式开发者与工业数据采集学习者,演示16通道同步采样ADC的驱动移植、时序控制与数据处理方法。资源同时覆盖串行与并行两种接口方式,附TFT液晶显示和多文件工程…

📅 2026/9/16 18:24:06
MORE NEWS

更多资讯

📰

ASP.NET+SQL Server校园新闻发布系统:从数据库设计到IIS部署全指南

简介:这是一套面向计算机专业毕业设计的校园新闻发布系统完整项目,基于ASP.NET与SQL Server数据库技术,采用B/S设计模式开发。系统围绕校园新闻管理需求,实现了新闻浏览与搜索、系统管理员对用户和栏目管理、新闻管理员发布新闻等…

📰

RGB-Thermal双模态数据集构建与多模态融合技术实践

1. 项目背景与核心需求在计算机视觉和机器学习领域,多模态数据融合正成为提升模型性能的关键手段。RGB-Thermal(热成像)双模态数据集因其独特的互补特性,在自动驾驶、安防监控、工业检测等场景展现出巨大潜力。传统RGB图像虽然色彩…

📰

LiteLLM 部署在嵌入式 Linux,模型请求也走 TaoToken 行不行?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

浪潮NC5280M5装Win2012 R2实战:驱动注入与RAID配置全记录

接到了台浪潮NC5280M5,任务是把Windows Server 2012 R2装上去。本来以为就是常规操作,结果从准备安装介质到驱动部署,一路踩了不少坑。这里把我的完整过程和踩坑记录整理出来,给后面接这活的兄弟做参考,尤其是那些手里…

📰

Flask+MySQL外卖订餐系统:从建表到订单闭环的毕设实践

简介:面向本科毕业设计、课程设计大作业场景,这份基于PythonFlaskMySQL的“西柚外卖订餐系统”完整可运行,适合Web开发初学者、计算机相关专业学生快速上手,也适合作为外卖类项目的模板参考。系统内置登录、注册模块,支…

📰

SkyPilot 优先级调度与抢占实战:利用 Kubernetes PriorityClass 实现高优任务抢占

SkyPilot 优先级调度与抢占实战:利用 Kubernetes PriorityClass 实现高优任务抢占 【免费下载链接】skypilot The AI Compute Platform for frontier teams. SkyPilot turns fragmented AI compute into one AI supercomputer, so frontier AI teams build custom i…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬