Skip to content

Program to download a JSON playlist with youtube-dl

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.txt
Unknown
COPYING.txt
Notifications You must be signed in to change notification settings

mfederczuk/youtube-dl-playlist

Repository files navigation

youtube-dl-playlist

version: 1.0.0-indev08 Changelog

About

youtube-dl-playlist is a Node.js program that uses youtube-dl or cURL to download an entire playlist loaded in from a JSON file.
The program automatically will download all tracks with the best audio available, then convert them into mp3 files using FFmpeg and add ID3v2 frames to the file.

Usage

Only one path must be given the program.
The given file must be a JSON array where each item must match the following schema:

{
	"title": string,
	"artist": string,
	"featured_artists"?: string[],
	"album"?: string,
	"nr"?: number,
	"year"?: number,
	"comments"?: string | string[],
	"url"?: string,
	"fallback_urls"?: string[],
	"file"?: string,
	"fallback_files"?: string[],
	"other"?: any
}

URLs in "url" and "fallback_urls" will be download using youtube-dl and all URLs in "file" and "fallback_files" will be downloaded using cURL.

The following options can be specified:

  • --download
    Download the playlist
  • --high-effort
    Downloads the playlist faster, but uses more system resources.
    Implies the --download option
  • --only-show-errors
    Only log tracks that failed to download.
    Implies the --download option
  • --compact
    Overwrite the given file with compact JSON. Saves some space
  • --pretty=(tab|<number_of_spaces>)
    Overwrite the given file with formatted JSON, either with tabs as indentation or with the number of spaces specified. Good for editing and viewing
  • --sort
    Also sort the playlist before overwriting.
    Requires either the --compact or the --pretty option

It's not allowed to give both the --compact and the --pretty options at once.
The --download and one of the overwrite options (--compact and --pretty) are both allowed to be given at once.

youtube-dl, cURL and FFmpeg needs be installed on the system and their binaries must be available on your PATH.

Installation

Install using npm:

npm i -g @mfederczuk/youtube-dl-playlist

Contributing

Read through the Contribution Guidelines if you want to contribute to this project.

License

youtube-dl-playlist is licensed under the GNU General Public License v3.0 or later.
For more information about copying and licensing, see the COPYING.txt file.

About

Program to download a JSON playlist with youtube-dl

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.txt
Unknown
COPYING.txt

Code of conduct

Stars

Watchers

Forks