4 releases (stable)

1.0.2 Mar 26, 2024
1.0.1 Aug 22, 2023
1.0.0 Aug 20, 2023
0.1.0 Jul 19, 2023

#662 in Command line utilities

Download history 1/week @ 2024-02-13 6/week @ 2024-02-20 6/week @ 2024-02-27 1/week @ 2024-03-05 6/week @ 2024-03-12 173/week @ 2024-03-26 30/week @ 2024-04-02 6/week @ 2024-04-09

209 downloads per month

MIT license

68KB
1K SLoC

`blob-dl` Logo

Crates.io GitHub GitHub issues Crates.io

blob-dl

blob-dl is a command line tool used to download video and audio files from YouTube. It acts as an interface to yt-dlp and works by asking a series of questions that make it generate and then execute a yt-dlp command that fits your needs.

The idea behind this program is to remove all the tedious work of researching which flags you need to pass to yt-dlp to make it do what you want. When you use blob-dl you only need to know the url of what you want to download, and it'll figure out the rest.

  • See the Features section for more details on what blob-dl can do

asciicast

Installation

The most straightforward way to install blob-dl is to use the binaries

Alternatively, if you are a Rust programmer you can install blob-dl with cargo

$ cargo install blob-dl

Dependencies

blob-dl depends on yt-dlp, you can install it by following the official guide.

You should also install yt-dlp's recommended dependencies to access all of blob-dl's features (namely ffmpeg and ffprobe).

Usage

To use blob-dl you just have to pass it the url of the video or playlist that you want to download, the program will understand by itself what the link refers to and ask you questions accordingly.

The first one is What kind of file(s) do you want to download?

The answer you choose determines which download formats you can pick later on: For example, if you answer that you want to download audio-only files, then formats containing video will be hidden. In this readme, statements about downloading videos also apply to audio-only downloads

The second question Which quality or format do you want to apply to the video? allows you to choose a specific format, quality, filesize, ...

The available answers mean these things:

  • Best possible quality tells yt-dlp to automatically choose the best quality, for more information see yt-dlp's wiki

  • Smallest file size uses the format which results in the smallest file size

  • Choose a format to recode the video to is only available if ffmpeg is installed: After the video is downloaded, it can be converted to a file format of your choosing

  • Choose a format to download the video in doesn't require ffmpeg: it shows a list of formats directly available for download from YouTube without needing to convert anything, but the choice is rather limited

blob-dl will ask further questions, but they are self-explanatory

Features

Format conversion

blob-dl was designed to download large song playlists directly as audio files. Choosing between downloading audio files, normal video files or video-only files is very easy

Playlist Download

With blob-dl you can download whole playlists in one go, you can also choose a single file format to apply to all videos

Error tracking

While downloading, blob-dl keeps track of any errors thrown by yt-dlp and reports them at the end, the ones caused which can be resolved by re-trying the download can be easily re-downloaded

Q&A

Who is this for?

This program is intended for anyone who wants to download things from YouTube without having to remember yt-dlp's syntax. blob-dl can do everything an average user needs but with less hassle

yt-dlp power users with advanced needs probably won't find this program useful.

Why did I make this?

Have you ever had to download videos from YouTube? The process can be quite a pain because you will have to either spend your time closing pop-ups from a sketchy website or browsing through yt-dlp's documentation.

I was tired of spending hours downloading music videos and converting them to audio, so I wrote this program to make everything way easier

Notes

This logo was inspired by @Primer's blob plushie

Dependencies

~5–15MB
~234K SLoC