Usage: youtube-dl [OPTIONS] URL [URL...] Options: General Options: -h, --help --version -U, --update sure that you have sufficient -i, --ignore-errors skip unavailable videos in a --abort-on-error playlist or the command line) --dump-user-agent --list-extractors they would handle --extractor-descriptions tors --default-search PREFIX xample "gvsearch2:" downloads
Print this help text and exit Print program version and exit Update this program to latest version. Make permissions (run with sudo if needed) Continue on download errors, for example to playlist Abort downloading of further videos (in the if an error occurs Display the current browser identification List all supported extractors and the URLs Output descriptions of all supported extrac Use this prefix for unqualified URLs. For e two videos from google videos for youtube-d
l "large apple". Use the value "auto" to let youtube-dl guess ("auto_warni ng" to emit a warning when guessing). "error" just throws an error. Th e default value "fixup_error" repairs broken URLs, but emits an error if this is not possible instead of --ignore-config in the global configuration
searching. Do not read configuration files. When given file /etc/youtube-dl.conf: Do not read the
user configuration in ~/.config /youtube-dl/config (%APPDATA%/youtube-dl/co nfig.txt on Windows) --flat-playlist ly list them. --no-color Network Options: --proxy URL an empty string (--proxy "") --socket-timeout SECONDS --source-address IP ntal) -4, --force-ipv4 ) -6, --force-ipv6 ) --cn-verification-proxy URL some Chinese sites. The default
Do not extract the videos of a playlist, on Do not emit color codes in output Use the specified HTTP/HTTPS proxy. Pass in for direct connection Time to wait before giving up, in seconds Client-side IP address to bind to (experime Make all connections via IPv4 (experimental Make all connections via IPv6 (experimental Use this proxy to verify the IP address for proxy specified by --proxy (or none, if the
options is not present) is used for the actual downloading. (experimental) Video Selection: --playlist-start NUMBER
Playlist video to start at (default is 1)
--playlist-end NUMBER --playlist-items ITEM_SPEC ndices of the videos in the
Playlist video to end at (default is last) Playlist video items to download. Specify i playlist seperated by commas like: "--playl
ist-items 1,2,5,8" if you want to download videos indexed 1, 2, 5, 8 in th e playlist. You can specify range: "--playlist-items 1-3,7,10-13", it w ill download the videos at index --match-title REGEX eless sub-string) --reject-title REGEX caseless sub-string) --max-downloads NUMBER --min-filesize SIZE E (e.g. 50k or 44.6m) --max-filesize SIZE (e.g. 50k or 44.6m) --date DATE --datebefore DATE this date (i.e. inclusive) --dateafter DATE his date (i.e. inclusive) --min-views COUNT OUNT views --max-views COUNT OUNT views --match-filter FILTER y any key (see help for -o for a
1, 2, 3, 7, 10, 11, 12 and 13. Download only matching titles (regex or cas Skip download for matching titles (regex or Abort after downloading NUMBER files Do not download any videos smaller than SIZ Do not download any videos larger than SIZE Download only videos uploaded in this date Download only videos uploaded on or before Download only videos uploaded on or after t Do not download any videos with less than C Do not download any videos with more than C Generic video filter (experimental). Specif list of available keys) to match if the key
is present, !key to check if the key is not present,key > NUMBER (like " comment_count > 12", also works with >=, <, <=, !=, =) to compare against a number, and & to require multiple matches. Values which are not know n are excluded unless you put a question mark (?) after the operator.For ex ample, to only match videos that have been liked more than 100 times and dis liked less than 50 times (or the dislike functionality is not available at t he given service), but who also have a description, use --match-filter "li ke_count > 100 & dislike_count --no-playlist to a video and a playlist. --yes-playlist a video and a playlist. --age-limit YEARS age --download-archive FILE ive file. Record the IDs of all --include-ads al) Download Options:
50 & description" . Download only the video, if the URL refers Download the playlist, if the URL refers to Download only videos suitable for the given Download only videos not listed in the arch downloaded videos in it. Download advertisements as well (experiment
-r, --rate-limit LIMIT e.g. 50K or 4.2M) -R, --retries RETRIES nite". --buffer-size SIZE (default is 1024) --no-resize-buffer . By default, the buffer size is
Maximum download rate in bytes per second ( Number of retries (default is 10), or "infi Size of download buffer (e.g. 1024 or 16K) Do not automatically adjust the buffer size automatically resized from an initial value
of SIZE. --playlist-reverse --xattr-set-filesize cted filesize (experimental) --hls-prefer-native mpeg (experimental) --external-downloader COMMAND ently supports aria2c,curl,wget --external-downloader-args ARGS ader Filesystem Options: -a, --batch-file FILE tdin) --id -o, --output TEMPLATE get the title, %(uploader)s for
Download playlist videos in reverse order Set file xattribute ytdl.filesize with expe Use the native HLS downloader instead of ff Use the specified external downloader. Curr Give these arguments to the external downlo
File containing URLs to download ('-' for s Use only video ID in file name Output filename template. Use %(title)s to the uploader name, %(uploader_id)s for the
uploader nickname if different, %(autonumber)s to get an automatically incr emented number, %(ext)s for the filename extension, %(format)s for the form at description (like "22 1280x720" or "HD"), %(format_id)s for the u nique id of the format (like YouTube's itags: "137"), %(upload_date)s fo r the upload date (YYYYMMDD), %(extractor)s for the provider (youtube, me tacafe, etc), %(id)s for the video id, %(playlist_title)s, %(playlist_id )s, or %(playlist)s (=title if present, ID otherwise) for the playlist the video is in, %(playlist_index)s for the position in the playlist. %(height) s and %(width)s for the width and height of the video format. %(resolutio n)s for a textual description of the resolution of the video format. %% for a literal percent. Use - to output to stdout. Can also be used to downl oad to a different directory, for example with -o '/my/downloads/%(upload er)s/%(title)s-%(id)s.%(ext)s' . --autonumber-size NUMBER r)s when it is present in output
Specify the number of digits in %(autonumbe filename template or --auto-number option i
s given --restrict-filenames , and avoid "&" and spaces in -A, --auto-number
Restrict filenames to only ASCII characters filenames [deprecated; use -o "%(autonumber)s-%(titl
e)s.%(ext)s" ] Number downloaded -t, --title
files starting from 00000 [deprecated] Use title in file name (defaul
t) -l, --literal -w, --no-overwrites -c, --continue By default, youtube-dl will --no-continue estart from beginning) --no-part o output file --no-mtime the file modification time --write-description ile --write-info-json --write-annotations ml file --load-info FILE (created with the "--write-info--cookies FILE ar in --cache-dir DIR can store some downloaded
[deprecated] Alias of --title Do not overwrite files Force resume of partially downloaded files. resume downloads if possible. Do not resume partially downloaded files (r Do not use .part files - write directly int Do not use the Last-modified header to set Write video description to a .description f Write video metadata to a .info.json file Write video annotations to a .annotations.x JSON file containing the video information json" option) File to read cookies from and dump cookie j Location in the filesystem where youtube-dl information permanently. By default $XDG_CA
CHE_HOME/youtube-dl or ~/.cache /youtube-dl . At the moment, only YouTube p layer files (for videos with obfuscated signatures) are cached, but that may change. --no-cache-dir --rm-cache-dir Thumbnail images: --write-thumbnail --write-all-thumbnails --list-thumbnails ormats Verbosity / Simulation Options: -q, --quiet --no-warnings -s, --simulate anything to disk --skip-download -g, --get-url -e, --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format -j, --dump-json See --output for a description -J, --dump-single-json
Disable filesystem caching Delete all filesystem cache files Write thumbnail image to disk Write all thumbnail image formats to disk Simulate and list all available thumbnail f
Activate quiet mode Ignore warnings Do not download the video and do not write Do not download Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet Simulate, quiet
the but but but but but but but but but
video print print print print print print print print print
URL title id thumbnail URL video description video length output filename output format JSON information.
of available keys. Simulate, quiet but print JSON information
for each command-line argument. If the URL refers to a playlist, dump the w hole playlist information in a --print-json JSON (video is still being --newline --no-progress --console-title -v, --verbose --dump-pages ery verbose) --write-pages s in the current directory to --print-traffic -C, --call-home --no-call-home bugging Workarounds: --encoding ENCODING --no-check-certificate --prefer-insecure nformation about the video. --user-agent UA --referer URL access is restricted to one --add-header FIELD:VALUE separated by a colon ':'. You --bidi-workaround al text support. Requires bidiv --sleep-interval SECONDS load. Video Format Options: -f, --format FORMAT N" for all the info --all-formats --prefer-free-formats one is requested -F, --list-formats --youtube-skip-dash-manifest e videos --merge-output-format FORMAT audio), output to given
single line. Be quiet and print the video information as downloaded). Output progress bar as new lines Do not print progress bar Display progress in console titlebar Print various debugging information Print downloaded pages to debug problems (v Write downloaded intermediary pages to file debug problems Display sent and read HTTP traffic Contact the youtube-dl server for debugging Do NOT contact the youtube-dl server for de
Force the specified encoding (experimental) Suppress HTTPS certificate validation Use an unencrypted connection to retrieve i (Currently supported only for YouTube) Specify a custom user agent Specify a custom referer, use if the video domain Specify a custom HTTP header and its value, can use this option multiple times Work around terminals that lack bidirection or fribidi executable in PATH Number of seconds to sleep before each down
Video format code, see the "FORMAT SELECTIO Download all available video formats Prefer free video formats unless a specific List all available formats Do not download the DASH manifest on YouTub If a merge is required (e.g. bestvideo+best container format. One of mkv, mp4, ogg, web
m, flv.Ignored if no merge is required Subtitle Options: --write-sub --write-auto-sub
Write subtitle file Write automatic subtitle file (YouTube only
) --all-subs
Download all the available subtitles of the
video --list-subs --sub-format FORMAT , for example: "srt" or --sub-lang LANGS ional) separated by commas, use
List all available subtitles for the video Subtitle format, accepts formats preference "ass/srt/best" Languages of the subtitles to download (opt IETF language tags like 'en,pt'
Authentication Options: -u, --username USERNAME -p, --password PASSWORD t, youtube-dl will ask -2, --twofactor TWOFACTOR -n, --netrc --video-password PASSWORD Post-processing Options: -x, --extract-audio quires ffmpeg or avconv and --audio-format FORMAT s", "mp3", "m4a", "opus", or --audio-quality QUALITY a value between 0 (better) and
Login with this account ID Account password. If this option is left ou interactively. Two-factor auth code Use .netrc authentication data Video password (vimeo, smotri) Convert video files to audio-only files (re ffprobe or avprobe) Specify audio format: "best", "aac", "vorbi "wav"; "best" by default Specify ffmpeg/avconv audio quality, insert 9 (worse) for VBR or a specific bitrate lik
e 128K (default 5) --recode-video FORMAT sary (currently supported: -k, --keep-video processing; the video is erased --no-post-overwrites post-processed files are --embed-subs and mp4 videos) --embed-thumbnail --add-metadata --metadata-from-title FORMAT artist from the video title.
Encode the video to another format if neces mp4|flv|ogg|webm|mkv) Keep the video file on disk after the postby default Do not overwrite post-processed files; the overwritten by default Embed subtitles in the video (only for mkv Embed thumbnail in the audio as cover art Write metadata to the video file Parse additional metadata like song title / The format syntax is the same as --output,
the parsed parameters replace existing values. Additional templates: %(al bum), %(artist). Example: --metadata-from-title "%(artist)s - %(title )s" matches a title like --xattrs using dublin core and xdg --fixup POLICY ile. One of never (do nothing),
"Coldplay - Paradise" Write metadata to the video file's xattrs ( standards) Automatically correct known faults of the f warn (only emit a warning), detect_or_warn(
the default; fix file if we can, --prefer-avconv
warn otherwise) Prefer avconv over ffmpeg for running the p
ostprocessors (default) --prefer-ffmpeg ostprocessors --ffmpeg-location PATH r the path to the binary or its --exec CMD ding, similar to find's -exec
Prefer ffmpeg over avconv for running the p Location of the ffmpeg/avconv binary; eithe containing directory. Execute a command on the file after downloa syntax. Example: --exec 'adb push {} /sdcar
d/Music/ && rm {}' --convert-subtitles FORMAT ently supported: srt|ass|vtt)
Convert the subtitles to other format (curr