What is yt-dlp?
yt-dlp is a command-line audio and video downloader that handles well over a thousand sites. It began as a fork of youtube-dl (by way of the now-inactive youtube-dlc) and has since become the actively maintained project of the two, with a far richer format selector, SponsorBlock integration, native support for embedding subtitles, chapters and metadata, and a plugin system for custom extractors.
⚡ Key Features of yt-dlp
🌐 Thousands of Sites
Over 1,700 extractors covering video platforms, broadcasters, podcast hosts and news sites, plus a generic extractor that finds media on pages nobody wrote an extractor for.
🎚️ Precise Format Selection
-f and -S give you a full expression language over resolution, codec, bitrate and container, so you can ask for exactly the stream you want instead of whatever is default.
🎧 Audio Extraction
-x --audio-format mp3 pulls the audio track out and re-encodes it, with --embed-thumbnail and --embed-metadata for tagged files that music players understand.
💬 Subtitles & Chapters
Download or embed subtitles in any available language, keep automatic captions, and write chapter markers straight into the output file — or split on them.
⏭️ SponsorBlock
Mark or remove sponsor segments, intros and self-promotion at download time using the SponsorBlock database, without touching an editor afterwards.
🍪 Cookies & Sessions
--cookies-from-browser reads a logged-in session straight from Firefox or Chromium so private, age-gated and members-only content works.
apt upgrade keeps you on the latest version.
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateStep 2: Install yt-dlp
# Install latest yt-dlp
sudo apt install yt-dlp
# Verify installation
yt-dlp --version# Install latest yt-dlp
apt install yt-dlp
# Verify installation
yt-dlp --versionStep 3: Install ffmpeg (strongly recommended)
# yt-dlp needs ffmpeg to merge separate video and audio streams,
# to extract audio and to embed subtitles or thumbnails
sudo apt install ffmpeg
# Completions for bash, zsh and fish ship with the package —
# nothing to configure. Open a new shell and press Tab:
yt-dlp --embed-<Tab>
# The manual page is installed too
man yt-dlp# yt-dlp needs ffmpeg to merge separate video and audio streams,
# to extract audio and to embed subtitles or thumbnails
apt install ffmpeg
# Completions for bash, zsh and fish ship with the package —
# nothing to configure. Open a new shell and press Tab:
yt-dlp --embed-<Tab>
# The manual page is installed too
man yt-dlp🎯 Basic Usage Examples
Everyday downloading:
# Download a video at the best available quality
yt-dlp 'https://example.com/watch?v=...'
# Best MP4 up to 1080p
yt-dlp -S 'res:1080,ext:mp4' 'URL'
# Audio only, as a tagged MP3
yt-dlp -x --audio-format mp3 --embed-thumbnail --embed-metadata 'URL'
# See every format on offer before choosing
yt-dlp -F 'URL'Subtitles, chapters and sponsors:
# Embed English subtitles, including automatic captions
yt-dlp --embed-subs --sub-langs en --write-auto-subs 'URL'
# Write chapter markers into the file
yt-dlp --embed-chapters 'URL'
# Drop sponsor segments and intros at download time
yt-dlp --sponsorblock-remove sponsor,intro 'URL'
# Grab a single section instead of the whole video
yt-dlp --download-sections '*00:01:30-00:04:00' 'URL'Playlists, archives and automation:
# A whole playlist, into tidy per-uploader folders
yt-dlp -o '%(uploader)s/%(title)s.%(ext)s' 'PLAYLIST_URL'
# Keep a channel in sync without re-downloading old items
yt-dlp --download-archive seen.txt 'CHANNEL_URL'
# Private or age-gated content, using a logged-in browser session
yt-dlp --cookies-from-browser firefox 'URL'
# Faster downloads through aria2c
yt-dlp --downloader aria2c --downloader-args aria2c:'-x 8 -s 8' 'URL'🔧 Tool Integrations
yt-dlp is the download backend a lot of other software expects:
- ffmpeg: merging, remuxing, audio extraction and embedding all shell out to it
- mpv: plays a URL directly by handing it to yt-dlp on the fly
- aria2: optional external downloader for parallel, segmented transfers
- Media servers: Jellyfin, Kodi and Navidrome libraries are commonly filled from yt-dlp output templates
- Config files: put your usual flags in
~/.config/yt-dlp/configand stop retyping them
🚀 Why Choose deb.griffo.io?
- Official Ubuntu: available, but frozen at the version that shipped with the release — months of extractor fixes behind
- pip / pipx: current, but outside apt, and PEP 668 makes a system-wide
pip installawkward on Ubuntu - deb.griffo.io: latest version with automatic updates
- ✅ Working Extractors: the newest release, which is what keeps downloads succeeding
- ✅ No Manual Setup: no pip, no virtualenv, no self-update writing into
/usr/local/bin - ✅ Automatic Updates: packages updated within hours of upstream releases
- ✅ Complete Package: the official upstream build, the
yt-dlp.1man page and bash/zsh/fish completions - ✅ Every Architecture: shipped as
Architecture: all, so amd64, arm64, armhf, riscv64 and the rest install the same package - ✅ Multi-Distribution: works on Ubuntu 22.04, 24.04, 25.10 and 26.04
- ✅ Easy Maintenance: standard apt commands for updates
📦 Package Build Repository
The Ubuntu packages are automatically built and maintained in this GitHub repository:
- 📺 yt-dlp-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- termusic - Terminal music player for everything you download
- lowfi - Minimalist lofi radio player
- viu - View thumbnails and images in the terminal
- Yazi - Terminal file manager for browsing your library
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!