
Cobalt 視頻下載從 Docker 部署到 API 調用的完整實操指南【免費下載鏈接】cobaltbest way to save what you love項目地址: https://gitcode.com/GitHub_Trending/cob/cobalt想把一條 1080p 的 YouTube 視頻連同高清畫質一起存下來通常要在十幾個第三方站點之間換來換去還躲不開廣告和限速。Cobalt 是一個沒有廣告、沒有追蹤器、沒有付費墻的視頻/音頻下載工具支持 YouTube、TikTok、Instagram 等 20 多個平臺你可以把它跑在自己的服務器上把下載行為完全掌握在自己手里。用 Docker 三條命令啟動 CobaltCobalt 的官方 Docker 包是部署的首選前提是機器上裝好了 Docker 和 Docker Compose。整個流程就三步git clone https://gitcode.com/GitHub_Trending/cob/cobalt cd cobalt docker compose up -dcompose 文件可以直接參考倉庫里 examples/docker-compose.example.yml 的樣例注意把默認的 URL 換成你自己的域名否則前端請求會指向別人的實例。Docker 包內置了 watchtower容器會自動拉取新版本不用你手動升級。手動安裝只適合本地開發(fā)裝好 Node.js 18 以上git clone倉庫后運行npm run setup再npm start即可。API 和前端要分開部署setup 腳本會讓你選擇角色。如果實例要支持需要登錄才能看的內容在同目錄放一個 cookies.json樣例見 examples/cookies.example.json并通過COOKIE_PATH指向它。三種下載模式和智能文件名Cobalt 把下載拆成三個互斥的模式默認就是視頻音頻視頻音頻什么都不改直接下原片僅音頻請求里加isAudioOnly: true音頻格式由aFormat指定支持mp3、ogg、wav、opus、best五種默認mp3僅視頻加isAudioMuted: true去掉音軌適合只想留畫面素材的情況。畫質方面vQuality可選 144 到 2160 以及max默認 720YouTube 還能用vCodec指定h264、av1、vp9手機端建議 h264 兼容性最好。個別平臺有專屬開關TikTok 的isTTFullAudio能拿到視頻用的原始完整音源tiktokH265決定是否優(yōu)先 1080p 的 HEVC 版本Twitter 的twitterGif控制 GIF 是否真的轉成 .gif 文件。文件名由filenamePattern決定四種取值示例長這樣取值示例文件名classic默認youtube_MMK3L4W70g4_1920x1080_h264_mute.mp4prettyLoossemble (???) - Sensitive MV (1080p, h264, mute, youtube).mp4basic標題 (1080p, h264)不帶上游平臺名nerdy標題 (1080p, h264, ru, youtube, 視頻ID).mp4生成邏輯在 src/modules/processing/createFilename.js 里標題、分辨率、編解碼器、音軌語言都會被保留素材入庫后不用二次重命名就能認出來。三個真實場景怎么用做課件的老師把網(wǎng)課鏈接貼進網(wǎng)頁aFormat設成ogg或opus僅音頻模式下拿到的文件體積小方便在教室里反復播放不需要下載整段視頻。運營做品牌素材備份品牌官號發(fā)的每條 Reel 和推文都過一遍 CobaltfilenamePattern用nerdy文件名里自帶發(fā)布時間和視頻 ID歸檔進網(wǎng)盤后按項目文件夾存放日后盤點素材不用回網(wǎng)站翻歷史。剪片的人找參考YouTube 上的剪輯教程用vQuality: 2160拉滿畫質收藏B 站的同類內容同樣支持TikTok 的轉場片段加isTTFullAudio把背景音樂整段存下來后面找原曲方便得多。? Cobalt 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: 1080 }) })請求成功返回status: success和一個可下載鏈接鏈接參數(shù)帶簽名且有時效直接當下載地址用即可。完整字段說明見 docs/api.md所有平臺的具體處理邏輯在 src/modules/processing/services/ 目錄下每個平臺一個文件。實例要暴露到公網(wǎng)時重點調這幾個環(huán)境變量完整清單在 docs/run-an-instance.mdAPI_PORT9000 API_URLhttps://api.example.com/ RATELIMIT_WINDOW60 RATELIMIT_MAX20 CORS_WILDCARD0 CORS_URLhttps://example.comRATELIMIT_WINDOW和RATELIMIT_MAX控制每個 IP 在一個時間窗秒內最多請求多少次超了返回 429這是防濫用的第一道閘CORS_WILDCARD設為 0 后只有CORS_URL指定的域名能調你的 API。對外再套一層 nginx 反向代理實例基本就穩(wěn)了。常見問題速查返回 429 限流撞上了速率限制等一個窗口期默認 60 秒再試或調大RATELIMIT_MAX。提示需要登錄/部分內容下不了配置 cookies.json 并用COOKIE_PATH指向它登錄態(tài)只對需要鑒權的平臺生效。端口被占用改API_PORT默認 9000和WEB_PORT默認 9001即可。YouTube 下出來只有 720p這是默認值在請求里顯式寫vQuality: 1080或2160。頁面里調用報 CORS 錯API 端把CORS_WILDCARD設 1 全放開或設 0 并用CORS_URL精確放行你的前端域名。把 Cobalt 部署在自己服務器上等于把下載工具變成了自己的基礎設施——鏈接貼進去文件落下來剩下的時間交給創(chuàng)作本身。下載和使用內容請遵守各平臺的條款尊重原作者的版權素材僅用于你計劃使用的方式?!久赓M下載鏈接】cobaltbest way to save what you love項目地址: https://gitcode.com/GitHub_Trending/cob/cobalt創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考