youtube-dl - download videos from youtube.com or other video platforms
youtube-dl [options] url ...
youtube-dl is a script to download videos from youtube.com or any other of the supported video platforms.
Currently supported sites are: CollegeHumor, Comedy Central, Dailymotion, Facebook, Metacafe, MyVideo, Photobucket, The Escapist, Vimeo, Yahoo!, YouTube, blip.tv, depositfiles.com, video.google.com, xvideos, Soundcloud, InfoQ, Mixcloud, OpenClassRoom.
Once it is installed in your system, you should be able to call it from the command line. Usage instructions are easy. Use youtube-dl followed by a video URL or identifier. As an example, consider:
The video will be saved to the file "foobar.flv" in that example. Many YouTube.com videos are in Flash Video format and their extension would be "flv". Other videos are encoded in H.264 and these usually have the extension "mp4". In Linux and other unices, video players using a recent version of ffmpeg can play them. That includes MPlayer, VLC, xine, among others.
youtube-dl accepts options in the following categories
-h, --help Print help text and exit.
-v, --version Print program version and exit.
-U, --update Update this program to the latest stable version.
-i, --ignore-errors Ignore errors during download and continue processing.
-r L, --rate-limit=L
Limit the download speed to the specified maximum L (e.g., 50k or 44.6m).
-R R, --retries=R
Number R of retries for a given download (default is 10).
The number N of the video in a playlist where we should start downlading (default is 1).
The number N of the video in a playlist where we should stop downloading (default is -1, which stands for the last video in the playlist).
--dump-user-agent Display how youtube-dl will identify itself (the User-Agent string) to the remote server.
-u UN, --username=UN
Specify the youtube account username UN. Some videos require an account to be downloaded, mostly because they're flagged as mature content.
-p PW, --password=PW
Like the username, specifies the account password to be PW.
-n, --netrc Get authentication data from the standard unix .netrc file on the user's home directory. The machine name is youtube regarding this usage.
-f FMT, --format=FMT
Specify the video format (quality) in which to download the video.
For youtube.com, in particular, the meaning of the format codes is given as:
WebM video at 480p: 43 WebM video at 720p: 45 H264 video in MP4 container at 480p: 18 H264 video in MP4 container at 720p: 22 H264 video in MP4 container at 1080p: 37 H264 video in FLV container at 360p: 34 H264 video in FLV container at 480p: 35 H263 video at 240p: 5 3GP video: 17
Note that not all videos are available in all formats and that other sites supported by youtube-dl may have different conventions for their video formats.
By default, youtube-dl will download the best available format; if you want to download the worst format to save bandwidth and time, use "-f" worst.
--all-formats Downloads all formats for which a video may be available.
Limit the maximum quality of the videos to downloads to FMT.
-q, --quiet Activates quiet mode, avoiding many messages being written to the terminal.
-s, --simulate Simulate the operation, but do not download the video. Useful for testing.
-g, --get-url Simulate the operation, like quiet mode, but show the URL that would be used to download the video. Can be used with other download tools like wget or aria2c.
-e, --get-title Simulate the operation, like quiet mode, but show the title of the video that would be downloaded.
--get-thumbnail Simulate the operation, like quiet mode, but print the URL of of the video's thumbnail.
--get-description Simulate the operation, like quiet mode, but print the description of the video.
--get-filename Simulate the operation, like quiet mode, but print the output filename.
--no-progress Do not print the progress bar during downloads.
--console-title If possible, set the title of the console window with the progress of the download.
-t, --title Use the title of the video in the file name used to download the video.
-l, --literal Use the literal title of the video in file name used to download the video. Can contain "weird" characters that are not filtered like with the -t option.
-A, --auto-number When downloading multiple videos from a playlist, automatically number them, in sequence, starting from 00000.
-o TPL, --output=TPL
Specify a template TPL for the names of the files to be created when they are downloaded. The default filename is video_id.flv. But you can also use the video title in the filename with the "-t" or "--title" option, or preserve the literal title in the filename with the "-l" or "--literal" option.
-a F, --batch-file=F
Specify the name of a file containing URLs of videos to download from youtube in batch mode. The file must contain one URL per line.
-w, --no-overwrites Do no overwrite already existing files.
-c, --continue Resume partially downloaded files.
Store the received cookies to file F (the "cookie jar").
--no-part Do not append the .part suffix do files that have not yet been completed.
--no-mtime Do not use the Last-modified header to set the file modification time.
--extract-audio Create an audio-only file extracted from the video downloaded. Requires that ffmpeg and ffprobe be installed.
Set the audio format to be used for the extraction. Possible values are best, aac, mp3, with best being the default.
The -o option allows users to indicate a template for the output file names. The basic usage is not to set any template arguments when downloading a single file, like in youtube-dl -o funny_video.flv "http://some/video". However, it may contain special sequences that will be replaced when downloading each video.
The special sequences have the format "%(NAME)s". To clarify, that's a percent symbol followed by a name in parenthesis, followed by a lowercase S. Allowed names are:
id The sequence will be replaced by the video identifier.
url The sequence will be replaced by the video URL.
uploader The sequence will be replaced by the nickname of the person who uploaded the video.
title The sequence will be replaced by the literal video title.
stitle The sequence will be replaced by a simplified video title, restricted to alphanumeric characters and dashes.
ext The sequence will be replaced by the appropriate extension (like "flv" or "mp4").
epoch The sequence will be replaced by the Unix epoch when creating the file.
As you may have guessed, the default template is "%(id)s.%(ext)s". When some command line options are used, it's replaced by other templates like "%(title)s-%(id)s.%(ext)s". You can specify your own.
youtube-dl was written by Ricardo Garcia Gonzalez and many contributors from all around the internet. This manpage was written by Rogerio Brito <email@example.com>.