@zeverotti/ytdl-cli
v1.2.0
Published
ytdl-cli is a cli tool used for downloading videos from YouTube.
Downloads
6
Readme
ytdl-cli
ytdl-cli is a cli tool used for downloading videos from YouTube.
Usage
ytdl [command] [options]
Options:
-l, --link <char> Video url
-o, --output <char> Output folder
--mp3 Download as audio in mp3 format
--thumbnail Download video thumbnail
--begin <char> Video beginning in HH:MM:SS format
--end <char> Video ending in HH:MM:SS format
-h, --help display help for command
Commands:
auth
playlist [options]
Modules
ytdl-cli uses two main components which make it's functionality possible:
- ffmpeg - A complete, cross-platform solution to record, convert and stream audio and video.
- node-ytdl-core - A YouTube video downloader in javascript.
Installation
Install ytdl-cli as a global npm dependency.
npm i -g @zeverotti/ytdl-cli
Usage
ytdl-cli can be used by calling ytdl from your terminal:
ytdl -l https://youtu.be/d1VR2MMUVO0
Building from source
Clone the repository:
git clone https://github.com/Zeverotti/ytdl-cli
Install dependencies:
npm i
Build TypeScript source code:
npm run build
Run:
node build -l youtubelink # check options for more information on usage
Install globally:
npm i -g .
File input
You can pass a file instead of a YouTube link, the program will read it line by line and download the videos located on those lines.
videos.txt
https://www.youtube.com/watch?v=d1VR2MMUVO0
https://www.youtube.com/watch?v=aqz-KE-bpKQ
ytdl -l videos.txt
, will download the videos contained in videos.txt
.
You can pass parameters to each video as you normally would when using the cli.
https://www.youtube.com/watch?v=d1VR2MMUVO0 --mp3
https://www.youtube.com/watch?v=aqz-KE-bpKQ --thumbnail
YouTube API
Some features can't be directly provided by ytdl-core, for example extracting videos from a playlist or channel. Instead of opting for an unofficial solution like scraping, which in time will eventually break and require maintenance, ytdl-cli uses the official Google API for those features (API key required).
Obtaining the API key
Follow step 1 in "Node.js Quickstart". Remember where client_secret.json
is located.
Setting up the API key
Run the following command: ytdl auth set -i client_secret.json
and follow the instructions.
Deleting credentials
You can delete the credentials stored locally on your device by using ytdl auth wipe
.
Supported commands
Retrieve all videos in a playlist
ytdl playlist -i playlist_url
, will download all videos in a playlist with default options.
ytdl playlist -i playlist_url -f videos.txt
, will save all videos in a playlist inside a text file.
ytdl playlist -i playlist_url -- -o videos --mp3
, you can pass options as you normally would when using the CLI.
License
MIT