Total Pageviews

Wednesday, 28 August 2024

在线视频下载开源工具-Cobalt



Cobalt 是一款开源的视频和音频下载工具,支持 B 站、YouTube、Pinterest、Tiktok、VK、Instagram、Reddit 等多个平台。基于JavaScript,遵守AGPL3.0开源协议。

目前支持的平台包括:
    bilibili.com & bilibili.tv (B 站)
    Dailymotion.com
    Instagram.com 
    Loom.com
    Pinterest.com
    Reddit.com
    Rutube.ru
    SoundCloud.com
    Streamable.com
    TikTok.com
    Tumblr.com
    Twitch.tv
    Twitter.com/X.com
    Vimeo.com
    VK.com
    YouTube.com

OK Video

    Vine archive

官网:https://cobalt.tools/  (试过,确实能下载youtube video)

源码:https://github.com/imputnet/cobalt

------------------------------------------------------

save what you love

cobalt.tools

💬 community discord server
🐦 twitter/x

what's cobalt?

cobalt is a media downloader that doesn't piss you off. it's fast, friendly, and doesn't have any bullshit that modern web is filled with: no ads, trackers, or invasive analytics.

paste the link, get the file, move on. it's that simple. just how it should be.

supported services

this list is not final and keeps expanding over time. if support for a service you want is missing, create an issue (or a pull request 👀).

service video + audio only audio only video metadata rich file names
bilibili.com & bilibili.tv
dailymotion
instagram posts & reels
facebook videos
loom
ok video
pinterest
reddit
rutube
snapchat stories & spotlights
soundcloud
streamable
tiktok
tumblr
twitch clips
twitter/x
vimeo
vine archive
vk videos & clips
youtube videos, shorts & music
emoji meaning
supported
impossible/unreasonable
not supported

additional notes or features (per service)

service notes or features
instagram supports reels, photos, and videos. lets you pick what to save from multi-media posts.
facebook supports public accessible videos content only.
pinterest supports photos, gifs, videos and stories.
reddit supports gifs and videos.
snapchat supports spotlights and stories. lets you pick what to save from stories.
rutube supports yappy & private links.
soundcloud supports private links.
tiktok supports videos with or without watermark, images from slideshow without watermark, and full (original) audios.
twitter/x lets you pick what to save from multi-media posts. may not be 100% reliable due to current management.
vimeo audio downloads are only available for dash.
youtube supports videos, music, and shorts. 8K, 4K, HDR, VR, and high FPS videos. rich metadata & dubs. h264/av1/vp9 codecs.

cobalt api

cobalt has an open api that you can use in your projects for free~. it's easy and straightforward to use, check out the docs to learn how to use it.

✅ you can use the main api instance (api.cobalt.tools) in your personal projects.
❌ you cannot use the free api commercially (anywhere that's gated behind paywalls or ads). host your own instance for this.

we reserve the right to restrict abusive/excessive access to the main instance api.

how to run your own instance

if you want to run your own instance for whatever purpose, follow this guide.
it's highly recommended to use a docker compose method unless you run for developing/debugging purposes.

partners

cobalt is sponsored by royalehosting.net, all main instances are currently hosted on their network :)

acknowledgements

ffmpeg

cobalt heavily relies on ffmpeg for converting and merging media files. it's an absolutely amazing piece of software offered for anyone for free, yet doesn't receive as much credit as it should.

you can support ffmpeg here!

ffmpeg-static

we use ffmpeg-static to get binaries for ffmpeg depending on the platform.

you can support the developer via various methods listed on their github page! (linked above)

youtube.js

cobalt relies on youtube.js for interacting with the innertube api, it wouldn't have been possible without it.

you can support the developer via various methods listed on their github page! (linked above)

many others

cobalt also depends on:

  • content-disposition-header to simplify the provision of content-disposition headers.
  • cors to manage cross-origin resource sharing within expressjs.
  • dotenv to load environment variables from the .env file.
  • esbuild to minify the frontend files.
  • express as the backbone of cobalt servers.
  • express-rate-limit to rate limit api endpoints.
  • hls-parser to parse m3u8 playlists for certain services.
  • ipaddr.js to parse ip addresses (for rate limiting).
  • nanoid to generate unique (temporary) identifiers for each requested stream.
  • node-cache to cache stream info in server ram for a limited amount of time.
  • psl as the domain name parser.
  • set-cookie-parser to parse cookies that cobalt receives from certain services.
  • undici for making http requests.
  • url-pattern to match provided links with supported patterns.

...and many other packages that these packages rely on.

from https://github.com/imputnet/cobalt 

-----

这样,“下载youTube视频的方法”(https://briteming.blogspot.com/2020/12/youtube.html)又添加了新的一员。

 

 

 



No comments:

Post a Comment