youtube-dl

From ArchWiki
Jump to navigation Jump to search

youtube-dl is a command-line program that lets you easily download videos and audio from more than a thousand websites. See the list of supported sites.

Installation

Install the youtube-dl package, or youtube-dl-gitAUR for the development version. It is recommended to also install FFmpeg as it is used for muxing for some sites. See the optional dependencies.

Configuration

The system-wide configuration file is /etc/youtube-dl.conf and the user-specific configuration file is ~/.config/youtube-dl/config. The syntax is simply one command-line option per line. Example configuration:

--ignore-errors
# --no-playlist

# Save in ~/Videos
-o ~/Videos/%(title)s.%(ext)s

# Prefer 1080p or lower resolutions
-f bestvideo[ext=mp4][height<1200]+bestaudio[ext=m4a]/bestvideo[ext=webm][height<1200]+bestaudio[ext=webm]/bestvideo[height<1200]+bestaudio/best[height<1200]/best

See [1] for more information.

Usage

See youtube-dl(1) for the manual.

$ youtube-dl [OPTIONS] URL
Tip: In some cases (like YouTube) URL can be substituted with the video ID.

Format selection

In cases where multiple formats of a video are available, youtube-dl will download the best ones by default.

To select a specific one to download, first get a list of the available formats:

$ youtube-dl -F URL

Note the code of the format you want, then run:

$ youtube-dl -f format URL

Extract audio

Use -x for audio-only downloads (requires FFmpeg):

$ youtube-dl -x -f bestaudio URL

Depending on the available source streams, this will often correct the audio-only container. If an audio-only stream is not available, exclude -f bestaudio from the example above. This will download the video and copy its audio as post process. By default this will remove the downloaded video, include -k to keep it.

To also include album art (requires atomicparsley):

$ youtube-dl -x -f bestaudio[ext=m4a] --embed-thumbnail URL

Subtitles

To see which languages are available:

$ youtube-dl --list-subs URL

To download a video with selected subtitles (comma separated):

$ youtube-dl --write-sub --sub-lang LANG URL #for normal subtitle
$ youtube-dl --write-auto-sub --sub-lang LANG URL #for automatic generated subtitle


Add --skip-download to get only subtitles.

Tips and tricks

Faster downloads

Some websites throttle transfer speeds. You can often get around this by choosing non DASH streams or by using aria2, an external downloader which supports multi-connection downloads. For example:

$ youtube-dl --external-downloader aria2c --external-downloader-args '-c -j 3 -x 3 -s 3 -k 1M' URL

Trim (partial download)

Parts of videos can be downloaded by using the output of youtube-dl -g -f format URL as ffmpeg input with the -ss, -t and -c copy options.

URL from clipboard

A shell alias, a desktop launcher or a keyboard shortcut can be set to download a video (or audio) of a selected (or copied) URL by outputting it from the X selection. See Clipboard#Tools.

See also