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.1rc1.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.1rc1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for youtube_downloader_cli-0.3.1rc1.tar.gz
Algorithm Hash digest
SHA256 f20682d17614aa3308494d583b8061ca541eb93b2bfc21a5d7b6ac324bb841b7
MD5 6e5959df772b2d423d6df24e3f7d6070
BLAKE2b-256 85113f5680fe2d75b7ccc685b49857502c88a86bf3d75895bee83a85affaef6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for youtube_downloader_cli-0.3.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 a37584bd48f3684ccb05511e450eae6743a932051ae280bcb7011a7745fe4335
MD5 e2f2008935f0334e59584a0aee871f9d
BLAKE2b-256 2eb4b0955ce9f27e5805788a12b79f05602e2d443793af794b6fd198b7c77bea

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