4K star!喜欢的视频都收下,开源视频下载利器
当刷到了自己喜欢的学习(小姐姐)视频,你是不是也很想保存下载,以备复习之用?
今天我们分享一个开源项目,满足你下载视频的需求,还不会给你弹出一堆广告,它就是:cobalt
cobalt 是什么
是一个免费、无广告且易于使用的媒体下载工具。它支持多种流媒体服务,包括 B站、油管、tiktok 等。并且它不会让您烦恼,它快速、友好,并且没有现代网络中充斥的各种垃圾信息:没有广告、跟踪器或侵入性分析。
以下是目前项目支持的网站列表。
该列表不是最终的,并且会随着时间的推移而不断扩大。如果缺少您想要的服务,你还可以给项目提ISSUE,作者会考虑支持。
部署 Cobalt
在线环境
首先项目部署了一个在线服务,可以直接使用,地址如下:cobalt.tools/
docker部署
如果想自己部署一个的话,这里建议使用docker compose,所以首先你需要安装好docker。
之后创建一个docker compose文件,参考如下命令:
mkdir cobalt
cd cobalt && vi docker-compose.yml
之后在docker-compose.yml中加入具体的配置,这里全部的docker compose文件包含了2个主要部分,API和WEB,如果你在实际使用时不需要用到那部分的话,可以根据自己的需要来修改内容。内容不难,大家自己看一眼也就都懂了。
version: '3.5'
services:
cobalt-api:
image: ghcr.io/wukko/cobalt:7
restart: unless-stopped
container_name: cobalt-api
init: true
# if container doesn't run detached on your machine, uncomment the next line
#tty: true
ports:
- 9000:9000/tcp
# if you're using a reverse proxy, uncomment the next line and remove the one above (9000:9000/tcp):
#- 127.0.0.1:9000:9000
environment:
# replace <https://co.wuk.sh/> with your instance's target url in same format
API_URL: "<https://替换自己的URL//>"
# replace eu-nl with your instance's distinctive name
API_NAME: "eu-nl"
# if you want to use cookies when fetching data from services, uncomment the next line and the lines under volume
# COOKIE_PATH: "/cookies.json"
# see docs/run-an-instance.md for more information
labels:
- com.centurylinklabs.watchtower.scope=cobalt
# if you want to use cookies when fetching data from services, uncomment volumes and next line
#volumes:
#- ./cookies.json:/cookies.json
cobalt-web:
image: ghcr.io/wukko/cobalt:7
restart: unless-stopped
container_name: cobalt-web
init: true
# if container doesn't run detached on your machine, uncomment the next line
#tty: true
ports:
- 9001:9001/tcp
# if you're using a reverse proxy, uncomment the next line and remove the one above (9001:9001/tcp):
#- 127.0.0.1:9001:9001
environment:
# replace <https://cobalt.tools/> with your instance's target url in same format
WEB_URL: "<https://替换自己的URL/>"
# replace <https://co.wuk.sh/> with preferred api instance url
API_URL: "<https://替换自己的URL//>"
labels:
- com.centurylinklabs.watchtower.scope=cobalt
# update the cobalt image automatically with watchtower
watchtower:
image: ghcr.io/containrrr/watchtower
restart: unless-stopped
command: --cleanup --scope cobalt --interval 900
volumes:
- /var/run/docker.sock:/var/run/docker.sock
最后启动容器
docker compose up -d
源码启动
也可以通过源码来启动项目,这里需要首先在本地安装好nodejs环境,要求nodejs 18+。接下来可以参考如下:
git clone <https://github.com/wukko/cobalt>.
npm run setup
npm start
使用 Cobalt
启动 Cobalt 后可以看到主界面,很简单、很直接,就是复制链接,开始下载。
项目还可以使用快捷键,好像最近web项目提供快捷键成为一种热门配置。
在下方的设置里面,可以自行设置下载的视频、音频的一些参数,如视频的质量、大小,音频的格式
除了对视频和音频的下载设置外,还可以对现实样式、文件命名等做设置。
除了基本的web使用,cobalt是可以通过API来使用的,这样的话,你是可以将它融入到自己的程序当中来进行调用,这就有了非常多的想象空间。
API的主入口信息如下:
**POST: /api/json
request body type: application/json
response body type: application/json**
更多的请求参数和返回参数,可以参考如下:
项目特点
- 支持多种流媒体服务:支持 YouTube、Bilibili、Netflix 等众多流媒体服务,用户可以轻松下载这些平台上的视频和音频内容。
- 高效稳定的下载速度:采用了先进的下载技术和算法,确保用户能够获得高效稳定的下载速度,节省用户的时间。
- 简单易用的操作界面:提供了直观的操作界面和简洁的操作流程,让用户可以轻松上手,无需复杂的设置和配置。
- 灵活多样的下载选项:允许用户自定义下载选项,包括选择下载的视频质量、音频格式等,满足用户的不同需求。
总结
最后也要说明,开源项目的本身目的是技术分享和交流,而不是为盗版提供便利。所以大家在使用的时候也同样要注意版权问题,如果作者有版权要求,还是要遵守。
从技术的角度,Cobalt还是非常不错,支持多种流媒体服务,提供高效稳定的下载速度和灵活多样的下载选项,是一个很好的视频下载器。
项目信息
- 项目名称: cobalt
- GitHub 链接:github.com/wukko/cobal…
- Star 数:4K
转载自:https://juejin.cn/post/7374808297186246710