Skip to main content
yt-dlp has minimal required dependencies, but several optional dependencies unlock additional features and capabilities.

Python Requirements

Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other versions and implementations may or may not work correctly.
If you’re using the standalone binary releases, Python is already included and you don’t need to install it separately. While technically optional, these dependencies are highly recommended for full functionality:

FFmpeg and FFprobe

ffmpeg and ffprobe are essential for most common use cases. Required for:
  • Merging separate video and audio files
  • Converting between formats
  • Embedding thumbnails and metadata
  • Post-processing tasks (cutting, trimming, etc.)
  • Downloading HLS/DASH streams
License: Depends on the build
There are bugs in ffmpeg that cause various issues when used with yt-dlp. We provide custom builds with patches that fix these issues.Download patched builds: yt-dlp/FFmpeg-Builds
Important: You need the ffmpeg binary, NOT the Python package of the same name.

Installing FFmpeg

yt-dlp-ejs

yt-dlp-ejs - Required for full YouTube support. License: Unlicense, bundles MIT and ISC components Requires a JavaScript runtime:
Standalone binaries typically include yt-dlp-ejs. For pip installations, see the EJS wiki for setup instructions.

Networking Dependencies

These enhance network functionality and protocol support:

Core Networking

Browser Impersonation

These enable impersonating browser requests to bypass TLS fingerprinting: curl_cffi (recommended) curl_cffi - Python binding for curl-impersonate. Provides impersonation for Chrome, Edge, and Safari. License: MIT
curl_cffi is included in most official builds except:
  • yt-dlp (Unix zipimport binary)
  • yt-dlp_x86 (Windows 32-bit)
  • yt-dlp_musllinux_aarch64

Metadata Dependencies

For embedding thumbnails and writing metadata:

Example: Embedding Thumbnails

Miscellaneous Dependencies

Deprecated Dependencies

These are no longer recommended but still supported:
These dependencies are deprecated. ffmpeg can be used instead for most use cases.

Checking Available Dependencies

To see which dependencies are currently available:
The verbose output displays all detected dependencies at the top.
If you attempt a task requiring a missing dependency, yt-dlp will warn you with a specific message about what’s needed.

Installing Dependencies

Via pip (Python installation)

Standalone Binaries

Packages marked with * are included in the standalone release binaries. If you’re using a standalone binary, you already have:
  • Python interpreter
  • certifi
  • brotli/brotlicffi
  • websockets
  • requests
  • mutagen
  • pycryptodomex
  • secretstorage (Linux builds)
  • curl_cffi (most builds)
You only need to install external tools like:
  • ffmpeg/ffprobe
  • AtomicParsley
  • External downloaders (aria2c, wget, etc.)

Licensing Considerations

To use or redistribute yt-dlp with dependencies, you must agree to their respective licensing terms.
The standalone PyInstaller-bundled executables include GPLv3+ licensed code (from dependencies like mutagen), so the combined work is licensed under GPLv3+.The source code, source tarball, and PyPI packages contain only Unlicense code.
For complete licensing details, see THIRD_PARTY_LICENSES.txt in the repository.