Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - Arch Linux - The yt-dlp Manual: Grab Videos and Audio From Your Terminal

    The yt-dlp Manual: Grab Videos and Audio From Your Terminal

    WillieBy WillieMarch 7, 2026Updated:March 27, 2026No Comments5 Mins Read

    yt-dlp is a command-line tool that downloads videos and audio from YouTube, Vimeo, Dailymotion, and over a thousand other platforms. It handles format selection, subtitle embedding, audio extraction, metadata tagging, cookie-based authentication, and live stream recording. This page covers the most common yt-dlp commands, organized by task.

    Note: FFmpeg must be installed for stream merging, audio extraction, and any re-encoding. Run ffmpeg -version to verify it is available before using format or audio flags.

    Download Videos With yt-dlp

    Single video

    Pass a URL to grab the highest available quality. yt-dlp fetches the best video and audio streams, then merges them into one file:

    $ yt-dlp https://www.example.com/watch?v=VIDEO_ID

    Full playlist

    Prefix each file with its position number using a naming template:

    $ yt-dlp -o "%(playlist_index)s - %(title)s.%(ext)s" \
        "https://www.example.com/playlist?list=PLAYLIST_ID"

    Multiple URLs from a text file

    Put one URL per line in a plain text file, then pass it with -a:

    $ yt-dlp -a urls.txt

    Skip already-downloaded files

    yt-dlp logs completed video IDs into an archive file and skips them on the next run:

    $ yt-dlp --download-archive archive.txt --no-overwrites "PLAYLIST_URL"

    Prevent downloading an entire playlist from a short

    $ yt-dlp --no-playlist "SHORTS_URL"

    Record a live stream

    Use MPEG-TS for HLS streams so the file stays usable if the process is interrupted:

    $ yt-dlp --hls-use-mpegts "LIVE_STREAM_URL"

    Extract Audio With yt-dlp

    Rip audio and convert to MP3

    $ yt-dlp -x --audio-format mp3 "URL"

    Keep the original audio codec without re-encoding

    $ yt-dlp -x --audio-format best --no-keep-video "URL"

    Download Subtitles With yt-dlp

    Fetch and embed English captions

    $ yt-dlp --write-subs --sub-lang en --embed-subs "URL"

    Split video by chapters

    Each chapter marker in the video becomes a separate output file:

    $ yt-dlp --split-chapters -o "%(title)s - %(chapter)s.%(ext)s" "URL"

    Select Format and Quality in yt-dlp

    Use -F to list all available formats for a URL before downloading. Then use -f to pick one:

    $ yt-dlp -F "URL"
    Command What it does
    yt-dlp -f “bv*+ba” URL Merges best video with best audio
    yt-dlp -f “best[height<=720]” URL Caps resolution at 720p
    yt-dlp -f “mp4” URL Prefers MP4 container
    yt-dlp -f “bv[ext=webm]+ba[ext=m4a]” URL Pairs a WebM video track with M4A audio
    yt-dlp –recode-video mp4 URL Converts output to MP4 after download

    Control Output File Names

    Use -o with template variables to set custom paths and names:

    $ yt-dlp -o "~/Videos/%(title)s.%(ext)s" "URL"

    Prefix the filename with the upload date:

    $ yt-dlp -o "%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s" "URL"
    Tip: Add --no-part --no-continue to prevent .part temporary files from appearing in your output directory.

    Embed Metadata and Thumbnails

    Write video tags and cover art directly into the output file:

    $ yt-dlp --embed-metadata --embed-thumbnail "URL"

    For live streams, save the chat as a JSON file alongside the video:

    $ yt-dlp --write-chat "LIVE_URL"

    Use Cookies for Restricted Content

    Age-gated or login-required pages need a valid session cookie. Export cookies from your browser and pass the file:

    $ yt-dlp --cookies cookies.txt "URL"

    Or let yt-dlp read cookies directly from an installed browser:

    $ yt-dlp --cookies-from-browser firefox "URL"
    Note: Chrome and Chromium are also supported with --cookies-from-browser chrome.

    Network and Bandwidth Options

    Route traffic through a proxy

    $ yt-dlp --proxy socks5://127.0.0.1:9050 "URL"

    Use aria2c for parallel segment downloads

    Handing off to an external downloader like aria2c can significantly increase speed on large files:

    $ yt-dlp --external-downloader aria2c \
        --external-downloader-args "-x 16 -k 1M" "URL"

    Limit download speed

    $ yt-dlp --limit-rate 500K "URL"

    Add random pauses between requests

    This reduces the chance of rate-limiting when downloading large playlists:

    $ yt-dlp --sleep-interval 5 --max-sleep-interval 10 "URL"

    Automate With a yt-dlp Config File

    Place a config file at ~/.config/yt-dlp/config to apply options automatically on every run. One flag per line:

    --format bv*+ba
    --merge-output-format mp4
    --embed-thumbnail
    --embed-metadata
    --write-subs
    --sub-lang en
    --output ~/Videos/%(title)s.%(ext)s

    To use a different config path, pass --config-location /path/to/config.

    Troubleshoot and Update yt-dlp

    Command Purpose
    yt-dlp –verbose URL Print full debug output
    yt-dlp –ignore-errors URL Skip failed items and continue
    yt-dlp –no-check-certificate URL Bypass SSL verification (insecure)
    yt-dlp -U Install the latest available release
    Warning: --no-check-certificate disables SSL verification entirely. Only use it when you are certain the host is safe and no other option is available.

    yt-dlp Command Quick Reference

    Command Purpose
    yt-dlp URLDownload best quality audio and video
    yt-dlp -x –audio-format mp3 URLExtract audio, convert to MP3
    yt-dlp -x –audio-format best –no-keep-video URLExtract audio without re-encoding
    yt-dlp –write-subs –sub-lang en –embed-subs URLFetch and embed English captions
    yt-dlp –write-auto-subs URLPull auto-generated captions
    yt-dlp -f “bv*+ba” URLMerge top video and audio streams
    yt-dlp -F URLList all available formats
    yt-dlp -f “best[height<=720]” URLCap resolution at 720p
    yt-dlp -a urls.txtProcess URLs from a text file
    yt-dlp –download-archive archive.txt PLAYLIST_URLSkip already-downloaded items
    yt-dlp –split-chapters -o “%(title)s – %(chapter)s.%(ext)s” URLCreate one file per chapter
    yt-dlp –embed-metadata –embed-thumbnail URLWrite tags and cover art into output
    yt-dlp –cookies cookies.txt URLAccess restricted content via cookies
    yt-dlp –cookies-from-browser firefox URLRead cookies from Firefox
    yt-dlp –proxy socks5://127.0.0.1:9050 URLRoute through a SOCKS5 proxy
    yt-dlp –limit-rate 500K URLCap throughput at 500 KB/s
    yt-dlp –hls-use-mpegts URLRecord HLS streams with MPEG-TS
    yt-dlp –ignore-errors URLSkip failed items without stopping
    yt-dlp –verbose URLPrint full debug output
    yt-dlp -UUpdate to the latest release

    FAQs

    Yes. Pass a cookie file with --cookies cookies.txt, or use --cookies-from-browser firefox to read credentials from an installed browser session directly.

    Yes. yt-dlp handles M3U8 and other streaming formats by stitching segments automatically. Use --hls-use-mpegts when recording live streams to prevent file corruption on interruption.

    FFmpeg is required for merging separate video and audio streams, extracting audio, and any re-encoding tasks. Without it, yt-dlp can still download single-stream formats.

    Avoid --no-part so the partial .part file stays on disk. Re-run the same command — yt-dlp resumes from where it stopped if the server supports byte-range requests.

    yt-dlp supports over a thousand platforms, including YouTube, Vimeo, Dailymotion, Twitch, and many regional and live-streaming sites. Run yt-dlp --list-extractors to see the full list.

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    Arch Based Distros You Should Try in 2026

    March 19, 2026

    How to Set Up Spotify Arch Linux

    March 18, 2026

    How To Use Nmcli Connect To Wi-Fi on Linux

    March 14, 2026

    How to Do a Zsh Install on Any Linux Distro

    March 13, 2026
    Top Posts

    Linux Malware And Vulnerability Statistics [2026 Updated]

    January 6, 2026

    How to Change Owner of Folder Linux

    February 19, 2026

    How To Measure Network Jitter On Linux With Built-In Tools Running Real Workload Platforms

    March 9, 2026

    Ubuntu vs Debian vs Fedora Usage Statistics 2026

    January 30, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.