Skip to content

Command line tool to download Youtube playlist (video or audio)

Notifications You must be signed in to change notification settings

m-cakir/ytdl-playlist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Youtube Playlist Downloader

Downlad Youtube playlist videos as video or audio with command line tool.

Prerequisites

node >= 8.9.0

ffmpeg (for audio)

Built With

  • Node - Javascript run-time environment
  • Youtube Data Api Youtube Data Api
  • Ytdl Core YouTube video downloader in javascript
  • FFMPEG - Multimedia framework, able to decode, encode, transcode, vs.
  • Fluent-ffmpeg A fluent API to FFMPEG
  • Got Simplified HTTP requests
  • Joi Object schema validation
  • Commander Node.js command-line interfaces made easy
  • Clui Command-line UI toolkit for Node.js

Install

clone this repo, then

npm install

Youtube Data API Key

Take your api key from here and set app.api_key property in the package.json file.

Usage

node index [options]

Options

   -v, --version                  version number
   -h, --help                     help
   -f, --format                   output format (video || audio), default: video
   -o, --output                   output folder name, default: playlist name
   -u, --url                      youtube playlist url (overrides "id" option)
   -i, --id                       youtube playlist id
   -r, --range                    playlist items range, must be like a-b
   -j, --json                     options from .json file (overrides other options)

Options json file format

"id" or "url" must be valid, you can't set both. Other options have default values (see --help output).

{
    "id": "PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW",
//  "url": "https://www.youtube.com/watch?v=9OIjPKLuu5g&list=PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW&index=10&t=0s",
    "range": [5, 10],
    "format": "audio",
    "output": "My Playlist XYZ"
}

Examples

Basic

node index -i "PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW"

Via playlist url

node index -u "https://www.youtube.com/watch?v=9OIjPKLuu5g&list=PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW&index=10&t=0s"

Save as audio (bitrate: 192kbps)

node index -i "PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW" -f "audio"

Output folder name

node index -i "PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW" -o "My Playlist XYZ"

Save items by range

node index -i "PLlPn9MKk0K5HuCjbm3i0_JCnSuamvkugW" -r 5-10

Options from file

node index -j "../json/playlist.json"

Screenshots

alt text

alt text

alt text

About

Command line tool to download Youtube playlist (video or audio)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published