-## OPTIONS
- -h, --help print this help text and exit
- -v, --version print program version and exit
- -U, --update update this program to latest version
- -i, --ignore-errors continue on download errors
- -r, --rate-limit LIMIT download rate limit (e.g. 50k or 44.6m)
- -R, --retries RETRIES number of retries (default is 10)
- --playlist-start NUMBER playlist video to start at (default is 1)
- --playlist-end NUMBER playlist video to end at (default is last)
- --dump-user-agent display the current browser identification
-
-### Filesystem Options:
- -t, --title use title in file name
- -l, --literal use literal title in file name
- -A, --auto-number number downloaded files starting from 00000
- -o, --output TEMPLATE output filename template
- -a, --batch-file FILE file containing URLs to download ('-' for stdin)
- -w, --no-overwrites do not overwrite files
- -c, --continue resume partially downloaded files
- --cookies FILE file to dump cookie jar to
- --no-part do not use .part files
- --no-mtime do not use the Last-modified header to set the file
- modification time
- --write-description write video description to a .description file
- --write-info-json write video metadata to a .info.json file
-
-### Verbosity / Simulation Options:
- -q, --quiet activates quiet mode
- -s, --simulate do not download video
- -g, --get-url simulate, quiet but print URL
- -e, --get-title simulate, quiet but print title
- --get-thumbnail simulate, quiet but print thumbnail URL
- --get-description simulate, quiet but print video description
- --get-filename simulate, quiet but print output filename
- --no-progress do not print progress bar
- --console-title display progress in console titlebar
-
-### Video Format Options:
- -f, --format FORMAT video format code
- --all-formats download all available video formats
- --max-quality FORMAT highest quality format to download
-
-### Authentication Options:
- -u, --username USERNAME account username
- -p, --password PASSWORD account password
- -n, --netrc use .netrc authentication data
-
-### Post-processing Options:
- --extract-audio convert video files to audio-only files (requires
- ffmpeg and ffprobe)
- --audio-format FORMAT "best", "aac" or "mp3"; best by default
-
-## FAQ
+# OPTIONS
+ -h, --help print this help text and exit
+ --version print program version and exit
+ -U, --update update this program to latest version. Make sure
+ that you have sufficient permissions (run with
+ sudo if needed)
+ -i, --ignore-errors continue on download errors, for example to to
+ skip unavailable videos in a playlist
+ --abort-on-error Abort downloading of further videos (in the
+ playlist or the command line) if an error occurs
+ --dump-user-agent display the current browser identification
+ --user-agent UA specify a custom user agent
+ --referer REF specify a custom referer, use if the video access
+ is restricted to one domain
+ --list-extractors List all supported extractors and the URLs they
+ would handle
+ --extractor-descriptions Output descriptions of all supported extractors
+ --proxy URL Use the specified HTTP/HTTPS proxy. Pass in an
+ empty string (--proxy "") for direct connection
+ --no-check-certificate Suppress HTTPS certificate validation.
+ --cache-dir DIR Location in the filesystem where youtube-dl can
+ store some downloaded information permanently. By
+ default $XDG_CACHE_HOME/youtube-dl or ~/.cache
+ /youtube-dl . At the moment, only YouTube player
+ files (for videos with obfuscated signatures) are
+ cached, but that may change.
+ --no-cache-dir Disable filesystem caching
+ --socket-timeout None Time to wait before giving up, in seconds
+ --bidi-workaround Work around terminals that lack bidirectional
+ text support. Requires bidiv or fribidi
+ executable in PATH
+
+## Video Selection:
+ --playlist-start NUMBER playlist video to start at (default is 1)
+ --playlist-end NUMBER playlist video to end at (default is last)
+ --match-title REGEX download only matching titles (regex or caseless
+ sub-string)
+ --reject-title REGEX skip download for matching titles (regex or
+ caseless sub-string)
+ --max-downloads NUMBER Abort after downloading NUMBER files
+ --min-filesize SIZE Do not download any videos smaller than SIZE
+ (e.g. 50k or 44.6m)
+ --max-filesize SIZE Do not download any videos larger than SIZE (e.g.
+ 50k or 44.6m)
+ --date DATE download only videos uploaded in this date
+ --datebefore DATE download only videos uploaded on or before this
+ date (i.e. inclusive)
+ --dateafter DATE download only videos uploaded on or after this
+ date (i.e. inclusive)
+ --min-views COUNT Do not download any videos with less than COUNT
+ views
+ --max-views COUNT Do not download any videos with more than COUNT
+ views
+ --no-playlist download only the currently playing video
+ --age-limit YEARS download only videos suitable for the given age
+ --download-archive FILE Download only videos not listed in the archive
+ file. Record the IDs of all downloaded videos in
+ it.
+
+## Download Options:
+ -r, --rate-limit LIMIT maximum download rate in bytes per second (e.g.
+ 50K or 4.2M)
+ -R, --retries RETRIES number of retries (default is 10)
+ --buffer-size SIZE size of download buffer (e.g. 1024 or 16K)
+ (default is 1024)
+ --no-resize-buffer do not automatically adjust the buffer size. By
+ default, the buffer size is automatically resized
+ from an initial value of SIZE.
+
+## Filesystem Options:
+ -t, --title use title in file name (default)
+ --id use only video ID in file name
+ -l, --literal [deprecated] alias of --title
+ -A, --auto-number number downloaded files starting from 00000
+ -o, --output TEMPLATE output filename template. Use %(title)s to get
+ the title, %(uploader)s for the uploader name,
+ %(uploader_id)s for the uploader nickname if
+ different, %(autonumber)s to get an automatically
+ incremented number, %(ext)s for the filename
+ extension, %(format)s for the format description
+ (like "22 - 1280x720" or "HD"), %(format_id)s for
+ the unique id of the format (like Youtube's
+ itags: "137"), %(upload_date)s for the upload
+ date (YYYYMMDD), %(extractor)s for the provider
+ (youtube, metacafe, etc), %(id)s for the video
+ id, %(playlist)s for the playlist the video is
+ in, %(playlist_index)s for the position in the
+ playlist and %% for a literal percent. Use - to
+ output to stdout. Can also be used to download to
+ a different directory, for example with -o '/my/d
+ ownloads/%(uploader)s/%(title)s-%(id)s.%(ext)s' .
+ --autonumber-size NUMBER Specifies the number of digits in %(autonumber)s
+ when it is present in output filename template or
+ --auto-number option is given
+ --restrict-filenames Restrict filenames to only ASCII characters, and
+ avoid "&" and spaces in filenames
+ -a, --batch-file FILE file containing URLs to download ('-' for stdin)
+ --load-info FILE json file containing the video information
+ (created with the "--write-json" option)
+ -w, --no-overwrites do not overwrite files
+ -c, --continue force resume of partially downloaded files. By
+ default, youtube-dl will resume downloads if
+ possible.
+ --no-continue do not resume partially downloaded files (restart
+ from beginning)
+ --cookies FILE file to read cookies from and dump cookie jar in
+ --no-part do not use .part files
+ --no-mtime do not use the Last-modified header to set the
+ file modification time
+ --write-description write video description to a .description file
+ --write-info-json write video metadata to a .info.json file
+ --write-annotations write video annotations to a .annotation file
+ --write-thumbnail write thumbnail image to disk
+
+## Verbosity / Simulation Options:
+ -q, --quiet activates quiet mode
+ -s, --simulate do not download the video and do not write
+ anything to disk
+ --skip-download do not download the video
+ -g, --get-url simulate, quiet but print URL
+ -e, --get-title simulate, quiet but print title
+ --get-id simulate, quiet but print id
+ --get-thumbnail simulate, quiet but print thumbnail URL
+ --get-description simulate, quiet but print video description
+ --get-duration simulate, quiet but print video length
+ --get-filename simulate, quiet but print output filename
+ --get-format simulate, quiet but print output format
+ -j, --dump-json simulate, quiet but print JSON information
+ --newline output progress bar as new lines
+ --no-progress do not print progress bar
+ --console-title display progress in console titlebar
+ -v, --verbose print various debugging information
+ --dump-intermediate-pages print downloaded pages to debug problems (very
+ verbose)
+ --write-pages Write downloaded intermediary pages to files in
+ the current directory to debug problems
+
+## Video Format Options:
+ -f, --format FORMAT video format code, specify the order of
+ preference using slashes: "-f 22/17/18". "-f mp4"
+ and "-f flv" are also supported
+ --all-formats download all available video formats
+ --prefer-free-formats prefer free video formats unless a specific one
+ is requested
+ --max-quality FORMAT highest quality format to download
+ -F, --list-formats list all available formats
+
+## Subtitle Options:
+ --write-sub write subtitle file
+ --write-auto-sub write automatic subtitle file (youtube only)
+ --all-subs downloads all the available subtitles of the
+ video
+ --list-subs lists all available subtitles for the video
+ --sub-format FORMAT subtitle format (default=srt) ([sbv/vtt] youtube
+ only)
+ --sub-lang LANGS languages of the subtitles to download (optional)
+ separated by commas, use IETF language tags like
+ 'en,pt'
+
+## Authentication Options:
+ -u, --username USERNAME account username
+ -p, --password PASSWORD account password
+ -n, --netrc use .netrc authentication data
+ --video-password PASSWORD video password (vimeo, smotri)
+
+## Post-processing Options:
+ -x, --extract-audio convert video files to audio-only files (requires
+ ffmpeg or avconv and ffprobe or avprobe)
+ --audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a", "opus", or
+ "wav"; best by default
+ --audio-quality QUALITY ffmpeg/avconv audio quality specification, insert
+ a value between 0 (better) and 9 (worse) for VBR
+ or a specific bitrate like 128K (default 5)
+ --recode-video FORMAT Encode the video to another format if necessary
+ (currently supported: mp4|flv|ogg|webm)
+ -k, --keep-video keeps the video file on disk after the post-
+ processing; the video is erased by default
+ --no-post-overwrites do not overwrite post-processed files; the post-
+ processed files are overwritten by default
+ --embed-subs embed subtitles in the video (only for mp4
+ videos)
+ --add-metadata write metadata to the video file
+ --xattrs write metadata to the video file's xattrs (using
+ dublin core and xdg standards)
+ --prefer-avconv Prefer avconv over ffmpeg for running the
+ postprocessors (default)
+ --prefer-ffmpeg Prefer ffmpeg over avconv for running the
+ postprocessors
+
+# CONFIGURATION
+
+You can configure youtube-dl by placing default arguments (such as `--extract-audio --no-mtime` to always extract the audio and not copy the mtime) into `/etc/youtube-dl.conf` and/or `~/.config/youtube-dl.conf`. On Windows, the configuration file locations are `%APPDATA%\youtube-dl\config.txt` and `C:\Users\<Yourname>\youtube-dl.conf`.
+
+# OUTPUT TEMPLATE
+
+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 is 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.
+ - `upload_date`: The sequence will be replaced by the upload date in YYYYMMDD format.
+ - `title`: The sequence will be replaced by the video title.
+ - `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.
+ - `autonumber`: The sequence will be replaced by a five-digit number that will be increased with each download, starting at zero.
+ - `playlist`: The name or the id of the playlist that contains the video.
+ - `playlist_index`: The index of the video in the playlist, a five-digit number.
+
+The current default template is `%(title)s-%(id)s.%(ext)s`.
+
+In some cases, you don't want special characters such as 中, spaces, or &, such as when transferring the downloaded filename to a Windows system or the filename through an 8bit-unsafe channel. In these cases, add the `--restrict-filenames` flag to get a shorter title:
+
+ $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc
+ youtube-dl test video ''_ä↭𝕐.mp4 # All kinds of weird characters
+ $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc --restrict-filenames
+ youtube-dl_test_video_.mp4 # A simple file name
+
+# VIDEO SELECTION
+
+Videos can be filtered by their upload date using the options `--date`, `--datebefore` or `--dateafter`, they accept dates in two formats:
+
+ - Absolute dates: Dates in the format `YYYYMMDD`.
+ - Relative dates: Dates in the format `(now|today)[+-][0-9](day|week|month|year)(s)?`
+
+Examples:
+
+ $ # Download only the videos uploaded in the last 6 months
+ $ youtube-dl --dateafter now-6months
+ $ # Download only the videos uploaded on January 1, 1970
+ $ youtube-dl --date 19700101
+ $ # will only download the videos uploaded in the 200x decade
+ $ youtube-dl --dateafter 20000101 --datebefore 20091231
+
+# FAQ