ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何自建一个无广告的跨平台视频下载器:Cobalt 部署与 API 指南

如何自建一个无广告的跨平台视频下载器:Cobalt 部署与 API 指南 如何自建一个无广告的跨平台视频下载器Cobalt 部署与 API 指南【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobaltCobalt 是一个开源媒体下载服务AGPL-3.0 协议把 YouTube、TikTok、Instagram 等 20 个平台的链接解析成可直接下载的视频与音频文件无广告、无跟踪、无分析脚本。除网页前端外它还提供一套 REST API既可以自托管私有实例也能把下载能力嵌进自己的工具链。为什么值得自建而不是装浏览器插件浏览器插件只能处理当前标签页且强依赖特定浏览器环境。Cobalt 把解析直链 音视频合并底层依赖 ffmpeg做成了服务端一步操作客户端拿到的就是成品文件而不是需要二次拼装的碎片。官方主实例 api.cobalt.tools 明确限定个人项目使用任何挂在付费墙或广告后的商业调用都必须自托管——这条边界在 README 的 API 条款里写得很清楚。20 个内置服务能力边界在哪里各平台的处理逻辑放在 src/modules/processing/services/README 的支持矩阵列出 20 个服务多数同时提供视频 音频与仅音频两种模式但深度差异明显YouTube8K/4K/HDR/VR 与高帧率编码可选 h264/av1/vp9还能挑选配音语种dubsTikTok去水印、轮播图无水印出图、可取原始完整音频SoundCloud支持私密链接但仅能取音频Facebook仅限公开可见内容矩阵中 ❌ 表示该服务明确不支持➖ 表示场景不合理。接入新需求前建议先对照这张表再翻 services 目录里对应模块的源码确认行为。 5 分钟 Docker Compose 部署官方推荐的路线是 Docker Compose完整步骤见 docs/run-an-instance.md。从示例配置 docs/examples/docker-compose.example.yml 出发核心流程只有三步mkdir cobalt cd cobalt # 复制示例配置为 docker-compose.yml 并修改两处 URL docker compose up -d复制示例后必须改两个必填项API 容器的API_URL与 Web 容器的WEB_URL均指向你自己的域名否则实例无法正常工作。默认端口API 9000、Web 9001。示例配置自带 watchtower 容器每 15 分钟检查一次镜像更新--interval 900容器会自动滚动升级。若把实例暴露到公网官方文档强烈建议加一层 nginx 反向代理。三个常用环境变量变量默认值作用RATELIMIT_MAX20时间窗内最大请求数超出部分整窗拦截RATELIMIT_WINDOW60 秒限速时间窗长度DURATION_LIMIT10800可处理视频时长上限秒即 3 小时CORS_WILDCARD、COOKIE_PATH、FREEBIND_CIDR等其余变量同样列在 docs/run-an-instance.md。不走容器、直接跑源码也行Node 18 环境下git clone https://gitcode.com/GitHub_Trending/cob/cobalt接着npm run setup按提示选择 API 或 Web 实例最后npm start启动。REST API 速览3 个端点与关键参数端点总共只有三个字段文档在 docs/api.mdPOST /api/json主处理端点每次请求必须携带Accept和Content-Type: application/json头GET /api/stream直播渲染端点/api/json处理成功后返回的 url 指向这里GET /api/serverInfo返回版本、commit、分支等实例信息适合做健康检查/api/json的常用请求字段url必填、isAudioOnly、vQuality144–2160默认 720、vCodec仅 YouTubeh264/av1/vp9、aFormatbest/mp3/ogg/wav/opus、filenamePatternclassic/pretty/basic/nerdy 四种命名风格。最小组合示例curl -X POST http://localhost:9000/api/json \ -H Content-Type: application/json -H Accept: application/json \ -d {url:https://example.com/xxx,vQuality:max}响应status共六种error / redirect / stream / success / rate-limit / picker。一条帖子含多个媒体的情况如 Instagram会返回 picker 列表让调用方挑选而不是盲目全下。⚠️ 部署与使用中的常见坑Ubuntu 22.04 自托管ffmpeg-static 二进制解析 DNS 会失败官方 workaround 是安装并启动nscdrun-an-instance.md 中有专门小节需要登录态的平台在 docker-compose.yml 同目录创建cookies.json格式参照 docs/examples/cookies.example.json并打开COOKIE_PATH配置限速默认 60 秒 20 次批量脚本要按窗口节流否则整窗请求全部被拦许可证红线代码是 AGPL-3.0但吉祥物与品牌资产单独受版权保护、不得复用修改版必须以相同协议发布并保留对原仓库的引用【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表