github.com/ytdl-org/youtube-dl ↗

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

An animated visualization of ytdl-org/youtube-dl's Git history from July 2008 to December 2020, built by 913 contributors. The codebase reached 24,782 lines, mostly Python. The video runs 6 minutes 22 seconds.

Render your own repo

Turn any GitHub repository into a video like this — free sample in seconds.

Visualize your own →

Open this visualization on its own page →

Language

Python

Contributors

913

Lines of Code

24,782

From

2008-07-21

To

2020-12-28

Advertisement

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