Skip to main content

๐Ÿง› The Dracula โ€” A powerful YouTube downloader CLI + TUI powered by yt-dlp

Project description

๐Ÿง› The Dracula โ€” YouTube Downloader CLI

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— 
  โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•
  โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
  โ•‘   ๐Ÿง› The Dracula  ยท  YouTube Downloader CLI  v1.0.0    โ•‘
  โ•‘      Powered by yt-dlp  ยท  Rising from the dark...     โ•‘
  โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

A powerful, dark-themed YouTube Downloader CLI built with Python and yt-dlp.
Download videos, audio, and full playlists โ€” all from the terminal.


โœจ Features

Feature Description
๐ŸŽฌ Video Download Download any YouTube video with quality selector
๐ŸŽต Audio Only Extract audio as MP3, M4A, WAV, FLAC, OPUS
๐Ÿ“‹ Playlist Download entire playlists (video or audio)
๐Ÿ“Š Format Lister View all available formats/qualities for a URL
๐ŸŽจ Rich TUI Coloured progress bars, ASCII art header
๐Ÿ–ฅ๏ธ Interactive Menu-driven interactive mode (no args needed)

๐Ÿ“ฆ Installation

1. Install Python dependencies

pip install -r requirements.txt

2. Install FFmpeg (required for merging video+audio and audio extraction)

Windows (via winget):

winget install --id=Gyan.FFmpeg -e

Windows (via Chocolatey):

choco install ffmpeg

macOS:

brew install ffmpeg

Linux (Ubuntu/Debian):

sudo apt install ffmpeg

๐Ÿš€ Usage

Interactive Mode (recommended for beginners)

Just run without any arguments:

python dracula.py

You'll get a full menu to choose from.


Command Line Mode

Download a Video

# Best quality (default)
python dracula.py video -u "https://youtube.com/watch?v=..."

# Specific quality
python dracula.py video -u "https://youtube.com/watch?v=..." -q 1080p
python dracula.py video -u "https://youtube.com/watch?v=..." -q 720p
python dracula.py video -u "https://youtube.com/watch?v=..." -q 4k

# Specific format ID (from formats command)
python dracula.py video -u "https://youtube.com/watch?v=..." -f 137

# Custom output directory
python dracula.py video -u "https://youtube.com/watch?v=..." -q 1080p -o "C:\Videos"

Quality Options: best | 4k | 1440p | 1080p | 720p | 480p | 360p | worst


Download Audio Only

# Default: MP3 at 192kbps
python dracula.py audio -u "https://youtube.com/watch?v=..."

# High quality MP3
python dracula.py audio -u "https://youtube.com/watch?v=..." -f mp3 -b 320

# FLAC lossless
python dracula.py audio -u "https://youtube.com/watch?v=..." -f flac

# M4A format
python dracula.py audio -u "https://youtube.com/watch?v=..." -f m4a -b 256

Format Options: mp3 | m4a | wav | flac | opus | aac
Bitrate Options: 128 | 192 | 256 | 320


Download a Playlist

# Full playlist at 720p
python dracula.py playlist -u "https://youtube.com/playlist?list=..."

# Full playlist at 1080p
python dracula.py playlist -u "https://youtube.com/playlist?list=..." -q 1080p

# Playlist as audio only (MP3)
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --audio-only

# Playlist as FLAC audio
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --audio-only -f flac

# Download items 5 through 10 only
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --start 5 --end 10

List Available Formats

python dracula.py formats -u "https://youtube.com/watch?v=..."

This shows a full table of all format IDs, resolutions, codecs, and file sizes.


๐Ÿ“ Output Location

By default, files are saved to:

~/Downloads/Dracula/

Playlists are saved in a subfolder named after the playlist:

~/Downloads/Dracula/<Playlist Title>/01 - Video Title.mp4
~/Downloads/Dracula/<Playlist Title>/02 - Video Title.mp4

Use -o <path> to change the output directory for any command.


๐Ÿง› The Dracula Commands Summary

python dracula.py                        โ†’ Interactive menu
python dracula.py video   -u URL         โ†’ Download video
python dracula.py audio   -u URL         โ†’ Download audio only
python dracula.py playlist -u URL        โ†’ Download playlist
python dracula.py formats  -u URL        โ†’ List formats

โš™๏ธ Full Option Reference

video command

Flag Short Default Description
--url -u required YouTube video URL
--quality -q best Quality: best/4k/1440p/1080p/720p/480p/360p/worst
--format-id -f โ€” Specific yt-dlp format ID
--output -o ~/Downloads/Dracula Output directory

audio command

Flag Short Default Description
--url -u required YouTube video URL
--format -f mp3 Audio format: mp3/m4a/wav/flac/opus/aac
--bitrate -b 192 Bitrate in kbps: 128/192/256/320
--output -o ~/Downloads/Dracula Output directory

playlist command

Flag Short Default Description
--url -u required Playlist URL
--quality -q 720p Video quality
--audio-only โ€” off Download audio only
--format -f mp3 Audio format (with --audio-only)
--start โ€” โ€” Start at item number
--end โ€” โ€” End at item number
--output -o ~/Downloads/Dracula Output directory

๐Ÿ”ง Requirements


๐Ÿ“œ License

MIT โ€” Free to use, modify, and distribute.


๐Ÿง› The Dracula rises on PyPI โ€” and the world shall download in darkness.


Made with โค๏ธ by Ajaymyth
๐Ÿ“ง javaliajayakumar8574@gmail.com

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

dracula_dl-1.0.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

dracula_dl-1.0.0-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file dracula_dl-1.0.0.tar.gz.

File metadata

  • Download URL: dracula_dl-1.0.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dracula_dl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9da3c34c4419c21f397b4a55d3746c58aec5cef5e7e48ae31caafddcd3010492
MD5 78c58178cd7a788fc518f090dce894ea
BLAKE2b-256 4f7a02c821392a9c447a3bdee93b030aaa13dcf05110e98cacf113654d8426f4

See more details on using hashes here.

File details

Details for the file dracula_dl-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: dracula_dl-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dracula_dl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9044edde51a446f76ca75e968be093038578635e8e5ccce9bc02921efde1386
MD5 d3f79bca9988c146898a851ee613cf22
BLAKE2b-256 182ff09fe5da6b9942f71d26c1f7479873e5d6d0ea183714cdc9ff0303e48858

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