
3 条命令自建完整视频下载服务Cobalt 实战教程【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobaltCobalt 是一款免费、无广告、可自建的开源视频下载工具粘贴链接拿到干净的文件文件。这份笔记讲清如何用 Docker 把它部署成你自己的完整视频下载服务几条命令跑起来用法与坑一次说透。为什么我选择自己搭一套视频下载器每次刷到想留存的素材流程都差不多搜下载器、等广告播完、拿到带水印的文件再手动改文件名。一周来上这么三五次真的烦透了。自建 Cobalt 视频下载服务能把这条麻烦链整个拆掉页面没有广告和跟踪器贴链接就出干净文件而且整套服务跑在你自己的机器上不用看公共实例的脸色。用 Docker Compose 先把服务跑起来 前提是装好 Docker 和 docker-compose步骤一共四步git clone https://gitcode.com/GitHub_Trending/cob/cobalt cd cobalt cp docs/examples/docker-compose.example.yml docker-compose.yml docker compose up -d有两个容易漏的细节启动前把 docker-compose.yml 里默认的 WEB_URL 和 API_URL 改成你的域名或服务器 IP否则页面没法正确回传下载链接要下需要登录态才能看的内容在 compose 文件同目录放一份 cookies.json再用 COOKIE_PATH 指过去示例格式见部署文档。验收方法浏览器打开 http://localhost:9001WEB_PORT 的默认值看到 Cobalt 页面说明 web 端起来了再随便贴一个视频链接点下载浏览器开始存文件整条链路就算通了。不想用 Docker 也行装 Node.js 18跑 npm run setup 选 web 或 api再 npm start。平台覆盖与下载玩法先确认平台支持清单平台能拿到什么特别能力YouTube含 Shorts 与音乐音视频一起或只取一路8K/4K、HDR、VR、高帧率H.264/AV1/VP9多语种配音轨TikTok视频、轮播图、音频视频与轮播图均可去水印可取完整原始音频Bilibili音视频bilibili.com 与 bilibili.tv 都覆盖Instagram / Twitter多媒体帖子一条帖子可挑着保存其中想要的内容SoundCloud仅音频支持私有链接文件名自动带元数据Twitch 片段音视频文件带元数据与丰富文件名完整清单有二十多个平台Vimeo、Reddit、Pinterest、VK 都在里面具体以仓库根目录 README 里的支持列表为准。存整片、只留声音、只留画面三种存法默认存的是带声音的完整视频合成由服务器端 FFmpeg 完成本机不用装任何工具。只要音轨比如做播客采样选仅音频只要画面素材、想省流量选仅视频。无水印、8K、私有链接各平台的独门能力TikTok 能存无水印视频帖子里的轮播图也去水印YouTube 覆盖 8K、4K、HDR、VR 与高帧率SoundCloud 和 Rutube 可以抓私有链接。每个平台是独立实现src/modules/processing/services/ 下一平台一文件代码结构很好读。想写脚本API 免费用Cobalt 自带 REST API个人项目免费调用。向 /api/json 发一个 POST请求体带上目标 url返回的 JSON 里就有文件地址脚本拿到后自动保存入库批量处理也只是循环一遍。最小调用长这样curl -X POST http://localhost:9000/api/json \ -H Content-Type: application/json \ -H Accept: application/json \ -d {url:https://www.youtube.com/watch?vxxxx,isAudioOnly:false}注意 Content-Type 和 Accept 两个头必须带齐。视频编码、画质、音频格式等参数的细节在 docs/api.md 里都有。限流、粘贴失灵等 4 个高频问题问连着下载几次就被拒默认 60 秒窗口最多放行 20 次请求RATELIMIT_WINDOW60RATELIMIT_MAX20属于设计内的保护而不是故障。自建实例把这两个值在 compose 文件里调大批量任务自己控制节奏。问Firefox 里粘贴按钮点了没反应Firefox 125 之前的版本默认不让网页读剪贴板。最省事是升级到 125老版本就去 about:config 把 dom.events.asyncClipboard.readText 设为 true刷新页面再试图文步骤见排障手册。问提示需要认证或 Cookie部分服务要登录态才能浏览公开内容。在 docker-compose.yml 同目录放一份 cookies.json用 COOKIE_PATH 指向它重启容器生效。问装好了却一个视频都下不了多半是 WEB_URL 和 API_URL 没换掉改成你自己的地址再重启即可。谁适合自建以及怎么用它个人素材库创作者刷到好片段、想留 Shorts 备份素材贴链接拿无水印文件按项目文件夹归档不再每次临时找下载器。音频工作流SoundCloud 链接选仅音频文件名自动携带元数据拖进剪辑工程就能用 小团队自建一套全组共用素材管理系统接上开放 API统一入库、统一命名素材不再散落在个人电脑里。调参与扩展值得动的几个旋钮日常真正会用到的环境变量只有五个API_PORT / WEB_PORT服务端口默认 9000 和 9001。RATELIMIT_WINDOW / RATELIMIT_MAX限流窗口与每窗口请求上限。DURATION_LIMIT可下载视频的最大时长默认 10800 秒。COOKIE_PATHCookie 文件路径。FREEBIND_CIDR每次下载随机换出口 IP仅 Linux高并发自建时有用。完整清单在 docs/run-an-instance.md。想加新平台支持在源码目录加一个服务文件再到 src/modules/processing/match.js 注册 URL 匹配规则现有平台的实现就是最好的参考。先把最小实例跑通、下一个视频验证整条链路再按自己的场景调参。等它稳定后把素材系统接到 API 上下载这件事就只剩一行配置了。【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考