
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 -dcompose 文件照抄 docs/examples/docker-compose.example.yml唯一必须改的是API_URL和WEB_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手机端建议 720vCodec: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: true加aFormat: opus只拿音频。文件小教室里反复播放不占空间省掉下载整段视频的功夫。运营做素材备份品牌官号每条 Reel 过一遍 CobaltfilenamePattern: 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?vxxxxx, vQuality: 2160 }) })成功时返回status: success和一条带签名、有时效的直接下载链接拿来即用。全字段说明见 docs/api.md20 多个平台的处理逻辑各占一个文件集中在 src/modules/processing/services/。实例要暴露公网时重点配这几个环境变量API_PORT9000 WEB_PORT9001 API_URLhttps://api.example.com/ WEB_URLhttps://example.com/ RATELIMIT_WINDOW60 RATELIMIT_MAX20 CORS_WILDCARD0 CORS_URLhttps://example.comRATELIMIT_WINDOW和RATELIMIT_MAX定义每个 IP 在多少秒内最多请求多少次超了直接 429这是防滥用的第一道闸CORS_WILDCARD0后只有CORS_URL里的域名能调你的 API。外面再套一层 nginx 反向代理实例就稳了。️ 排坑速查最常撞的 5 个报错返回 429 限流撞上速率限制默认 60 秒窗口最多 20 次请求。等一个窗口期再试或调大RATELIMIT_MAX。提示需要登录 / 部分内容下不了登录态只对鉴权平台生效。放好cookies.json并用COOKIE_PATH指向它重启容器。端口被占用compose 里改API_PORT默认 9000和WEB_PORT默认 9001的映射端口即可。YouTube 只下出 720p720 就是默认值。请求里显式写vQuality: 1080或2160别依赖默认。页面调用报 CORS 错CORS_WILDCARD设 1 全放开或保持 0 并用CORS_URL精确放行你的前端域名。把 Cobalt 部署在自己服务器上下载工具就从别人提供的服务变成了自己的基础设施——链接贴进去文件落下来剩下的时间交给创作本身。下载和使用内容请遵守各平台的条款尊重原作者的版权素材仅用于你计划使用的方式。【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考