ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Cobalt 视频下载完整指南:Docker 自建实例到 API 调用的实操教程

2026/9/1 14:46:43 拓冰建站 浏览量
Cobalt 视频下载完整指南:Docker 自建实例到 API 调用的实操教程 Cobalt 视频下载完整指南Docker 自建实例到 API 调用的实操教程【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt凌晨刷到一条很对味的教程视频想把它转成 mp3 存进手机通勤时听——与其依赖那些行为不透明的在线站不如自己跑一个。Cobalt 是一个开源的自托管视频下载服务支持 YouTube、TikTok、Bilibili 等 20 多个平台没有广告、没有追踪器一条 Docker 命令就能把它部署到自己的服务器上还开放 REST API 方便接进你自己的脚本。下面从部署、参数配置到接口调用一步步带你把它跑通。⚡ 5 分钟跑通一个 Cobalt 实例部署首选官方 Docker 包前提是机器上装好了 Docker 和 Docker Compose容器编排工具。我们最省事的路径就三步git clone https://gitcode.com/GitHub_Trending/cob/cobalt cd cobalt docker compose up -dcompose 文件可以直接拿仓库里的 样例配置 起步唯一必须改的是把默认的WEB_URL/API_URL换成你自己的域名否则前端会把请求发给别人的实例。包内置了 watchtower容器自动升级工具镜像一有新版容器就会自动拉取重启省掉手动升级这一步。如果只是本地开发调试也可以手动装先装 Node.js 18 以上和 gitgit clone仓库后跑npm run setup脚本会问你这次装 API 还是前端两者要分开部署再npm start就能跑起来。要支持需要登录态才能看的内容在同目录放一份 cookies.json样例见 cookies.example.json再用环境变量COOKIE_PATH指向它。️ 下载参数怎么配模式、画质与文件名所有请求都打到同一个POST /api/json接口靠 body 里的字段控制行为。最关键的几个开关如下。三种互斥模式默认就是视频音频模式怎么触发适用视频音频默认不用传存原片仅音频isAudioOnly: true只要音乐/人声做课件转 mp3/opus 很省空间仅视频isAudioMuted: true只要画面素材去掉音轨画质与编码vQuality可取 144 到 2160 或max默认 720手机端建议这个省电省流YouTube 还能用vCodec选h264/av1/vp9老手机选 h264 兼容性最稳。音频格式由aFormat指定支持best、mp3、ogg、wav、opus默认 mp3。平台专属开关TikTok 的isTTFullAudio能拿到视频用的原始完整音源找 BGM 原曲时很顺手tiktokH265控制是否优先 1080p 的 HEVC 版本Twitter 的twitterGif决定 GIF 是否真转成 .gif 文件。文件名由filenamePattern决定四种风格生成逻辑在 createFilename.js标题、分辨率、编码器、音轨语言都会保留素材入库后不用二次改名也能认出来取值示例classic默认youtube_MMK3L4W70g4_1920x1080_h264_mute.mp4prettyLoossemble - Sensitive MV (1080p, h264, mute, youtube).mp4basic标题 (1080p, h264)不带平台名nerdy标题 (1080p, h264, ru, youtube, 视频ID)运营做品牌素材归档时把filenamePattern设成nerdy最省心——文件名里自带分辨率、编码和平台 ID按项目文件夹一放日后盘点不用回网站翻历史。 Cobalt API 调用与实例加固整个服务本质就是一个 REST 接口前端和 API 分开放所以任何语言、任何脚本都能直接调把它接进自己的自动化里也毫不费力。最精简的一次调用长这样curl -X POST http://localhost:9000/api/json \ -H Accept: application/json -H Content-Type: application/json \ -d {url: https://www.youtube.com/watch?vxxxxx, vQuality: 1080}成功时返回status: success加一个可下载的直链链接参数带签名且有时效直接当下载地址用就行。每个平台的具体抓取与转码逻辑都在 services 目录一个平台一个文件字段全集见 docs/api.md。要把实例暴露到公网重点调这几个环境变量完整清单在 run-an-instance.md变量默认说明API_PORT9000API 端口WEB_PORT9001前端端口API_URL必填实例对外地址RATELIMIT_WINDOW60限流时间窗秒RATELIMIT_MAX20窗口内单 IP 最多请求数CORS_WILDCARD10按白名单1全放开CORS_URL无白名单域名RATELIMIT_WINDOW加RATELIMIT_MAX是防滥用的第一道闸超了直接回 429CORS_WILDCARD设 0 后只有CORS_URL指定的域名能调你的接口。对外再套一层 nginx 反向代理基本就稳了。 常见报错怎么自查返回 429撞上速率限制了等一个窗口期默认 60 秒再试或调大RATELIMIT_MAX。部分内容下不了 / 提示要登录配好 cookies.json 并用COOKIE_PATH指向它登录态只对需要鉴权的平台生效。端口被占改API_PORT默认 9000或WEB_PORT默认 9001。YouTube 出来只有 720p这是默认值请求里显式写vQuality: 1080或2160。页面里调用报 CORS 错API 端把CORS_WILDCARD设 1 全放开或设 0 并用CORS_URL精确放行你的前端域名。把 Cobalt 部署到自己服务器上下载这件事就完全掌握在自己手里——链接贴进去文件落下来。请遵守各平台服务条款尊重原作者版权下载的内容仅用于你计划中的用途Cobalt 只处理可公开访问的内容。【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考