news 2026/8/31 7:48:25

Cobalt 视频下载:自建无广告下载器完整实操指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cobalt 视频下载:自建无广告下载器完整实操指南

Cobalt 视频下载:自建无广告下载器完整实操指南

【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt

想存一条 4K 的 YouTube 视频,通常要在十几个第三方站点之间换来换去,还躲不开广告和限速。Cobalt 是一个可自托管的视频下载工具:无广告、无追踪、无付费墙,支持 YouTube、TikTok、B 站等 20 多个平台。部署到自己的服务器上,下载行为完全由你说了算。

🚀 3 条命令启动自己的 Cobalt 实例

前提只有一条:机器上装好 Docker 和 Docker Compose。拿到仓库后直接跑:

git clone https://gitcode.com/GitHub_Trending/cob/cobalt cd cobalt docker compose up -d

compose 文件照抄 docs/examples/docker-compose.example.yml,唯一必须改的是API_URLWEB_URL两个默认地址——不换自己的域名,前端请求会打到别人的实例上。Docker 包内置 watchtower,容器自动拉新版本,你不用管升级。手动安装只留给本地开发:Node.js 18 以上,npm run setup选角色,npm start跑起来。支持需要登录内容的平台时,在实例目录放一个cookies.json(样例见 docs/examples/cookies.example.json),用COOKIE_PATH指向它。完整清单在 docs/run-an-instance.md。

🎛️ 参数速查:改一个值,换一种下载行为

下载分三个互斥模式:默认"视频+音频",加isAudioOnly: true只下音频,加isAudioMuted: true去掉音轨。核心请求参数就下面这些:

取值作用备注
vQuality: 144–2160 /max视频分辨率默认 720,手机端建议 720
vCodec:h264/av1/vp9YouTube 编码默认h264,手机兼容性最好
aFormat:mp3/ogg/wav/opus/best音频格式默认mp3,仅音频模式生效
isAudioOnly/isAudioMuted切音频或视频模式默认都是false,即原片

平台专属开关和文件名模板:

取值作用备注
isTTFullAudio: trueTikTok 原始完整音源拿视频用的 BGM 原曲
tiktokH265: true优先 1080p HEVC 版TikTok 专属
twitterGif: trueTwitter GIF 转成 .gif 文件默认直接下动图
filenamePattern:classic/pretty/basic/nerdy文件名风格默认classic,如youtube_ID_1920x1080_h264.mp4nerdy会把视频 ID 和平台名塞进文件名,归档最好用

文件名怎么拼的看 src/modules/processing/createFilename.js,标题、分辨率、编码、音轨语言都保留,素材入库后不用二次重命名。

📚 三个真实场景的参数组合

做课件的老师:网课链接贴进网页,isAudioOnly: trueaFormat: opus,只拿音频。文件小,教室里反复播放不占空间,省掉下载整段视频的功夫。

运营做素材备份:品牌官号每条 Reel 过一遍 Cobalt,filenamePattern: nerdy,文件名自带视频 ID 和平台来源,按项目文件夹进网盘,盘点素材不用再回网站翻历史。

剪片的人存参考:YouTube 剪辑教程用vQuality: 2160拉满画质收藏,TikTok 转场片段加isTTFullAudio: true把背景音乐整段存下来,后面找原曲一步到位。

🔌 脚本直接调 API:接口与环境变量

整个服务就是一个 REST 接口,前端和 API 分离部署,所以任何脚本都能直连,最精简的调用长这样:

const res = await fetch('http://localhost:9000/api/json', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://www.youtube.com/watch?v=xxxxx', vQuality: '2160' }) })

成功时返回status: success和一条带签名、有时效的直接下载链接,拿来即用。全字段说明见 docs/api.md,20 多个平台的处理逻辑各占一个文件,集中在 src/modules/processing/services/。实例要暴露公网时,重点配这几个环境变量:

API_PORT=9000 WEB_PORT=9001 API_URL=https://api.example.com/ WEB_URL=https://example.com/ RATELIMIT_WINDOW=60 RATELIMIT_MAX=20 CORS_WILDCARD=0 CORS_URL=https://example.com

RATELIMIT_WINDOWRATELIMIT_MAX定义每个 IP 在多少秒内最多请求多少次,超了直接 429,这是防滥用的第一道闸;CORS_WILDCARD=0后只有CORS_URL里的域名能调你的 API。外面再套一层 nginx 反向代理,实例就稳了。

🛠️ 排坑速查:最常撞的 5 个报错

  • 返回 429 限流:撞上速率限制,默认 60 秒窗口最多 20 次请求。等一个窗口期再试,或调大RATELIMIT_MAX
  • 提示需要登录 / 部分内容下不了:登录态只对鉴权平台生效。放好cookies.json并用COOKIE_PATH指向它,重启容器。
  • 端口被占用:compose 里改API_PORT(默认 9000)和WEB_PORT(默认 9001)的映射端口即可。
  • YouTube 只下出 720p:720 就是默认值。请求里显式写vQuality: 10802160,别依赖默认。
  • 页面调用报 CORS 错CORS_WILDCARD设 1 全放开,或保持 0 并用CORS_URL精确放行你的前端域名。

把 Cobalt 部署在自己服务器上,下载工具就从"别人提供的服务"变成了自己的基础设施——链接贴进去,文件落下来,剩下的时间交给创作本身。下载和使用内容请遵守各平台的条款,尊重原作者的版权,素材仅用于你计划使用的方式。

【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 7:47:09

MTProxy 动态 IP 总掉线?重连退避与 DNS 刷新调优一次讲透

MTProxy 动态 IP 总掉线?重连退避与 DNS 刷新调优一次讲透 【免费下载链接】data-engineer-handbook This is a repo with links to everything youd ever want to learn about data engineering 项目地址: https://gitcode.com/GitHub_Trending/da/data-engineer…

作者头像 李华
网站建设 2026/8/31 7:46:55

ChatGPT引入广告:AI商业化变局下开发者的应对策略

第一次看到“OpenAI 在印度向 ChatGPT 用户展示广告”这条消息时,很多人的第一反应是“免费用户被盯上了”。但对开发者来说,这个信号比表面看起来更值得关注。ChatGPT 在不知不觉中已经成为很多工程师的日常基础设施:查报错、写 SQL、生成测…

作者头像 李华
网站建设 2026/8/31 7:46:26

搜狗校招测试岗笔试复盘:从Linux命令到自动化测试全考点解析

2020年秋天,我参加了搜狗校招测试岗的第一场笔试。那套题给我留下的印象,比后来面的好几家大厂都深——它不像某些公司那样只考八股文,也不像另外一些公司那样一上来就是Hard算法题。搜狗这张卷子更像是“用测试的视角去量你整个计算机基础”…

作者头像 李华
网站建设 2026/8/31 7:46:18

LLM Agent敏感数据治理:脱敏与工具调用如何同时成立?

敏感数据治理与 Agent 工具调用之间,天生存在一对矛盾:Agent 要完成业务操作,通常需要读取订单号、用户手机号、内部账号、数据库连接参数等信息;但把这些信息原样灌进 LLM 的上下文,又会造成数据泄露、日志留痕、越权…

作者头像 李华
网站建设 2026/8/31 7:45:50

AI调试实战:结构化上下文让Grok与GPT成为得力助手

有一回我帮朋友看一个 Java 服务偶发超时的问题。他开了一下午 Debug,断点打在服务入口和数据库查询之间,发现有时能跳进去,有时直接卡住。他把日志贴给 AI 助手问怎么回事,对方只回了一句:可能是数据库连接池耗尽。他…

作者头像 李华