如何自建一个无广告的跨平台视频下载器:Cobalt 部署与 API 指南

发布时间:2026/10/22 13:01:35
如何自建一个无广告的跨平台视频下载器:Cobalt 部署与 API 指南 如何自建一个无广告的跨平台视频下载器Cobalt 部署与 API 指南【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobaltCobalt 是一个开源媒体下载服务AGPL-3.0 协议把 YouTube、TikTok、Instagram 等 20 个平台的链接解析成可直接下载的视频与音频文件无广告、无跟踪、无分析脚本。除网页前端外它还提供一套 REST API既可以自托管私有实例也能把下载能力嵌进自己的工具链。为什么值得自建而不是装浏览器插件浏览器插件只能处理当前标签页且强依赖特定浏览器环境。Cobalt 把解析直链 音视频合并底层依赖 ffmpeg做成了服务端一步操作客户端拿到的就是成品文件而不是需要二次拼装的碎片。官方主实例 api.cobalt.tools 明确限定个人项目使用任何挂在付费墙或广告后的商业调用都必须自托管——这条边界在 README 的 API 条款里写得很清楚。20 个内置服务能力边界在哪里各平台的处理逻辑放在 src/modules/processing/services/README 的支持矩阵列出 20 个服务多数同时提供视频 音频与仅音频两种模式但深度差异明显YouTube8K/4K/HDR/VR 与高帧率编码可选 h264/av1/vp9还能挑选配音语种dubsTikTok去水印、轮播图无水印出图、可取原始完整音频SoundCloud支持私密链接但仅能取音频Facebook仅限公开可见内容矩阵中 ❌ 表示该服务明确不支持➖ 表示场景不合理。接入新需求前建议先对照这张表再翻 services 目录里对应模块的源码确认行为。 5 分钟 Docker Compose 部署官方推荐的路线是 Docker Compose完整步骤见 docs/run-an-instance.md。从示例配置 docs/examples/docker-compose.example.yml 出发核心流程只有三步mkdir cobalt cd cobalt # 复制示例配置为 docker-compose.yml 并修改两处 URL docker compose up -d复制示例后必须改两个必填项API 容器的API_URL与 Web 容器的WEB_URL均指向你自己的域名否则实例无法正常工作。默认端口API 9000、Web 9001。示例配置自带 watchtower 容器每 15 分钟检查一次镜像更新--interval 900容器会自动滚动升级。若把实例暴露到公网官方文档强烈建议加一层 nginx 反向代理。三个常用环境变量变量默认值作用RATELIMIT_MAX20时间窗内最大请求数超出部分整窗拦截RATELIMIT_WINDOW60 秒限速时间窗长度DURATION_LIMIT10800可处理视频时长上限秒即 3 小时CORS_WILDCARD、COOKIE_PATH、FREEBIND_CIDR等其余变量同样列在 docs/run-an-instance.md。不走容器、直接跑源码也行Node 18 环境下git clone https://gitcode.com/GitHub_Trending/cob/cobalt接着npm run setup按提示选择 API 或 Web 实例最后npm start启动。REST API 速览3 个端点与关键参数端点总共只有三个字段文档在 docs/api.mdPOST /api/json主处理端点每次请求必须携带Accept和Content-Type: application/json头GET /api/stream直播渲染端点/api/json处理成功后返回的 url 指向这里GET /api/serverInfo返回版本、commit、分支等实例信息适合做健康检查/api/json的常用请求字段url必填、isAudioOnly、vQuality144–2160默认 720、vCodec仅 YouTubeh264/av1/vp9、aFormatbest/mp3/ogg/wav/opus、filenamePatternclassic/pretty/basic/nerdy 四种命名风格。最小组合示例curl -X POST http://localhost:9000/api/json \ -H Content-Type: application/json -H Accept: application/json \ -d {url:https://example.com/xxx,vQuality:max}响应status共六种error / redirect / stream / success / rate-limit / picker。一条帖子含多个媒体的情况如 Instagram会返回 picker 列表让调用方挑选而不是盲目全下。⚠️ 部署与使用中的常见坑Ubuntu 22.04 自托管ffmpeg-static 二进制解析 DNS 会失败官方 workaround 是安装并启动nscdrun-an-instance.md 中有专门小节需要登录态的平台在 docker-compose.yml 同目录创建cookies.json格式参照 docs/examples/cookies.example.json并打开COOKIE_PATH配置限速默认 60 秒 20 次批量脚本要按窗口节流否则整窗请求全部被拦许可证红线代码是 AGPL-3.0但吉祥物与品牌资产单独受版权保护、不得复用修改版必须以相同协议发布并保留对原仓库的引用【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询