Skip to main content

CLI tool for download from YouTube

Project description

YouTube Downloader

  1. YouTube Video download

    • From a video or from a playlist
    • Download caption option available
    • Selectable resolution
  2. YouTube Audio download

    • From a video or from a playlist

Installation & Upgrade

  1. To install

    • Using pip

      pip install youtube-downloader-cli
      
    • Using uv

      uv tool install youtube-downloader-cli
      
    • Using uvx to use this tool directly without install

      uvx youtube-downloader-cli
      
  2. To upgrade

    • Using pip

      pip install --upgrade youtube-downloader-cli
      
    • Using uv

      uv tool install --upgrade --reinstall youtube-downloader-cli
      
    • Using uvx

      uvx youtube-downloader-cli@latest
      

CLI Application

Step 1. Enter YouTube video URL (auto-detect from clipboard)

Step 2. Choose options

Available options:

1. Download audio only 
2. Download video 
3. Download video with caption 
4. Download audios from playlist
5. Download videos from playlist

Step 3. Choose a directory to save file(s)

Step 4. Choose preferred resolution for video downloading

If option 2, 3, or 5 is chosen in Step 2, please select a preferred resolution for video downloading.

Available options:

SD - 480p
HD - 720p
FullHD - 1080p
QHD - 1440p
4K - 2160p
best

Video with highest resolution, but not higher than user's choice (unless 'best' is chosen), will be downloaded.

Step 5. Choose captions to download

If option 3 is chosen in Step 2, please select which caption(s) to be downloaded. User will only be prompted if more than one caption is available for selected video.

[!Note] If PyTubeFix failed to connect to YouTube, it may need to be upgraded to the newest version.

Using pip: pip install --upgrade pytubefix.

Or using uv: uv install --upgrade --reinstall youtube-downloader-cli.

[!Tip] When downloading from a playlist (Option 4 & 5), videos/audios will be downloaded in parallel. Maximum number of parallel downloads could be set via environment variable YTDL_WORKERS (default is 4).

Dependencies

  1. For CLI Application

    • pyperclip
    • pytubefix
    • questionary
    • rich
  2. Of pytubefix NodeJS is used for POTOKEN generation by pytubefix. If NodeJS is not available, POTOKEN will be skipped, may result in YouTube denying pytubefix's requests.

  3. FFMPEG

    Progressive stream (both audio & video in one file) in YouTube has lower resolution. If ffmpeg is available, high resolution video & audio will be downloaded separately, then merges using ffmpeg.

    If ffmpeg is not available in $PATH, progressive stream will be downloaded.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtube_downloader_cli-0.3.1rc0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_downloader_cli-0.3.1rc0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file youtube_downloader_cli-0.3.1rc0.tar.gz.

File metadata

File hashes

Hashes for youtube_downloader_cli-0.3.1rc0.tar.gz
Algorithm Hash digest
SHA256 30d46e0cd23d18d445065dbaa2f5dc0faa901fec716d562cc68bd233f2d996af
MD5 f33b83999d9bc773e4805473aa936779
BLAKE2b-256 67fda96511adff079ca7261acdc41d10e4a981b29f3bad6cb1799c4e727cbd41

See more details on using hashes here.

File details

Details for the file youtube_downloader_cli-0.3.1rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for youtube_downloader_cli-0.3.1rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 4eebe1c908874d66b7f36058cf5cb0744521bd7f51d3036b44b466f2135691fd
MD5 450052be409e949d1e38299e413bd449
BLAKE2b-256 2e80948ee6dca377eaa2bc801bf9e9ff585147377eb7548779fc7c4bdf5a77e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page