github.com/ytdl-org/youtube-dl

Command-line program to download videos from YouTube.com and other video sites

Open this visualization on its own page →

Contributors

913

Lines of Code

24,782

From

2008-07-21

To

2020-12-28

About ytdl-org/youtube-dl

youtube-dl is a command-line program written in Python that downloads videos from YouTube and numerous other video hosting platforms. The tool works across Unix, Windows, and macOS systems and is released to the public domain, allowing users to freely modify and redistribute it. It requires Python 2.6, 2.7, or 3.2 and later versions.

The program offers extensive customization through command-line options and configuration files. Users can select specific video formats and quality levels, filter downloads by date, view count, file size, and title patterns, and manage playlists by specifying which videos to download. Output filenames can be templated using video metadata like title, uploader, duration, and resolution. The tool supports authentication via .netrc files, proxy configuration including SOCKS proxies, and geographic restriction bypass options. It integrates with ffmpeg or avconv for post-processing tasks like audio extraction and subtitle conversion.

youtube-dl's flexibility extends to advanced features like downloading only specific playlist items by index or range, applying generic video filters based on metadata fields, and executing custom commands on downloaded files. The project maintains a comprehensive list of supported extractors for different platforms and provides detailed configuration options for network behavior, including proxy settings, IPv4/IPv6 preference, and custom socket timeouts. It serves a broad audience from casual users downloading individual videos to power users managing large-scale downloads with complex filtering and processing requirements.

Share this video