FEATURED · 精选文章

Cobalt 部署教程:3 步跑通自己的视频下载服务

发布时间 / 2026/8/31 14:03:22
来源 / 创域科博编辑部
栏目 / 资讯中心
Cobalt 部署教程:3 步跑通自己的视频下载服务 Cobalt 部署教程3 步跑通自己的视频下载服务【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt想把一条 1080p 视频存下来却要在十几个下载站之间反复横跳广告、水印、限速一样不少。Cobalt 是一个开源视频下载服务支持 YouTube、TikTok、bilibili 等 20 个平台无广告、无追踪。用 Docker 在自己服务器上 3 步跑起来链接贴进去文件落下来。为什么用它20 个平台一键支持内置 youtube、tiktok、instagram、bilibili、twitch 等 20 个服务链接贴进去自动识别平台不用手动选。无广告、无追踪、无付费墙整个服务没有广告位和追踪器下载到的就是原始文件本身不做水印处理。完全自主托管compose 文件一次拉起 api、web、watchtower 三个容器watchtower 每 15 分钟自动拉取新版本升级不用动手。最短路径跑起来官方推荐 Docker Compose 方式配置文件和文档都写在同一个目录里mkdir cobalt cd cobalt # 在此创建 docker-compose.yml照抄 docs/examples/docker-compose.example.yml 的内容 docker compose up -d排坑提醒先把 compose 文件里的API_URL和WEB_URL改成你自己的域名否则前端请求会打到别人的公开实例上API 默认监听 9000 端口前端 9001被占用就改端口映射需要会员或私密内容时在同目录放一个cookies.json样例见 docs/examples/cookies.example.json再用COOKIE_PATH指向它。本地开发则只需 Node.js 18 以上跑完npm run setup再npm startsetup 会问你选 api 还是 web 角色。核心参数一次看懂参数全部走POST /api/json的请求体完整字段说明见 docs/api.md参数默认值作用url必填要处理的视频链接每个请求带一个vQuality720视频分辨率可选 144 到 2160也支持maxvCodech264YouTube 视频编码可选av1/vp9aFormatmp3音频格式best/mp3/ogg/wav/opusisAudioOnlyfalse置true只产出音频isAudioMutedfalse置true去掉音轨只要画面filenamePatternclassic文件名风格classic/pretty/basic/nerdy四种这些参数直接决定最终文件的格式和文件名不写vQuality就是 720p用nerdy则文件名会自动带上标题、分辨率、视频 ID归档后不用二次改名。三类典型用法播客制作人YouTube 公开课链接贴进 API加isAudioOnly: true、aFormat: opus产出体积小的 opus 音频文件直接进剪辑软件不用为整段视频占空间。家庭档案爱好者bilibili 上的老家庭视频用vQuality: 1080、filenamePattern: nerdy文件名自带标题、分辨率和视频 ID整进 NAS 按年份分文件夹一目了然。音乐收藏者SoundCloud、Vimeo 的曲目用isAudioOnly: true、aFormat: best拿最高音质源再配filenamePattern: pretty文件名可读管理曲库不靠记忆。进阶调用与加固 ️整个服务就是一个 REST 接口任何脚本都能直接调。最短调用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 }) }) const { status, url } await res.json()status为success时返回的url就是可打开的文件下载链接。每个平台的具体处理逻辑在 src/modules/processing/services/ 目录下一个平台一个文件。实例要暴露公网时环境变量集中配这几项API_PORT9000 API_URLhttps://api.example.com/ RATELIMIT_WINDOW60 RATELIMIT_MAX20 CORS_WILDCARD0 CORS_URLhttps://example.comAPI_PORTAPI 端口默认 9000。API_URL你的 API 对外地址必填不填 API 起不来。RATELIMIT_WINDOW限流窗口单位秒默认 60。RATELIMIT_MAX每个窗口内最多请求次数默认 20超出直接 429这是防滥用的第一道闸。CORS_WILDCARD设为0关闭全放开跨域。CORS_URL关闭后只有这个域名能调你的 API。最外面再套一层 nginx 反向代理实例就稳了。常见坑速查完整环境变量清单见 docs/run-an-instance.md。前端拉不到视频、请求打到别人实例API_URL/WEB_URL没改还是样例里的默认域名换成自己的即可。返回 429撞上限流等一个窗口期默认 60 秒或调大RATELIMIT_MAX。YouTube 下出来只有 720p那是默认值请求里显式写vQuality: 1080或2160。会员、私密内容拿不到配好cookies.json并用COOKIE_PATH指向它登录态只对需要鉴权的平台生效。浏览器页面调用报 CORS 错CORS_WILDCARD设1全放开或设0再用CORS_URL精确放行你的前端域名。超过 3 小时的长视频处理不了DURATION_LIMIT默认 10800 秒按需调大。实例跑起来之后下载工具就不再是别人的免费试用而是你自己数字仓库里的一角链接贴进去文件落下来剩下的时间留给创作。下载和使用内容请遵守各平台的条款尊重原作者的版权。【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻