{
  "name": "youtube-dl",
  "description": "Download videos from YouTube",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Print the help text and exit"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Print program version and exit"
    },
    {
      "names": [
        "-U",
        "--update"
      ],
      "description": "Update this program to latest version. Make sure you have sufficient permissions (run with sudo if needed)"
    },
    {
      "names": [
        "--ignore-errors",
        "-i"
      ],
      "description": "Continue on download errors, for example to skip unavailable videos in a playlist"
    },
    {
      "names": [
        "--abort-on-error"
      ],
      "description": "Abort downloading of further videos (in the playlist or the command line) if an error occurs"
    },
    {
      "names": [
        "--dump-user-agent"
      ],
      "description": "Display the current browser identification"
    },
    {
      "names": [
        "--list-extractors"
      ],
      "description": "List all supported extractors"
    },
    {
      "names": [
        "--extractor-descriptions"
      ],
      "description": "Output descriptions of all supported extractors"
    },
    {
      "names": [
        "--default-search"
      ],
      "description": "Use this prefix for unqualified URLs. For example \"gvsearch2:\" downloads two videos from google videos for youtube-dl \"large apple\"",
      "takes_arg": true,
      "arg": {
        "name": "PREFIX"
      }
    },
    {
      "names": [
        "--config-location"
      ],
      "description": "Location of the configuration file; either the path to the config or its containing directory",
      "takes_arg": true,
      "arg": {
        "name": "PATH",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--force-generic-extractor"
      ],
      "description": "Force extraction to use the generic extractor"
    },
    {
      "names": [
        "--ignore-config"
      ],
      "description": "Do not read configuration files"
    },
    {
      "names": [
        "--flat-playlist"
      ],
      "description": "Do not extract the videos of a playlist, only list them"
    },
    {
      "names": [
        "--mark-watched"
      ],
      "description": "Mark videos watched (YouTube only)"
    },
    {
      "names": [
        "--no-mark-watched"
      ],
      "description": "Do not mark videos watched (YouTube only)"
    },
    {
      "names": [
        "--no-color"
      ],
      "description": "Do not emit color codes in output"
    },
    {
      "names": [
        "--proxy"
      ],
      "description": "Use the specified HTTP/HTTPS/SOCKS proxy. Pass in an empty string for direct connection",
      "takes_arg": true,
      "arg": {
        "name": "URL"
      }
    },
    {
      "names": [
        "--socket-timeout"
      ],
      "description": "Time to wait before giving up, in seconds",
      "takes_arg": true,
      "arg": {
        "name": "SECONDS"
      }
    },
    {
      "names": [
        "--source-address"
      ],
      "description": "Client-side IP address to bind to",
      "takes_arg": true,
      "arg": {
        "name": "IP"
      }
    },
    {
      "names": [
        "-4",
        "--force-ipv4"
      ],
      "description": "Make all connections via IPv4"
    },
    {
      "names": [
        "-6",
        "--force-ipv6"
      ],
      "description": "Make all connections via IPv6"
    },
    {
      "names": [
        "--geo-verification-proxy"
      ],
      "description": "Use this proxy to verify the IP address for some geo-restricted sites",
      "takes_arg": true,
      "arg": {
        "name": "URL"
      }
    },
    {
      "names": [
        "--geo-bypass"
      ],
      "description": "Bypass geographic restriction via faking X-Forwarded-For HTTP header"
    },
    {
      "names": [
        "--no-geo-bypass"
      ],
      "description": "Do not bypass geographic restriction via faking X-Forwarded-For HTTP header"
    },
    {
      "names": [
        "--geo-bypass-country"
      ],
      "description": "Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 county code",
      "takes_arg": true,
      "arg": {
        "name": "CODE"
      }
    },
    {
      "names": [
        "--geo-bypass-ip-block"
      ],
      "description": "Force bypass geographic restriction with explicitly provided IP block in CIDR notation",
      "takes_arg": true,
      "arg": {
        "name": "IP_BLOCK"
      }
    },
    {
      "names": [
        "--playlist-start"
      ],
      "description": "Playlist video to start at (default is 1)",
      "takes_arg": true,
      "arg": {
        "name": "NUMBER"
      }
    },
    {
      "names": [
        "--playlist-end"
      ],
      "description": "Playlist video to end at (default is last)",
      "takes_arg": true,
      "arg": {
        "name": "NUMBER"
      }
    },
    {
      "names": [
        "--playlist-items"
      ],
      "description": "Playlist video to end at (default is last)",
      "takes_arg": true,
      "arg": {
        "name": "ITEM_SPEC"
      }
    },
    {
      "names": [
        "--match-title"
      ],
      "description": "Download only matching titles (regex or caseless sub-string)",
      "takes_arg": true,
      "arg": {
        "name": "REGEX"
      }
    },
    {
      "names": [
        "--reject-title"
      ],
      "description": "Skip download for matching titles (regex or caseless sub-string)",
      "takes_arg": true,
      "arg": {
        "name": "REGEX"
      }
    },
    {
      "names": [
        "--max-downloads"
      ],
      "description": "Abort after downloading NUMBER files",
      "takes_arg": true,
      "arg": {
        "name": "NUMBER"
      }
    },
    {
      "names": [
        "--min-filesize"
      ],
      "description": "Do not download any videos smaller than SIZE (e.g. 50k or 44.6)",
      "takes_arg": true,
      "arg": {
        "name": "SIZE"
      }
    },
    {
      "names": [
        "--max-filesize"
      ],
      "description": "Do not download any videos larger than SIZE (e.g. 50k or 44.6)",
      "takes_arg": true,
      "arg": {
        "name": "SIZE"
      }
    },
    {
      "names": [
        "--date"
      ],
      "description": "Download only videos uploaded in this date",
      "takes_arg": true,
      "arg": {
        "name": "DATE"
      }
    },
    {
      "names": [
        "--datebefore"
      ],
      "description": "Download only videos uploaded on or before this date (i.e. inclusive)",
      "takes_arg": true,
      "arg": {
        "name": "DATE"
      }
    },
    {
      "names": [
        "--dateafter"
      ],
      "description": "Download only videos uploaded on or after this date (i.e. inclusive)",
      "takes_arg": true,
      "arg": {
        "name": "DATE"
      }
    },
    {
      "names": [
        "--min-views"
      ],
      "description": "Do not download any videos with less than COUNT views",
      "takes_arg": true,
      "arg": {
        "name": "COUNT"
      }
    },
    {
      "names": [
        "--max-views"
      ],
      "description": "Do not download any videos with more than COUNT views",
      "takes_arg": true,
      "arg": {
        "name": "COUNT"
      }
    },
    {
      "names": [
        "--match-filter"
      ],
      "description": "Generic video filter",
      "takes_arg": true,
      "arg": {
        "name": "FILTER"
      }
    },
    {
      "names": [
        "--no-playlist"
      ],
      "description": "Download only the video, if the URL refers to a video and a playlist"
    },
    {
      "names": [
        "--yes-playlist"
      ],
      "description": "Download the playlist, if the URL refers to a video and a playlist"
    },
    {
      "names": [
        "--age-limit"
      ],
      "description": "Download only videos suitable for the given age",
      "takes_arg": true,
      "arg": {
        "name": "YEARS"
      }
    },
    {
      "names": [
        "--download-archive"
      ],
      "description": "Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it",
      "takes_arg": true,
      "arg": {
        "name": "FILE"
      }
    },
    {
      "names": [
        "--include-ads"
      ],
      "description": "Download advertisements as well (experimental)"
    },
    {
      "names": [
        "-r",
        "--limit-rate"
      ],
      "description": "Maximum download rate in bytes per second (e.g. 50K or 4.2M)",
      "takes_arg": true,
      "arg": {
        "name": "RATE"
      }
    },
    {
      "names": [
        "-R",
        "--retries"
      ],
      "description": "Number of retries or \"infinite\"",
      "takes_arg": true,
      "arg": {
        "name": "RETRIES"
      }
    },
    {
      "names": [
        "--fragment-retries"
      ],
      "description": "Number of retries for a fragment or \"infinite\"",
      "takes_arg": true,
      "arg": {
        "name": "RETRIES"
      }
    },
    {
      "names": [
        "--skip-unavailable-fragments"
      ],
      "description": "Skip unavailable fragments"
    },
    {
      "names": [
        "--abort-on-unavailable-fragments"
      ],
      "description": "Abort downloading when some fragment is not available"
    },
    {
      "names": [
        "--keep-fragments"
      ],
      "description": "Keep downloaded fragments on disk after downloading is finished; fragments are erased by default"
    },
    {
      "names": [
        "--buffer-size"
      ],
      "description": "Size of download buffer (e.g. 1024 or 16K)",
      "takes_arg": true,
      "arg": {
        "name": "SIZE"
      }
    },
    {
      "names": [
        "--no-resize-buffer"
      ],
      "description": "Do not automatically adjust the buffer size"
    },
    {
      "names": [
        "--http-chunk-size"
      ],
      "description": "Size of a chunk for chunk-based HTTP downloading (e.g. 10385760 or 10M)",
      "takes_arg": true,
      "arg": {
        "name": "SIZE"
      }
    },
    {
      "names": [
        "--playlist-reverse"
      ],
      "description": "Download playlist videos in reverse order"
    },
    {
      "names": [
        "--playlist-random"
      ],
      "description": "Download playlist videos in random order"
    },
    {
      "names": [
        "--xattr-set-filesize"
      ],
      "description": "Set file xattribute ytdl.filesize with expected file size"
    },
    {
      "names": [
        "--hls-prefer-native"
      ],
      "description": "Use the native HLS downloader instead of ffmpeg"
    },
    {
      "names": [
        "--hls-prefer-ffmpeg"
      ],
      "description": "Use ffmpeg instead of the native HLS downloader"
    },
    {
      "names": [
        "--hls-prefer-mpegts"
      ],
      "description": "Use the mpegts container for HLS videos, allowing to play the video while downloading"
    },
    {
      "names": [
        "--external-downloader"
      ],
      "description": "Use the specified external downloader",
      "takes_arg": true,
      "arg": {
        "name": "COMMAND",
        "suggestions": [
          "aria2c",
          "avconv",
          "axel",
          "curl",
          "ffmpeg",
          "httpie",
          "wget"
        ]
      }
    },
    {
      "names": [
        "--external-downloader-args"
      ],
      "description": "Give these arguments to the external downloader",
      "takes_arg": true,
      "arg": {
        "name": "ARGS"
      }
    },
    {
      "names": [
        "-a",
        "--batch-file"
      ],
      "description": "File containing URLs to download ('-' for stdin), one URL per line. Lines starting with '#', ';' or ']' are considered as comments and ignored",
      "takes_arg": true,
      "arg": {
        "name": "FILE",
        "suggestions": [
          "-"
        ],
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--id"
      ],
      "description": "Use only video ID in file name"
    },
    {
      "names": [
        "-o",
        "--output"
      ],
      "description": "Output filename template",
      "takes_arg": true,
      "arg": {
        "name": "TEMPLATE"
      }
    },
    {
      "names": [
        "--output-na-placeholder"
      ],
      "description": "Placeholder value for unavailable meta fields in output filename template",
      "takes_arg": true,
      "arg": {
        "name": "PLACEHOLDER"
      }
    },
    {
      "names": [
        "--autonumber-start"
      ],
      "description": "Specify the start value for %(autonumber)s",
      "takes_arg": true,
      "arg": {
        "name": "NUMBER"
      }
    },
    {
      "names": [
        "--restrict-filenames"
      ],
      "description": "Restrict filenames to only ASCII characters, and avoid \"&\" and spaces in filenames"
    },
    {
      "names": [
        "-w",
        "--no-overwrites"
      ],
      "description": "Do not overwrite files"
    },
    {
      "names": [
        "-c",
        "--continue"
      ],
      "description": "Do not resume partially downloaded files (restart from beginning)"
    },
    {
      "names": [
        "--no-part"
      ],
      "description": "Do not use .part files - write directly into output file"
    },
    {
      "names": [
        "--no-mtime"
      ],
      "description": "Do not use the Last-modified header to set the file modification time"
    },
    {
      "names": [
        "--write-description"
      ],
      "description": "Write video descriptions to a .description file"
    },
    {
      "names": [
        "--write-info-json"
      ],
      "description": "Write video metadata to a .info.json file"
    },
    {
      "names": [
        "--write-annotations"
      ],
      "description": "Write video annotations to a .annotations.xml file"
    },
    {
      "names": [
        "--load-info-json"
      ],
      "description": "JSON file containing the video information (created with the \"--write-info-json\" option",
      "takes_arg": true,
      "arg": {
        "name": "FILE",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--cookies"
      ],
      "description": "File to read cookies from and dump cookie jar in",
      "takes_arg": true,
      "arg": {
        "name": "FILE",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--cache-dir"
      ],
      "description": "Location in the filesystem where youtube-dl can store some downloaded information permanently",
      "takes_arg": true,
      "arg": {
        "name": "DIR",
        "template": "folders"
      }
    },
    {
      "names": [
        "--no-cache-dir"
      ],
      "description": "Disable filesystem caching"
    },
    {
      "names": [
        "--rm-cache-dir"
      ],
      "description": "Delete all filesystem cache files"
    },
    {
      "names": [
        "--write-thumbnail"
      ],
      "description": "Write thumbnail image to disk"
    },
    {
      "names": [
        "--write-all-thumbnail"
      ],
      "description": "Write all thumbnail image formats to disk"
    },
    {
      "names": [
        "--list-thumbnails"
      ],
      "description": "Simulate and list all available thumbnail formats"
    },
    {
      "names": [
        "-q",
        "--quiet"
      ],
      "description": "Activate quite mode"
    },
    {
      "names": [
        "--no-warnings"
      ],
      "description": "Ignore warnings"
    },
    {
      "names": [
        "-s",
        "--simulate"
      ],
      "description": "Do not download the video and do note write anything to disk"
    },
    {
      "names": [
        "--skip-download"
      ],
      "description": "Do not download the video"
    },
    {
      "names": [
        "-g",
        "--get-url"
      ],
      "description": "Simulate, quiet but print URL"
    },
    {
      "names": [
        "-e",
        "--get-title"
      ],
      "description": "Simulate, quiet but print title"
    },
    {
      "names": [
        "--get-id"
      ],
      "description": "Simulate, quiet but print id"
    },
    {
      "names": [
        "--get-thumbnail"
      ],
      "description": "Simulate, quiet but print thumbnail URL"
    },
    {
      "names": [
        "--get-description"
      ],
      "description": "Simulate, quiet but print video description"
    },
    {
      "names": [
        "--get-duration"
      ],
      "description": "Simulate, quiet but print video length"
    },
    {
      "names": [
        "--get-filename"
      ],
      "description": "Simulate, quiet but print output filename"
    },
    {
      "names": [
        "--get-format"
      ],
      "description": "Simulate, quiet but print output format"
    },
    {
      "names": [
        "-j",
        "--dump-json"
      ],
      "description": "Simulate, quiet but JSON information"
    },
    {
      "names": [
        "-J",
        "--dump-single-json"
      ],
      "description": "Simulate, quiet but JSON information for each command-line argument"
    },
    {
      "names": [
        "--print-json"
      ],
      "description": "Be quiet and print the video information as JSON (video is still being downloaded)"
    },
    {
      "names": [
        "--newline"
      ],
      "description": "Output the progress bar as new lines"
    },
    {
      "names": [
        "--no-progress"
      ],
      "description": "Do not print the progress bar"
    },
    {
      "names": [
        "--console-title"
      ],
      "description": "Display progress in console titlebar"
    },
    {
      "names": [
        "-v",
        "--verbose"
      ],
      "description": "Print various debugging information"
    },
    {
      "names": [
        "--dump-pages"
      ],
      "description": "Print downloaded pages encoded using base64 to debug problems (very verbose)"
    },
    {
      "names": [
        "--write-pages"
      ],
      "description": "Write downloaded intermediary pages to files in the current directory to debug problems"
    },
    {
      "names": [
        "--print-traffic"
      ],
      "description": "Display sent and read HTTP traffic"
    },
    {
      "names": [
        "-C",
        "--call-home"
      ],
      "description": "Contact the youtube-dl server for debugging"
    },
    {
      "names": [
        "--no-call-home"
      ],
      "description": "Do NOT contact the youtube-dl server for debugging"
    },
    {
      "names": [
        "--encoding"
      ],
      "description": "Force the specified encoding (experimental)",
      "takes_arg": true,
      "arg": {
        "name": "ENCODING"
      }
    },
    {
      "names": [
        "--no-check-certificate"
      ],
      "description": "Suppress HTTPS certificate validation"
    },
    {
      "names": [
        "--prefer-insecure"
      ],
      "description": "Use an unencrypted connection to retrieve information about the video. (Currently supported only for YouTube)"
    },
    {
      "names": [
        "--user-agent"
      ],
      "description": "Specify a custom user agent",
      "takes_arg": true,
      "arg": {
        "name": "UA"
      }
    },
    {
      "names": [
        "--referer"
      ],
      "description": "Specify a custom referer, use if the video access is restricted to one domain",
      "takes_arg": true,
      "arg": {
        "name": "URL"
      }
    },
    {
      "names": [
        "--add-header"
      ],
      "description": "Specify a custom HTTP header and its value, separated by a colon ':'",
      "takes_arg": true,
      "arg": {
        "name": "FIELD:VALUE"
      }
    },
    {
      "names": [
        "--bidi-workaround"
      ],
      "description": "Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH"
    },
    {
      "names": [
        "--sleep-interval"
      ],
      "description": "Number of seconds to sleep before each download when used alone or a lower bound of a range for randomized sleep before each download when used along with --max-sleep-interval",
      "takes_arg": true,
      "arg": {
        "name": "SECONDS"
      }
    },
    {
      "names": [
        "--max-sleep-interval"
      ],
      "description": "Upper bound of a range for randomized sleep before each download. Must only be used along with --min- sleep-interval",
      "takes_arg": true,
      "arg": {
        "name": "SECONDS"
      }
    },
    {
      "names": [
        "-f",
        "--format"
      ],
      "description": "Video format code",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT"
      }
    },
    {
      "names": [
        "--all-formats"
      ],
      "description": "Download all available video formats"
    },
    {
      "names": [
        "--prefer-free-formats"
      ],
      "description": "Prefer free video formats unless a specific one is requested"
    },
    {
      "names": [
        "-F",
        "--list-formats"
      ],
      "description": "List all available formats of requested videos"
    },
    {
      "names": [
        "--youtube-skip-dash-manifest"
      ],
      "description": "Do not download the DASH manifests and related data on YouTube videos"
    },
    {
      "names": [
        "--merge-output-format"
      ],
      "description": "If a merge is required (e.g. bestvideo+bestaudio), output to given container format",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT",
        "suggestions": [
          "mkv",
          "mp4",
          "ogg",
          "webm",
          "flv"
        ]
      }
    },
    {
      "names": [
        "--write-sub"
      ],
      "description": "Write subtitle file"
    },
    {
      "names": [
        "--write-auto-sub"
      ],
      "description": "Write automatically generated subtitle file (YouTube only)"
    },
    {
      "names": [
        "--all-subs"
      ],
      "description": "Download all the available subtitles of the video"
    },
    {
      "names": [
        "--list-subs"
      ],
      "description": "List all available subtitles for the video"
    },
    {
      "names": [
        "--sub-format"
      ],
      "description": "Subtitle format, accepts formats preference, for example: \"srt\" or \"ass/srt/best\"",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT"
      }
    },
    {
      "names": [
        "--sub-lang"
      ],
      "description": "Languages of the subtitles to download (optional) separated by commas",
      "takes_arg": true,
      "arg": {
        "name": "LANGS",
        "suggestions": [
          "af",
          "sq",
          "am",
          "ar",
          "hy",
          "az",
          "bn",
          "eu",
          "be",
          "bs",
          "bg",
          "my",
          "ca",
          "ceb",
          "zh-Hans",
          "zh-Hant",
          "co",
          "hr",
          "cs",
          "da",
          "nl",
          "en",
          "eo",
          "et",
          "fil",
          "fi",
          "fr",
          "gl",
          "ka",
          "de",
          "el",
          "gu",
          "ht",
          "ha",
          "haw",
          "iw",
          "hi",
          "hmn",
          "hu",
          "is",
          "ig",
          "id",
          "ga",
          "it",
          "ja",
          "jv",
          "kn",
          "kk",
          "km",
          "rw",
          "ko",
          "ku",
          "ky",
          "lo",
          "la",
          "lv",
          "lt",
          "lb",
          "mk",
          "mg",
          "ms",
          "ml",
          "mt",
          "mi",
          "mr",
          "mn",
          "ne",
          "no",
          "ny",
          "or",
          "ps",
          "fa",
          "pl",
          "pt",
          "pa",
          "ro",
          "ru",
          "sm",
          "gd",
          "sr",
          "sn",
          "sd",
          "si",
          "sk",
          "sl",
          "so",
          "st",
          "es",
          "su",
          "sw",
          "sv",
          "tg",
          "ta",
          "tt",
          "te",
          "th",
          "tr",
          "tk",
          "uk",
          "ur",
          "ug",
          "uz",
          "vi",
          "cy",
          "fy",
          "xh",
          "yi",
          "yo",
          "zu"
        ]
      }
    },
    {
      "names": [
        "-u",
        "--username"
      ],
      "description": "Login with this account ID",
      "takes_arg": true,
      "arg": {
        "name": "USERNAME"
      }
    },
    {
      "names": [
        "-p",
        "--password"
      ],
      "description": "Account password. If this option is left out, youtube-dl will ask interactively",
      "takes_arg": true,
      "arg": {
        "name": "PASSWORD"
      }
    },
    {
      "names": [
        "-2",
        "--twofactor"
      ],
      "description": "Two-factor authentication code",
      "takes_arg": true,
      "arg": {
        "name": "TWOFACTOR"
      }
    },
    {
      "names": [
        "-n",
        "--netrc"
      ],
      "description": "Use .netrc authentication data"
    },
    {
      "names": [
        "--video-password"
      ],
      "description": "Video password (vimeo, youku)",
      "takes_arg": true,
      "arg": {
        "name": "PASSWORD"
      }
    },
    {
      "names": [
        "--ap-mso"
      ],
      "description": "Adobe Pass multiple-system operator (TV provider) identifier",
      "takes_arg": true,
      "arg": {
        "name": "MSO"
      }
    },
    {
      "names": [
        "--ap-username"
      ],
      "description": "Multiple-system operator account login",
      "takes_arg": true,
      "arg": {
        "name": "USERNAME"
      }
    },
    {
      "names": [
        "--ap-password"
      ],
      "description": "Multiple-system operator account password. If this option is left out, youtube-dl will ask interactively",
      "takes_arg": true,
      "arg": {
        "name": "PASSWORD"
      }
    },
    {
      "names": [
        "--ap-list-mso"
      ],
      "description": "List all supported multiple-system operators"
    },
    {
      "names": [
        "-x",
        "--extract-audio"
      ],
      "description": "Convert audio files to audio-only files (requires ffmpeg/avconv and ffprobe/avprobe)"
    },
    {
      "names": [
        "--audio-format"
      ],
      "description": "Specify audio format",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT",
        "suggestions": [
          "best",
          "aac",
          "flac",
          "mp3",
          "m4a",
          "opus",
          "vorbis",
          "wav"
        ]
      }
    },
    {
      "names": [
        "--audio-quality"
      ],
      "description": "Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K",
      "takes_arg": true,
      "arg": {
        "name": "QUALITY"
      }
    },
    {
      "names": [
        "--recode-video"
      ],
      "description": "Encode the video to another format if necessary",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT",
        "suggestions": [
          "mp4",
          "flv",
          "ogg",
          "webm",
          "mkv",
          "avi"
        ]
      }
    },
    {
      "names": [
        "--postprocessor-args"
      ],
      "description": "Give these arguments to the postprocessor",
      "takes_arg": true,
      "arg": {
        "name": "ARGS"
      }
    },
    {
      "names": [
        "-k",
        "--keep-video"
      ],
      "description": "Keep the video file on disk after the post-processing; the video is erased by default"
    },
    {
      "names": [
        "--no-post-overwrites"
      ],
      "description": "Do not overwrite post-processed files; the post-processed files are overwritten by default"
    },
    {
      "names": [
        "--embed-subs"
      ],
      "description": "Embed subtitles in the video (only for mp4, webm and mkv videos)"
    },
    {
      "names": [
        "--embed-thumbnail"
      ],
      "description": "Embed thumbnail in the audio as cover art"
    },
    {
      "names": [
        "--embed-metadata"
      ],
      "description": "Write metadata to the video file"
    },
    {
      "names": [
        "--metadata-from-title"
      ],
      "description": "Parse additional metadata like song title / artist from the video title. The format syntax is the same as --output. Regular expressions with named capture groups may also be used. The parsed parameter",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT"
      }
    },
    {
      "names": [
        "--xattrs"
      ],
      "description": "Write metadata to the video file's xattrs (using dublin core and xdg standards)"
    },
    {
      "names": [
        "--fixup"
      ],
      "description": "Automatically correct known faults of the file",
      "takes_arg": true,
      "arg": {
        "name": "POLICY",
        "suggestions": [
          "never",
          "warn",
          "detect_or_warn"
        ]
      }
    },
    {
      "names": [
        "--prefer-avconv"
      ],
      "description": "Prefer avconv over ffmpeg for running the postprocessors"
    },
    {
      "names": [
        "--prefer-ffmpeg"
      ],
      "description": "Prefer ffmpeg over avconv for running the postprocessors (default)"
    },
    {
      "names": [
        "--ffmpeg-location"
      ],
      "description": "Location of the ffmpeg/avconv binary; either the path to the binary or its containing directory",
      "takes_arg": true,
      "arg": {
        "name": "PATH",
        "template": "folders"
      }
    },
    {
      "names": [
        "--exec"
      ],
      "description": "Execute a command on the file after downloading and post-processing, similar to find's -exec syntax",
      "takes_arg": true,
      "arg": {
        "name": "CMD"
      }
    },
    {
      "names": [
        "--convert-subs"
      ],
      "description": "Convert the subtitles to other format",
      "takes_arg": true,
      "arg": {
        "name": "FORMAT",
        "suggestions": [
          "srt",
          "ass",
          "vtt",
          "lrc"
        ]
      }
    }
  ],
  "args": [
    {
      "name": "URL",
      "is_variadic": true
    }
  ]
}
