diff --git a/lib/Ytdl/Options.php b/lib/Ytdl/Options.php index be0e858..3951023 100644 --- a/lib/Ytdl/Options.php +++ b/lib/Ytdl/Options.php @@ -10,266 +10,236 @@ public static function get() } public static function options() { - return array( - 'help' => 'this help text and exit', - 'version' => 'program version and exit', - 'update' => 'this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)', - 'ignore-errors' => 'download and postprocessing errors. The download will be considered successful even if the postprocessing', - 'abort-on-error' => 'downloading of further videos if an error occurs (Alias: --no-ignore-errors)', + return array ( + 'ignore-errors' => 'download and postprocessing errors.', + 'no-abort-on-error' => 'with next video on download', + 'abort-on-error' => 'downloading of further videos if an', 'dump-user-agent' => 'the current user-agent and exit', 'list-extractors' => 'all supported extractors and exit', - 'extractor-descriptions' => 'descriptions of all supported extractors and exit', - 'force-generic-extractor' => 'extraction to use the generic extractor', - 'default-search' => 'Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for the', - 'ignore-config' => 'Don\'t load any more configuration files except those given by --config-locations. For backward compatibility, if', - 'config-location' => 'Location of the configuration file; either the path to the config or its containing directory.', - 'flat-playlist' => 'not extract the videos of a playlist, only list them', - 'mark-watched' => 'videos watched (even with --simulate). Currently only supported for YouTube', + 'extractor-descriptions' => 'descriptions of all supported', + 'force-generic-extractor' => 'extraction to use the generic', + 'default-search' => 'Use this prefix for unqualified URLs. For', + 'ignore-config' => 'Don\'t load any more configuration files', + 'no-config-locations' => 'not load any custom configuration files', + 'config-locations' => 'Location of the main configuration file;', + 'flat-playlist' => 'not extract the videos of a playlist,', + 'no-flat-playlist' => 'the videos of a playlist', + 'live-from-start' => 'livestreams from the start.', + 'no-live-from-start' => 'livestreams from the current time', + 'no-wait-for-video' => 'not wait for scheduled streams (default)', + 'mark-watched' => 'videos watched (even with --simulate)', 'no-mark-watched' => 'not mark videos watched (default)', - 'no-color' => 'not emit color codes in output', - 'proxy' => 'Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme. For example', + 'no-colors' => 'not emit color codes in output', + 'compat-options' => 'Options that can help keep compatibility', + 'proxy' => 'Use the specified HTTP/HTTPS/SOCKS proxy.', 'socket-timeout' => 'Time to wait before giving up, in seconds', 'source-address' => 'Client-side IP address to bind to', 'force-ipv4' => 'all connections via IPv4', 'force-ipv6' => 'all connections via IPv6', - 'geo-verification-proxy' => 'Use this proxy to verify the IP address for some geo-restricted sites. The default proxy specified by --proxy (or', - 'geo-bypass' => 'geographic restriction via faking X-Forwarded-For HTTP header (default)', - 'no-geo-bypass' => 'not bypass geographic restriction via faking X-Forwarded-For HTTP header', - 'geo-bypass-country' => 'Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 country code', + 'geo-verification-proxy' => 'Use this proxy to verify the IP address for', + 'geo-bypass' => 'geographic restriction via faking', + 'no-geo-bypass' => 'not bypass geographic restriction via', + 'geo-bypass-country' => 'Force bypass geographic restriction with', 'playlist-start' => 'Playlist video to start at (default is 1)', 'playlist-end' => 'Playlist video to end at (default is last)', - 'match-title' => 'Download only matching titles (regex or caseless sub-string)', - 'reject-title' => 'Skip download for matching titles (regex or caseless sub-string)', - 'max-downloads' => 'Abort after downloading NUMBER files', - 'min-filesize' => 'Do not download any videos smaller than SIZE (e.g. 50k or 44.6m)', - 'max-filesize' => 'Do not download any videos larger than SIZE (e.g. 50k or 44.6m)', - 'date' => 'Download only videos uploaded on this date. The date can be "YYYYMMDD" or in the format', - 'datebefore' => 'Download only videos uploaded on or before this date. The date formats accepted is the same as --date', - 'dateafter' => 'Download only videos uploaded on or after this date. The date formats accepted is the same as --date', - 'min-views' => 'Do not download any videos with less than COUNT views', - 'max-views' => 'Do not download any videos with more than COUNT views', - 'match-filter' => 'Generic video filter. Any field (see "OUTPUT TEMPLATE") can be compared with a number or a string using the', - 'no-playlist' => 'only the video, if the URL refers to a video and a playlist', - 'yes-playlist' => 'the playlist, if the URL refers to a video and a playlist', - 'age-limit' => 'Download only videos suitable for the given age', - 'download-archive' => 'Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it', - 'include-ads' => 'advertisements as well (experimental)', - 'limit-rate' => 'Maximum download rate in bytes per second (e.g. 50K or 4.2M)', - 'retries' => 'Number of retries (default is 10), or "infinite"', - 'fragment-retries' => 'Number of retries for a fragment (default is 10), or "infinite" (DASH, hlsnative and ISM)', - 'skip-unavailable-fragments' => 'unavailable fragments for DASH, hlsnative and ISM (default) (Alias: --no-abort-on-unavailable-fragment)', - 'abort-on-unavailable-fragment' => 'downloading if a fragment is unavailable (Alias: --no-skip-unavailable-fragments)', - 'keep-fragments' => 'downloaded fragments on disk after downloading is finished', - 'buffer-size' => 'Size of download buffer (e.g. 1024 or 16K) (default is 1024)', + 'min-filesize' => 'Do not download any videos smaller than', + 'max-filesize' => 'Do not download any videos larger than SIZE', + 'date' => 'Download only videos uploaded on this date.', + 'datebefore' => 'Download only videos uploaded on or before', + 'dateafter' => 'Download only videos uploaded on or after', + 'match-filters' => 'Generic video filter. Any field (see', + 'no-match-filter' => 'not use generic video filter (default)', + 'no-playlist' => 'only the video, if the URL refers', + 'yes-playlist' => 'the playlist, if the URL refers to', + 'age-limit' => 'Download only videos suitable for the given', + 'download-archive' => 'Download only videos not listed in the', + 'no-download-archive' => 'not use archive file (default)', + 'max-downloads' => 'only on the current', + 'break-on-existing' => 'the download process when encountering', + 'break-on-reject' => 'the download process when encountering', + 'break-per-input' => '--break-on-existing, --break-on-reject', + 'no-break-per-input' => '--break-on-existing and similar options', + 'skip-playlist-after-errors' => 'Number of allowed failures until the rest', + 'concurrent-fragments' => 'Number of fragments of a dash/hlsnative', + 'limit-rate' => 'Maximum download rate in bytes per second', + 'throttled-rate' => 'Minimum download rate in bytes per second', + 'retries' => 'Number of retries (default is 10), or', + 'file-access-retries' => 'Number of times to retry on file access', + 'fragment-retries' => 'Number of retries for a fragment (default', + 'skip-unavailable-fragments' => 'unavailable fragments for DASH,', + 'abort-on-unavailable-fragment' => 'downloading if a fragment is', + 'keep-fragments' => 'downloaded fragments on disk after', + 'no-keep-fragments' => 'downloaded fragments after', + 'buffer-size' => 'Size of download buffer (e.g. 1024 or 16K)', + 'resize-buffer' => 'buffer size is automatically resized', 'no-resize-buffer' => 'not automatically adjust the buffer size', - 'http-chunk-size' => 'Size of a chunk for chunk-based HTTP downloading (e.g. 10485760 or 10M) (default is disabled). May be useful for', + 'http-chunk-size' => 'Size of a chunk for chunk-based HTTP', 'playlist-reverse' => 'playlist videos in reverse order', + 'no-playlist-reverse' => 'playlist videos in default order', 'playlist-random' => 'playlist videos in random order', - 'xattr-set-filesize' => 'file xattribute youtube-dl.filesize with expected file size', - 'hls-prefer-native' => 'the native HLS downloader instead of ffmpeg', - 'hls-prefer-ffmpeg' => 'ffmpeg instead of the native HLS downloader', - 'hls-use-mpegts' => 'the mpegts container for HLS videos; allowing some players to play the video while downloading, and reducing the', - 'external-downloader' => 'Use the specified external downloader. Currently supports aria2c,avconv,axel,curl,ffmpeg,httpie,wget', - 'external-downloader-args' => 'Give these arguments to the external downloader', - 'batch-file' => 'File containing URLs to download ("-" for stdin), one URL per line. Lines starting with "#", ";" or "]" are', - 'id' => 'only video ID in file name', - 'output' => 'an absolute path', - 'output-na-placeholder' => 'Placeholder value for unavailable meta fields in output filename template (default: "NA")', - 'autonumber-start' => 'Specify the start value for %(autonumber)s (default is 1)', - 'restrict-filenames' => 'filenames to only ASCII characters, and avoid "&" and spaces in filenames', + 'xattr-set-filesize' => 'file xattribute ytdl.filesize with', + 'hls-use-mpegts' => 'the mpegts container for HLS videos;', + 'no-hls-use-mpegts' => 'not use the mpegts container for HLS', + 'downloader' => 'Name or path of the external downloader to', + 'downloader-args' => 'Give these arguments to the external', + 'batch-file' => 'File containing URLs to download ("-" for', + 'no-batch-file' => 'not read URLs from batch file (default)', + 'paths' => 'The paths where the files should be', + 'output' => 'Output filename template; see "OUTPUT', + 'output-na-placeholder' => 'Placeholder value for unavailable meta', + 'restrict-filenames' => 'filenames to only ASCII', + 'no-restrict-filenames' => 'Unicode characters, "&" and spaces in', + 'windows-filenames' => 'filenames to be Windows-compatible', + 'no-windows-filenames' => 'filenames Windows-compatible only if', + 'trim-filenames' => 'Limit the filename length (excluding', 'no-overwrites' => 'not overwrite any files', - 'continue' => 'partially downloaded files/fragments (default)', - 'no-continue' => 'not resume partially downloaded fragments. If the file is not fragmented, restart download of the entire file', - 'no-part' => 'not use .part files - write directly into output file', - 'no-mtime' => 'not use the Last-modified header to set the file modification time', - 'write-description' => 'video description to a .description file', - 'write-info-json' => 'video metadata to a .info.json file (this may contain personal information)', - 'write-annotations' => 'video annotations to a .annotations.xml file', - 'load-info-json' => 'JSON file containing the video information (created with the "--write-info-json" option)', - 'cookies' => 'Netscape formatted file to read cookies from and dump cookie jar in', - 'cache-dir' => 'Location in the filesystem where youtube-dl can store some downloaded information (such as client ids and', + 'force-overwrites' => 'all video and metadata files.', + 'no-force-overwrites' => 'not overwrite the video, but overwrite', + 'continue' => 'partially downloaded files/fragments', + 'no-continue' => 'not resume partially downloaded', + 'part' => '.part files instead of writing directly', + 'no-part' => 'not use .part files - write directly', + 'mtime' => 'the Last-modified header to set the', + 'no-mtime' => 'not use the Last-modified header to set', + 'write-description' => 'video description to a .description', + 'no-write-description' => 'not write video description (default)', + 'write-info-json' => 'video metadata to a .info.json file', + 'no-write-info-json' => 'not write video metadata (default)', + 'write-playlist-metafiles' => 'playlist metadata in addition to the', + 'no-write-playlist-metafiles' => 'not write playlist metadata when using', + 'clean-info-json' => 'some private fields such as', + 'no-clean-info-json' => 'all fields to the infojson', + 'write-comments' => 'video comments to be placed in the', + 'no-write-comments' => 'not retrieve video comments unless the', + 'load-info-json' => 'JSON file containing the video information', + 'cookies' => 'Netscape formatted file to read cookies', + 'no-cookies' => 'not read/dump cookies from/to file', + 'no-cookies-from-browser' => 'not load cookies from browser (default)', + 'cache-dir' => 'Location in the filesystem where youtube-dl', 'no-cache-dir' => 'filesystem caching', 'rm-cache-dir' => 'all filesystem cache files', 'write-thumbnail' => 'thumbnail image to disk', + 'no-write-thumbnail' => 'not write thumbnail image to disk', 'write-all-thumbnails' => 'all thumbnail image formats to disk', - 'list-thumbnails' => 'available thumbnails of each video. Simulate unless --no-simulate is used', - 'quiet' => '', + 'list-thumbnails' => 'available thumbnails of each video.', + 'no-simulate' => 'used', + 'write-link' => 'an internet shortcut file, depending', + 'write-url-link' => 'a .url Windows internet shortcut. The', + 'write-webloc-link' => 'a .webloc macOS internet shortcut', + 'write-desktop-link' => 'a .desktop Linux internet shortcut', + 'quiet' => 'quiet mode. If used with', 'no-warnings' => 'warnings', - 'simulate' => 'not download the video and do not write anything to disk', - 'skip-download' => 'not download the video but write all related files (Alias: --no-download)', - 'get-url' => 'Simulate, quiet but print URL', - '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', - 'dump-json' => 'Quiet, but print JSON information for each video. Simulate unless --no-simulate is used. See "OUTPUT TEMPLATE" for a', - 'dump-single-json' => 'Quiet, but print JSON information for each url or infojson passed. Simulate unless --no-simulate is used. If the URL', - 'print-json' => 'quiet and print the video information as JSON (video is still being downloaded).', + 'simulate' => '', + 'ignore-no-formats-error' => '"No video formats" error. Useful for', + 'no-ignore-no-formats-error' => 'error when no downloadable video', + 'skip-download' => 'not download the video but write all', + 'print' => 'Field name or output template to print to', + 'print-to-file' => 'FILE', + 'dump-json' => 'Quiet, but print JSON information for each', + 'dump-single-json' => 'Quiet, but print JSON information for each', + 'force-write-archive' => 'download archive entries to be', 'newline' => 'progress bar as new lines', 'no-progress' => 'not print progress bar', + 'progress' => 'progress bar, even if in quiet mode', 'console-title' => 'progress in console titlebar', + 'progress-template' => '', 'verbose' => 'various debugging information', - 'dump-pages' => 'downloaded pages encoded using base64 to debug problems (very verbose)', - 'write-pages' => 'downloaded intermediary pages to files in the current directory to debug problems', + 'dump-pages' => 'downloaded pages encoded using base64', + 'write-pages' => 'downloaded intermediary pages to', 'print-traffic' => 'sent and read HTTP traffic', - 'call-home' => 'the youtube-dl server for debugging', - 'no-call-home' => 'NOT contact the youtube-dl server for debugging', 'encoding' => 'Force the specified encoding (experimental)', - 'no-check-certificate' => 'HTTPS certificate validation', - 'prefer-insecure' => 'an unencrypted connection to retrieve information about the video (Currently supported only for YouTube)', - 'user-agent' => 'Specify a custom user agent', - 'referer' => 'Specify a custom referer, use if the video access is restricted to one domain', - 'add-header' => 'Specify a custom HTTP header and its value, separated by a colon \':\'. You can use this option multiple times', - 'bidi-workaround' => 'around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH', - 'sleep-interval' => 'Number of seconds to sleep before each download. This is the minimum time to sleep when used along with --max-sleep-', - 'max-sleep-interval' => 'Maximum number of seconds to sleep. Can only be used along with --min-sleep-interval', - 'format' => 'Video format code, see "FORMAT SELECTION" for more details', - 'all-formats' => 'all available video formats', - 'prefer-free-formats' => 'video formats with free containers over non-free ones of same quality. Use with "-S ext" to strictly prefer', - 'list-formats' => 'available formats of each video. Simulate unless --no-simulate is used', - 'youtube-dl-skip-dash-manifest' => 'not download the DASH manifests and related data on YouTube videos', - 'merge-output-format' => 'If a merge is required (e.g. bestvideo+bestaudio), output to given container format. One of mkv, mp4, ogg, webm,', - 'write-sub' => 'subtitle file', - 'write-auto-sub' => 'automatically generated subtitle file (YouTube only)', - 'all-subs' => 'all the available subtitles of the video', - 'list-subs' => 'a list of available language tags', - 'sub-format' => 'Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best"', - 'sub-lang' => 'Languages of the subtitles to download (optional) separated by commas, use --list-subs for available language tags', + 'legacy-server-connect' => 'allow HTTPS connection to', + 'no-check-certificates' => 'HTTPS certificate validation', + 'prefer-insecure' => 'an unencrypted connection to retrieve', + 'add-header' => 'Specify a custom HTTP header and its value,', + 'bidi-workaround' => 'around terminals that lack', + 'sleep-requests' => 'Number of seconds to sleep between requests', + 'sleep-interval' => 'Number of seconds to sleep before each', + 'max-sleep-interval' => 'Maximum number of seconds to sleep. Can', + 'sleep-subtitles' => 'Number of seconds to sleep before each', + 'format' => 'Video format code, see "FORMAT SELECTION"', + 'format-sort' => 'Sort the formats by the fields given, see', + 'format-sort-force' => 'user specified sort order to have', + 'no-format-sort-force' => 'fields have precedence over the user', + 'video-multistreams' => 'multiple video streams to be merged', + 'no-video-multistreams' => 'one video stream is downloaded for', + 'audio-multistreams' => 'multiple audio streams to be merged', + 'no-audio-multistreams' => 'one audio stream is downloaded for', + 'prefer-free-formats' => 'video formats with free containers', + 'no-prefer-free-formats' => 'Don\'t give any special preference to free', + 'check-formats' => 'sure formats are selected only from', + 'check-all-formats' => 'all formats for whether they are', + 'no-check-formats' => 'not check that the formats are actually', + 'list-formats' => 'available formats of each video.', + 'merge-output-format' => 'If a merge is required (e.g.', + 'write-subs' => 'subtitle file', + 'no-write-subs' => 'not write subtitle file (default)', + 'write-auto-subs' => 'automatically generated subtitle file', + 'no-write-auto-subs' => 'not write auto-generated subtitles', + 'list-subs' => 'a', + 'sub-format' => 'Subtitle format, accepts formats', + 'sub-langs' => 'Languages of the subtitles to download (can', 'username' => 'Login with this account ID', - 'password' => 'Account password. If this option is left out, yt-dlp will ask interactively', + 'password' => 'Account password. If this option is left', 'twofactor' => 'Two-factor authentication code', 'netrc' => '.netrc authentication data', + 'netrc-location' => 'Location of .netrc authentication data;', 'video-password' => 'Video password (vimeo, youku)', - 'ap-mso' => 'Adobe Pass multiple-system operator (TV provider) identifier, use --ap-list-mso for a list of available MSOs', + 'ap-mso' => 'Adobe Pass multiple-system operator (TV', + 'ap-list-mso' => 'all supported multiple-system', 'ap-username' => 'Multiple-system operator account login', - 'ap-password' => 'Multiple-system operator account password. If this option is left out, yt-dlp will ask interactively', - 'ap-list-mso' => 'all supported multiple-system operators', - 'extract-audio' => 'video files to audio-only files (requires ffmpeg and ffprobe)', - 'audio-format' => 'Specify audio format to convert the audio to when -x is used. Currently supported formats are: best (default) or one', - 'audio-quality' => 'Specify ffmpeg audio quality, insert a value between 0 (best) and 10 (worst) for VBR or a specific bitrate like 128K', - 'recode-video' => 'Re-encode the video into another format if re-encoding is necessary. The syntax and supported formats are the same', - 'postprocessor-args' => 'Give these arguments to the postprocessor', - 'keep-video' => 'the intermediate video file on disk after post-processing', - 'no-post-overwrites' => 'not overwrite post-processed files', - 'embed-subs' => 'subtitles in the video (only for mp4, webm and mkv videos)', - 'embed-thumbnail' => 'thumbnail in the video as cover art', - 'add-metadata' => 'metadata to the video file', - 'metadata-from-title' => 'Parse additional metadata like song title / artist from the video title. The format syntax is the same as --output.', - 'xattrs' => 'metadata to the video file\'s xattrs (using dublin core and xdg standards)', - 'fixup' => 'Automatically correct known faults of the file. One of never (do nothing), warn (only emit a warning),', - 'prefer-avconv' => 'avconv over ffmpeg for running the postprocessors', - 'prefer-ffmpeg' => 'ffmpeg over avconv for running the postprocessors (default)', - 'ffmpeg-location' => 'Location of the ffmpeg binary; either the path to the binary or its containing directory', - 'exec' => 'Execute a command on the file after downloading and post-processing, similar to find\'s -exec syntax. Example:', - 'convert-subs' => 'Convert the subtitles to another format (currently supported: srt|vtt|ass|lrc) (Alias: --convert-subtitles)', - 'no-abort-on-error' => 'with next video on download errors; e.g. to skip unavailable videos in a playlist (default)', - 'no-config-locations' => 'not load any custom configuration files (default). When given inside a configuration file, ignore all previous', - 'config-locations' => 'Location of the main configuration file; either the path to the config or its containing directory. Can be used', - 'no-flat-playlist' => 'the videos of a playlist', - 'live-from-start' => 'livestreams from the start. Currently only supported for YouTube (Experimental)', - 'no-live-from-start' => 'livestreams from the current time (default)', - 'wait-for-video' => 'Wait for scheduled streams to become available. Pass the minimum number of seconds (or range) to wait between retries', - 'no-wait-for-video' => 'not wait for scheduled streams (default)', - 'no-colors' => 'not emit color codes in output', - 'compat-options' => 'Options that can help keep compatibility with youtube-dl or youtube-dl-dlc configurations by reverting some of the', - 'no-match-filter' => 'not use generic video filter (default)', - 'no-download-archive' => 'not use archive file (default)', - 'break-on-existing' => 'the download process when encountering a file that is in the archive', - 'break-on-reject' => 'the download process when encountering a file that has been filtered out', - 'break-per-input' => '--break-on-existing and --break-on-reject act only on the current input URL', - 'no-break-per-input' => '--break-on-existing and --break-on-reject terminates the entire download queue', - 'skip-playlist-after-errors' => 'Number of allowed failures until the rest of the playlist is skipped', - 'concurrent-fragments' => 'Number of fragments of a dash/hlsnative video that should be downloaded concurrently (default is 1)', - 'throttled-rate' => 'Minimum download rate in bytes per second below which throttling is assumed and the video data is re-extracted (e.g.', - 'file-access-retries' => 'Number of times to retry on file access error (default is 3), or "infinite"', - 'no-keep-fragments' => 'downloaded fragments after downloading is finished (default)', - 'resize-buffer' => 'buffer size is automatically resized from an initial value of --buffer-size (default)', - 'no-playlist-reverse' => 'playlist videos in default order (default)', - 'no-hls-use-mpegts' => 'not use the mpegts container for HLS videos. This is default when not downloading live streams', - 'no-batch-file' => 'not read URLs from batch file (default)', - 'no-restrict-filenames' => 'Unicode characters, "&" and spaces in filenames (default)', - 'windows-filenames' => 'filenames to be Windows-compatible', - 'no-windows-filenames' => 'filenames Windows-compatible only if using Windows (default)', - 'trim-filenames' => 'Limit the filename length (excluding extension) to the specified number of characters', - 'force-overwrites' => 'all video and metadata files. This option includes --no-continue', - 'no-force-overwrites' => 'not overwrite the video, but overwrite related files (default)', - 'part' => '.part files instead of writing directly into output file (default)', - 'mtime' => 'the Last-modified header to set the file modification time (default)', - 'no-write-description' => 'not write video description (default)', - 'no-write-info-json' => 'not write video metadata (default)', - 'write-playlist-metafiles' => 'playlist metadata in addition to the video metadata when using --write-info-json, --write-description etc.', - 'no-write-playlist-metafiles' => 'not write playlist metadata when using --write-info-json, --write-description etc.', - 'clean-info-json' => 'some private fields such as filenames from the infojson. Note that it could still contain some personal', - 'no-clean-info-json' => 'all fields to the infojson', - 'write-comments' => 'video comments to be placed in the infojson. The comments are fetched even without this option if the', - 'no-write-comments' => 'not retrieve video comments unless the extraction is known to be quick (Alias: --no-get-comments)', - 'no-cookies' => 'not read/dump cookies from/to file (default)', - 'no-cookies-from-browser' => 'not load cookies from browser (default)', - 'no-write-thumbnail' => 'not write thumbnail image to disk (default)', - 'write-link' => 'an internet shortcut file, depending on the current platform (.url, .webloc or .desktop). The URL may be', - 'write-url-link' => 'a .url Windows internet shortcut. The OS caches the URL based on the file path', - 'write-webloc-link' => 'a .webloc macOS internet shortcut', - 'write-desktop-link' => 'a .desktop Linux internet shortcut', - 'no-simulate' => 'used). This option can be used multiple times', - 'ignore-no-formats-error' => '"No video formats" error. Useful for extracting metadata even if the videos are not actually available for', - 'no-ignore-no-formats-error' => 'error when no downloadable video formats are found (default)', - 'force-write-archive' => 'download archive entries to be written as far as no errors occur, even if -s or another simulation option is', - 'progress' => 'progress bar, even if in quiet mode', - 'legacy-server-connect' => 'allow HTTPS connection to servers that do not support RFC 5746 secure renegotiation', - 'no-check-certificates' => 'HTTPS certificate validation', - 'sleep-requests' => 'Number of seconds to sleep between requests during data extraction', - 'sleep-subtitles' => 'Number of seconds to sleep before each subtitle download', - 'format-sort' => 'Sort the formats by the fields given, see "Sorting Formats" for more details', - 'format-sort-force' => 'user specified sort order to have precedence over all fields, see "Sorting Formats" for more details', - 'no-format-sort-force' => 'fields have precedence over the user specified sort order (default), see "Sorting Formats" for more details', - 'video-multistreams' => 'multiple video streams to be merged into a single file', - 'no-video-multistreams' => 'one video stream is downloaded for each output file (default)', - 'audio-multistreams' => 'multiple audio streams to be merged into a single file', - 'no-audio-multistreams' => 'one audio stream is downloaded for each output file (default)', - 'no-prefer-free-formats' => 'Don\'t give any special preference to free containers (default)', - 'check-formats' => 'that the selected formats are actually downloadable', - 'check-all-formats' => 'all formats for whether they are actually downloadable', - 'no-check-formats' => 'not check that the formats are actually downloadable', - 'write-subs' => 'subtitle file', - 'no-write-subs' => 'not write subtitle file (default)', - 'write-auto-subs' => 'automatically generated subtitle file (Alias: --write-automatic-subs)', - 'no-write-auto-subs' => 'not write auto-generated subtitles (default) (Alias: --no-write-automatic-subs)', - 'sub-langs' => 'Languages of the subtitles to download (can be regex) or "all" separated by commas. (Eg: --sub-langs "en.*,ja") You', - 'netrc-location' => 'Location of .netrc authentication data; either the path or its containing directory. Defaults to ~/.netrc', - 'remux-video' => 'Remux the video into another container if necessary (currently supported:', - 'no-keep-video' => 'the intermediate video file after post-processing (default)', + 'ap-password' => 'Multiple-system operator account password.', + 'client-certificate' => 'Path to client certificate file in PEM', + 'client-certificate-key' => '', + 'client-certificate-password' => '', + 'extract-audio' => 'video files to audio-only files', + 'audio-format' => 'Specify audio format to convert the audio', + 'audio-quality' => 'Specify ffmpeg audio quality to use when', + 'remux-video' => 'Remux the video into another container if', + 'recode-video' => 'Re-encode the video into another format if', + 'postprocessor-args' => 'Give these arguments to the postprocessors.', + 'keep-video' => 'the intermediate video file on disk', + 'no-keep-video' => 'the intermediate video file after', 'post-overwrites' => 'post-processed files (default)', + 'no-post-overwrites' => 'not overwrite post-processed files', + 'embed-subs' => 'subtitles in the video (only for mp4,', 'no-embed-subs' => 'not embed subtitles (default)', + 'embed-thumbnail' => 'thumbnail in the video as cover art', 'no-embed-thumbnail' => 'not embed thumbnail (default)', - 'embed-metadata' => 'metadata to the video file. Also embeds chapters/infojson if present unless --no-embed-chapters/--no-embed-', - 'no-embed-metadata' => 'not add metadata to file (default) (Alias: --no-add-metadata)', - 'embed-chapters' => 'chapter markers to the video file (Alias: --add-chapters)', - 'no-embed-chapters' => 'not add chapter markers (default) (Alias: --no-add-chapters)', - 'embed-info-json' => 'the infojson as an attachment to mkv/mka video files', - 'no-embed-info-json' => 'not embed the infojson as an attachment to the video file', - 'replace-in-metadata' => 'REGEX REPLACE Replace text in a metadata field using the given regex. This option can be used multiple times', - 'concat-playlist' => 'Concatenate videos in a playlist. One of "never", "always", or "multi_video" (default; only when the videos form a', + 'embed-metadata' => 'metadata to the video file. Also', + 'no-embed-metadata' => 'not add metadata to file (default)', + 'embed-chapters' => 'chapter markers to the video file', + 'no-embed-chapters' => 'not add chapter markers (default)', + 'embed-info-json' => 'the infojson as an attachment to', + 'no-embed-info-json' => 'not embed the infojson as an attachment', + 'parse-metadata' => 'Parse additional metadata like title/artist', + 'replace-in-metadata' => 'REGEX REPLACE', + 'xattrs' => 'metadata to the video file\'s xattrs', + 'concat-playlist' => 'Concatenate videos in a playlist. One of', + 'fixup' => 'Automatically correct known faults of the', + 'ffmpeg-location' => 'Location of the ffmpeg binary; either the', + 'exec' => 'Execute a command, optionally prefixed with', 'no-exec' => 'any previously defined --exec', - 'convert-thumbnails' => 'Convert the thumbnails to another format (currently supported: jpg|png|webp)', - 'split-chapters' => 'video into multiple files based on internal chapters. The "chapter:" prefix can be used with "--paths" and "--', - 'no-split-chapters' => 'not split video based on chapters (default)', - 'remove-chapters' => 'Remove chapters whose title matches the given regular expression. Time ranges prefixed by a "*" can also be used in', - 'no-remove-chapters' => 'not remove any chapters from the file (default)', - 'force-keyframes-at-cuts' => 'keyframes around the chapters before removing/splitting them. Requires a re-encode and thus is very slow, but', - 'no-force-keyframes-at-cuts' => 'not force keyframes around the chapters when cutting/splitting (default)', - 'sponsorblock-mark' => 'SponsorBlock categories to create chapters for, separated by commas. Available categories are all, default(=all),', - 'sponsorblock-remove' => 'SponsorBlock categories to be removed from the video file, separated by commas. If a category is present in both', - 'sponsorblock-chapter-title' => 'The title template for SponsorBlock chapters created by --sponsorblock-mark. The same syntax as the output template', - 'no-sponsorblock' => 'both --sponsorblock-mark and --sponsorblock-remove', - 'sponsorblock-api' => 'SponsorBlock API location, defaults to https://sponsor.ajay.app', - 'extractor-retries' => 'Number of retries for known extractor errors (default is 3), or "infinite"', - 'allow-dynamic-mpd' => 'dynamic DASH manifests (default) (Alias: --no-ignore-dynamic-mpd)', - 'ignore-dynamic-mpd' => 'not process dynamic DASH manifests (Alias: --no-allow-dynamic-mpd)', - 'hls-split-discontinuity' => 'HLS playlists to different formats at discontinuities such as ad breaks', - 'no-hls-split-discontinuity' => 'not split HLS playlists to different formats at discontinuities such as ad breaks (default)', + 'convert-subs' => 'Convert the subtitles to another format', + 'convert-thumbnails' => 'Convert the thumbnails to another format', + 'split-chapters' => 'video into multiple files based on', + 'no-split-chapters' => 'not split video based on chapters', + 'remove-chapters' => 'Remove chapters whose title matches the', + 'no-remove-chapters' => 'not remove any chapters from the file', + 'force-keyframes-at-cuts' => 'keyframes around the chapters before', + 'no-force-keyframes-at-cuts' => 'not force keyframes around the chapters', + 'use-postprocessor' => 'The (case sensitive) name of plugin', + 'sponsorblock-mark' => 'that', + 'sponsorblock-remove' => 'SponsorBlock categories to be removed from', + 'sponsorblock-chapter-title' => '', + 'no-sponsorblock' => 'both --sponsorblock-mark and', + 'sponsorblock-api' => 'SponsorBlock API location, defaults to', + 'extractor-retries' => 'Number of retries for known extractor', + 'allow-dynamic-mpd' => 'dynamic DASH manifests (default)', + 'ignore-dynamic-mpd' => 'not process dynamic DASH manifests', + 'hls-split-discontinuity' => 'HLS playlists to different formats at', + 'no-hls-split-discontinuity' => 'not split HLS playlists to different', + 'extractor-args' => 'Pass these arguments to the extractor. See', ); } } diff --git a/src/utils/ytdlOptions.js b/src/utils/ytdlOptions.js index 0030f42..d3e1afc 100644 --- a/src/utils/ytdlOptions.js +++ b/src/utils/ytdlOptions.js @@ -1,260 +1,233 @@ const options = { - "ignore-errors": "download and postprocessing errors. The download will be considered successful even if the postprocessing", - "abort-on-error": "downloading of further videos if an error occurs (Alias: --no-ignore-errors)", + "ignore-errors": "download and postprocessing errors.", + "no-abort-on-error": "with next video on download", + "abort-on-error": "downloading of further videos if an", "dump-user-agent": "the current user-agent and exit", "list-extractors": "all supported extractors and exit", - "extractor-descriptions": "descriptions of all supported extractors and exit", - "force-generic-extractor": "extraction to use the generic extractor", - "default-search": "Use this prefix for unqualified URLs. For example \"gvsearch2:\" downloads two videos from google videos for the", - "ignore-config": "Don't load any more configuration files except those given by --config-locations. For backward compatibility, if", - "config-location": "Location of the configuration file; either the path to the config or its containing directory.", - "flat-playlist": "not extract the videos of a playlist, only list them", - "mark-watched": "videos watched (even with --simulate). Currently only supported for YouTube", + "extractor-descriptions": "descriptions of all supported", + "force-generic-extractor": "extraction to use the generic", + "default-search": "Use this prefix for unqualified URLs. For", + "ignore-config": "Don't load any more configuration files", + "no-config-locations": "not load any custom configuration files", + "config-locations": "Location of the main configuration file;", + "flat-playlist": "not extract the videos of a playlist,", + "no-flat-playlist": "the videos of a playlist", + "live-from-start": "livestreams from the start.", + "no-live-from-start": "livestreams from the current time", + "no-wait-for-video": "not wait for scheduled streams (default)", + "mark-watched": "videos watched (even with --simulate)", "no-mark-watched": "not mark videos watched (default)", - "no-color": "not emit color codes in output", - "proxy": "Use the specified HTTP\/HTTPS\/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme. For example", + "no-colors": "not emit color codes in output", + "compat-options": "Options that can help keep compatibility", + "proxy": "Use the specified HTTP\/HTTPS\/SOCKS proxy.", "socket-timeout": "Time to wait before giving up, in seconds", "source-address": "Client-side IP address to bind to", "force-ipv4": "all connections via IPv4", "force-ipv6": "all connections via IPv6", - "geo-verification-proxy": "Use this proxy to verify the IP address for some geo-restricted sites. The default proxy specified by --proxy (or", - "geo-bypass": "geographic restriction via faking X-Forwarded-For HTTP header (default)", - "no-geo-bypass": "not bypass geographic restriction via faking X-Forwarded-For HTTP header", - "geo-bypass-country": "Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 country code", + "geo-verification-proxy": "Use this proxy to verify the IP address for", + "geo-bypass": "geographic restriction via faking", + "no-geo-bypass": "not bypass geographic restriction via", + "geo-bypass-country": "Force bypass geographic restriction with", "playlist-start": "Playlist video to start at (default is 1)", "playlist-end": "Playlist video to end at (default is last)", - "match-title": "Download only matching titles (regex or caseless sub-string)", - "reject-title": "Skip download for matching titles (regex or caseless sub-string)", - "max-downloads": "Abort after downloading NUMBER files", - "min-filesize": "Do not download any videos smaller than SIZE (e.g. 50k or 44.6m)", - "max-filesize": "Do not download any videos larger than SIZE (e.g. 50k or 44.6m)", - "date": "Download only videos uploaded on this date. The date can be \"YYYYMMDD\" or in the format", - "datebefore": "Download only videos uploaded on or before this date. The date formats accepted is the same as --date", - "dateafter": "Download only videos uploaded on or after this date. The date formats accepted is the same as --date", - "min-views": "Do not download any videos with less than COUNT views", - "max-views": "Do not download any videos with more than COUNT views", - "match-filter": "Generic video filter. Any field (see \"OUTPUT TEMPLATE\") can be compared with a number or a string using the", - "no-playlist": "only the video, if the URL refers to a video and a playlist", - "yes-playlist": "the playlist, if the URL refers to a video and a playlist", - "age-limit": "Download only videos suitable for the given age", - "download-archive": "Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it", - "include-ads": "advertisements as well (experimental)", - "limit-rate": "Maximum download rate in bytes per second (e.g. 50K or 4.2M)", - "retries": "Number of retries (default is 10), or \"infinite\"", - "fragment-retries": "Number of retries for a fragment (default is 10), or \"infinite\" (DASH, hlsnative and ISM)", - "skip-unavailable-fragments": "unavailable fragments for DASH, hlsnative and ISM (default) (Alias: --no-abort-on-unavailable-fragment)", - "abort-on-unavailable-fragment": "downloading if a fragment is unavailable (Alias: --no-skip-unavailable-fragments)", - "keep-fragments": "downloaded fragments on disk after downloading is finished", - "buffer-size": "Size of download buffer (e.g. 1024 or 16K) (default is 1024)", + "min-filesize": "Do not download any videos smaller than", + "max-filesize": "Do not download any videos larger than SIZE", + "date": "Download only videos uploaded on this date.", + "datebefore": "Download only videos uploaded on or before", + "dateafter": "Download only videos uploaded on or after", + "match-filters": "Generic video filter. Any field (see", + "no-match-filter": "not use generic video filter (default)", + "no-playlist": "only the video, if the URL refers", + "yes-playlist": "the playlist, if the URL refers to", + "age-limit": "Download only videos suitable for the given", + "download-archive": "Download only videos not listed in the", + "no-download-archive": "not use archive file (default)", + "max-downloads": "only on the current", + "break-on-existing": "the download process when encountering", + "break-on-reject": "the download process when encountering", + "break-per-input": "--break-on-existing, --break-on-reject", + "no-break-per-input": "--break-on-existing and similar options", + "skip-playlist-after-errors": "Number of allowed failures until the rest", + "concurrent-fragments": "Number of fragments of a dash\/hlsnative", + "limit-rate": "Maximum download rate in bytes per second", + "throttled-rate": "Minimum download rate in bytes per second", + "retries": "Number of retries (default is 10), or", + "file-access-retries": "Number of times to retry on file access", + "fragment-retries": "Number of retries for a fragment (default", + "skip-unavailable-fragments": "unavailable fragments for DASH,", + "abort-on-unavailable-fragment": "downloading if a fragment is", + "keep-fragments": "downloaded fragments on disk after", + "no-keep-fragments": "downloaded fragments after", + "buffer-size": "Size of download buffer (e.g. 1024 or 16K)", + "resize-buffer": "buffer size is automatically resized", "no-resize-buffer": "not automatically adjust the buffer size", - "http-chunk-size": "Size of a chunk for chunk-based HTTP downloading (e.g. 10485760 or 10M) (default is disabled). May be useful for", + "http-chunk-size": "Size of a chunk for chunk-based HTTP", "playlist-reverse": "playlist videos in reverse order", + "no-playlist-reverse": "playlist videos in default order", "playlist-random": "playlist videos in random order", - "xattr-set-filesize": "file xattribute ytdl.filesize with expected file size", - "hls-prefer-native": "the native HLS downloader instead of ffmpeg", - "hls-prefer-ffmpeg": "ffmpeg instead of the native HLS downloader", - "hls-use-mpegts": "the mpegts container for HLS videos; allowing some players to play the video while downloading, and reducing the", - "external-downloader": "Use the specified external downloader. Currently supports aria2c,avconv,axel,curl,ffmpeg,httpie,wget", - "external-downloader-args": "Give these arguments to the external downloader", - "batch-file": "File containing URLs to download (\"-\" for stdin), one URL per line. Lines starting with \"#\", \";\" or \"]\" are", - "id": "only video ID in file name", - "output": "an absolute path", - "output-na-placeholder": "Placeholder value for unavailable meta fields in output filename template (default: \"NA\")", - "autonumber-start": "Specify the start value for %(autonumber)s (default is 1)", - "restrict-filenames": "filenames to only ASCII characters, and avoid \"&\" and spaces in filenames", + "xattr-set-filesize": "file xattribute ytdl.filesize with", + "hls-use-mpegts": "the mpegts container for HLS videos;", + "no-hls-use-mpegts": "not use the mpegts container for HLS", + "downloader": "Name or path of the external downloader to", + "downloader-args": "Give these arguments to the external", + "batch-file": "File containing URLs to download (\"-\" for", + "no-batch-file": "not read URLs from batch file (default)", + "paths": "The paths where the files should be", + "output": "Output filename template; see \"OUTPUT", + "output-na-placeholder": "Placeholder value for unavailable meta", + "restrict-filenames": "filenames to only ASCII", + "no-restrict-filenames": "Unicode characters, \"&\" and spaces in", + "windows-filenames": "filenames to be Windows-compatible", + "no-windows-filenames": "filenames Windows-compatible only if", + "trim-filenames": "Limit the filename length (excluding", "no-overwrites": "not overwrite any files", - "continue": "partially downloaded files\/fragments (default)", - "no-continue": "not resume partially downloaded fragments. If the file is not fragmented, restart download of the entire file", - "no-part": "not use .part files - write directly into output file", - "no-mtime": "not use the Last-modified header to set the file modification time", - "write-description": "video description to a .description file", - "write-info-json": "video metadata to a .info.json file (this may contain personal information)", - "write-annotations": "video annotations to a .annotations.xml file", - "load-info-json": "JSON file containing the video information (created with the \"--write-info-json\" option)", - "cookies": "Netscape formatted file to read cookies from and dump cookie jar in", - "cache-dir": "Location in the filesystem where ytdl can store some downloaded information (such as client ids and", + "force-overwrites": "all video and metadata files.", + "no-force-overwrites": "not overwrite the video, but overwrite", + "continue": "partially downloaded files\/fragments", + "no-continue": "not resume partially downloaded", + "part": ".part files instead of writing directly", + "no-part": "not use .part files - write directly", + "mtime": "the Last-modified header to set the", + "no-mtime": "not use the Last-modified header to set", + "write-description": "video description to a .description", + "no-write-description": "not write video description (default)", + "write-info-json": "video metadata to a .info.json file", + "no-write-info-json": "not write video metadata (default)", + "write-playlist-metafiles": "playlist metadata in addition to the", + "no-write-playlist-metafiles": "not write playlist metadata when using", + "clean-info-json": "some private fields such as", + "no-clean-info-json": "all fields to the infojson", + "write-comments": "video comments to be placed in the", + "no-write-comments": "not retrieve video comments unless the", + "load-info-json": "JSON file containing the video information", + "cookies": "Netscape formatted file to read cookies", + "no-cookies": "not read\/dump cookies from\/to file", + "no-cookies-from-browser": "not load cookies from browser (default)", + "cache-dir": "Location in the filesystem where youtube-dl", "no-cache-dir": "filesystem caching", "rm-cache-dir": "all filesystem cache files", "write-thumbnail": "thumbnail image to disk", + "no-write-thumbnail": "not write thumbnail image to disk", "write-all-thumbnails": "all thumbnail image formats to disk", - "list-thumbnails": "available thumbnails of each video. Simulate unless --no-simulate is used", - "quiet": "", + "list-thumbnails": "available thumbnails of each video.", + "no-simulate": "used", + "write-link": "an internet shortcut file, depending", + "write-url-link": "a .url Windows internet shortcut. The", + "write-webloc-link": "a .webloc macOS internet shortcut", + "write-desktop-link": "a .desktop Linux internet shortcut", + "quiet": "quiet mode. If used with", "no-warnings": "warnings", - "simulate": "not download the video and do not write anything to disk", - "skip-download": "not download the video but write all related files (Alias: --no-download)", - "get-url": "Simulate, quiet but print URL", - "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", - "dump-json": "Quiet, but print JSON information for each video. Simulate unless --no-simulate is used. See \"OUTPUT TEMPLATE\" for a", - "dump-single-json": "Quiet, but print JSON information for each url or infojson passed. Simulate unless --no-simulate is used. If the URL", - "print-json": "quiet and print the video information as JSON (video is still being downloaded).", + "simulate": "", + "ignore-no-formats-error": "\"No video formats\" error. Useful for", + "no-ignore-no-formats-error": "error when no downloadable video", + "skip-download": "not download the video but write all", + "print": "Field name or output template to print to", + "print-to-file": "FILE", + "dump-json": "Quiet, but print JSON information for each", + "dump-single-json": "Quiet, but print JSON information for each", + "force-write-archive": "download archive entries to be", "newline": "progress bar as new lines", "no-progress": "not print progress bar", + "progress": "progress bar, even if in quiet mode", "console-title": "progress in console titlebar", + "progress-template": "", "verbose": "various debugging information", - "dump-pages": "downloaded pages encoded using base64 to debug problems (very verbose)", - "write-pages": "downloaded intermediary pages to files in the current directory to debug problems", + "dump-pages": "downloaded pages encoded using base64", + "write-pages": "downloaded intermediary pages to", "print-traffic": "sent and read HTTP traffic", - "call-home": "the ytdl server for debugging", - "no-call-home": "NOT contact the ytdl server for debugging", "encoding": "Force the specified encoding (experimental)", - "no-check-certificate": "HTTPS certificate validation", - "prefer-insecure": "an unencrypted connection to retrieve information about the video (Currently supported only for YouTube)", - "user-agent": "Specify a custom user agent", - "referer": "Specify a custom referer, use if the video access is restricted to one domain", - "add-header": "Specify a custom HTTP header and its value, separated by a colon ':'. You can use this option multiple times", - "bidi-workaround": "around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH", - "sleep-interval": "Number of seconds to sleep before each download. This is the minimum time to sleep when used along with --max-sleep-", - "max-sleep-interval": "Maximum number of seconds to sleep. Can only be used along with --min-sleep-interval", - "format": "Video format code, see \"FORMAT SELECTION\" for more details", - "all-formats": "all available video formats", - "prefer-free-formats": "video formats with free containers over non-free ones of same quality. Use with \"-S ext\" to strictly prefer", - "list-formats": "available formats of each video. Simulate unless --no-simulate is used", - "ytdl-skip-dash-manifest": "not download the DASH manifests and related data on YouTube videos", - "merge-output-format": "If a merge is required (e.g. bestvideo+bestaudio), output to given container format. One of mkv, mp4, ogg, webm,", - "write-sub": "subtitle file", - "write-auto-sub": "automatically generated subtitle file (YouTube only)", - "all-subs": "all the available subtitles of the video", - "list-subs": "a list of available language tags", - "sub-format": "Subtitle format, accepts formats preference, for example: \"srt\" or \"ass\/srt\/best\"", - "sub-lang": "Languages of the subtitles to download (optional) separated by commas, use --list-subs for available language tags", + "legacy-server-connect": "allow HTTPS connection to", + "no-check-certificates": "HTTPS certificate validation", + "prefer-insecure": "an unencrypted connection to retrieve", + "add-header": "Specify a custom HTTP header and its value,", + "bidi-workaround": "around terminals that lack", + "sleep-requests": "Number of seconds to sleep between requests", + "sleep-interval": "Number of seconds to sleep before each", + "max-sleep-interval": "Maximum number of seconds to sleep. Can", + "sleep-subtitles": "Number of seconds to sleep before each", + "format": "Video format code, see \"FORMAT SELECTION\"", + "format-sort": "Sort the formats by the fields given, see", + "format-sort-force": "user specified sort order to have", + "no-format-sort-force": "fields have precedence over the user", + "video-multistreams": "multiple video streams to be merged", + "no-video-multistreams": "one video stream is downloaded for", + "audio-multistreams": "multiple audio streams to be merged", + "no-audio-multistreams": "one audio stream is downloaded for", + "prefer-free-formats": "video formats with free containers", + "no-prefer-free-formats": "Don't give any special preference to free", + "check-formats": "sure formats are selected only from", + "check-all-formats": "all formats for whether they are", + "no-check-formats": "not check that the formats are actually", + "list-formats": "available formats of each video.", + "merge-output-format": "If a merge is required (e.g.", + "write-subs": "subtitle file", + "no-write-subs": "not write subtitle file (default)", + "write-auto-subs": "automatically generated subtitle file", + "no-write-auto-subs": "not write auto-generated subtitles", + "list-subs": "a", + "sub-format": "Subtitle format, accepts formats", + "sub-langs": "Languages of the subtitles to download (can", "username": "Login with this account ID", - "password": "Account password. If this option is left out, yt-dlp will ask interactively", + "password": "Account password. If this option is left", "twofactor": "Two-factor authentication code", "netrc": ".netrc authentication data", + "netrc-location": "Location of .netrc authentication data;", "video-password": "Video password (vimeo, youku)", - "ap-mso": "Adobe Pass multiple-system operator (TV provider) identifier, use --ap-list-mso for a list of available MSOs", + "ap-mso": "Adobe Pass multiple-system operator (TV", + "ap-list-mso": "all supported multiple-system", "ap-username": "Multiple-system operator account login", - "ap-password": "Multiple-system operator account password. If this option is left out, yt-dlp will ask interactively", - "ap-list-mso": "all supported multiple-system operators", - "extract-audio": "video files to audio-only files (requires ffmpeg and ffprobe)", - "audio-format": "Specify audio format to convert the audio to when -x is used. Currently supported formats are: best (default) or one", - "audio-quality": "Specify ffmpeg audio quality, insert a value between 0 (best) and 10 (worst) for VBR or a specific bitrate like 128K", - "recode-video": "Re-encode the video into another format if re-encoding is necessary. The syntax and supported formats are the same", - "postprocessor-args": "Give these arguments to the postprocessor", - "keep-video": "the intermediate video file on disk after post-processing", - "no-post-overwrites": "not overwrite post-processed files", - "embed-subs": "subtitles in the video (only for mp4, webm and mkv videos)", - "embed-thumbnail": "thumbnail in the video as cover art", - "add-metadata": "metadata to the video file", - "metadata-from-title": "Parse additional metadata like song title \/ artist from the video title. The format syntax is the same as --output.", - "xattrs": "metadata to the video file's xattrs (using dublin core and xdg standards)", - "fixup": "Automatically correct known faults of the file. One of never (do nothing), warn (only emit a warning),", - "prefer-avconv": "avconv over ffmpeg for running the postprocessors", - "prefer-ffmpeg": "ffmpeg over avconv for running the postprocessors (default)", - "ffmpeg-location": "Location of the ffmpeg binary; either the path to the binary or its containing directory", - "exec": "Execute a command on the file after downloading and post-processing, similar to find's -exec syntax. Example:", - "convert-subs": "Convert the subtitles to another format (currently supported: srt|vtt|ass|lrc) (Alias: --convert-subtitles)", - "no-abort-on-error": "with next video on download errors; e.g. to skip unavailable videos in a playlist (default)", - "no-config-locations": "not load any custom configuration files (default). When given inside a configuration file, ignore all previous", - "config-locations": "Location of the main configuration file; either the path to the config or its containing directory. Can be used", - "no-flat-playlist": "the videos of a playlist", - "live-from-start": "livestreams from the start. Currently only supported for YouTube (Experimental)", - "no-live-from-start": "livestreams from the current time (default)", - "wait-for-video": "Wait for scheduled streams to become available. Pass the minimum number of seconds (or range) to wait between retries", - "no-wait-for-video": "not wait for scheduled streams (default)", - "no-colors": "not emit color codes in output", - "compat-options": "Options that can help keep compatibility with ytdl or ytdl-dlc configurations by reverting some of the", - "no-match-filter": "not use generic video filter (default)", - "no-download-archive": "not use archive file (default)", - "break-on-existing": "the download process when encountering a file that is in the archive", - "break-on-reject": "the download process when encountering a file that has been filtered out", - "break-per-input": "--break-on-existing and --break-on-reject act only on the current input URL", - "no-break-per-input": "--break-on-existing and --break-on-reject terminates the entire download queue", - "skip-playlist-after-errors": "Number of allowed failures until the rest of the playlist is skipped", - "concurrent-fragments": "Number of fragments of a dash\/hlsnative video that should be downloaded concurrently (default is 1)", - "throttled-rate": "Minimum download rate in bytes per second below which throttling is assumed and the video data is re-extracted (e.g.", - "file-access-retries": "Number of times to retry on file access error (default is 3), or \"infinite\"", - "no-keep-fragments": "downloaded fragments after downloading is finished (default)", - "resize-buffer": "buffer size is automatically resized from an initial value of --buffer-size (default)", - "no-playlist-reverse": "playlist videos in default order (default)", - "no-hls-use-mpegts": "not use the mpegts container for HLS videos. This is default when not downloading live streams", - "no-batch-file": "not read URLs from batch file (default)", - "no-restrict-filenames": "Unicode characters, \"&\" and spaces in filenames (default)", - "windows-filenames": "filenames to be Windows-compatible", - "no-windows-filenames": "filenames Windows-compatible only if using Windows (default)", - "trim-filenames": "Limit the filename length (excluding extension) to the specified number of characters", - "force-overwrites": "all video and metadata files. This option includes --no-continue", - "no-force-overwrites": "not overwrite the video, but overwrite related files (default)", - "part": ".part files instead of writing directly into output file (default)", - "mtime": "the Last-modified header to set the file modification time (default)", - "no-write-description": "not write video description (default)", - "no-write-info-json": "not write video metadata (default)", - "write-playlist-metafiles": "playlist metadata in addition to the video metadata when using --write-info-json, --write-description etc.", - "no-write-playlist-metafiles": "not write playlist metadata when using --write-info-json, --write-description etc.", - "clean-info-json": "some private fields such as filenames from the infojson. Note that it could still contain some personal", - "no-clean-info-json": "all fields to the infojson", - "write-comments": "video comments to be placed in the infojson. The comments are fetched even without this option if the", - "no-write-comments": "not retrieve video comments unless the extraction is known to be quick (Alias: --no-get-comments)", - "no-cookies": "not read\/dump cookies from\/to file (default)", - "no-cookies-from-browser": "not load cookies from browser (default)", - "no-write-thumbnail": "not write thumbnail image to disk (default)", - "write-link": "an internet shortcut file, depending on the current platform (.url, .webloc or .desktop). The URL may be", - "write-url-link": "a .url Windows internet shortcut. The OS caches the URL based on the file path", - "write-webloc-link": "a .webloc macOS internet shortcut", - "write-desktop-link": "a .desktop Linux internet shortcut", - "no-simulate": "used). This option can be used multiple times", - "ignore-no-formats-error": "\"No video formats\" error. Useful for extracting metadata even if the videos are not actually available for", - "no-ignore-no-formats-error": "error when no downloadable video formats are found (default)", - "force-write-archive": "download archive entries to be written as far as no errors occur, even if -s or another simulation option is", - "progress": "progress bar, even if in quiet mode", - "legacy-server-connect": "allow HTTPS connection to servers that do not support RFC 5746 secure renegotiation", - "no-check-certificates": "HTTPS certificate validation", - "sleep-requests": "Number of seconds to sleep between requests during data extraction", - "sleep-subtitles": "Number of seconds to sleep before each subtitle download", - "format-sort": "Sort the formats by the fields given, see \"Sorting Formats\" for more details", - "format-sort-force": "user specified sort order to have precedence over all fields, see \"Sorting Formats\" for more details", - "no-format-sort-force": "fields have precedence over the user specified sort order (default), see \"Sorting Formats\" for more details", - "video-multistreams": "multiple video streams to be merged into a single file", - "no-video-multistreams": "one video stream is downloaded for each output file (default)", - "audio-multistreams": "multiple audio streams to be merged into a single file", - "no-audio-multistreams": "one audio stream is downloaded for each output file (default)", - "no-prefer-free-formats": "Don't give any special preference to free containers (default)", - "check-formats": "that the selected formats are actually downloadable", - "check-all-formats": "all formats for whether they are actually downloadable", - "no-check-formats": "not check that the formats are actually downloadable", - "write-subs": "subtitle file", - "no-write-subs": "not write subtitle file (default)", - "write-auto-subs": "automatically generated subtitle file (Alias: --write-automatic-subs)", - "no-write-auto-subs": "not write auto-generated subtitles (default) (Alias: --no-write-automatic-subs)", - "sub-langs": "Languages of the subtitles to download (can be regex) or \"all\" separated by commas. (Eg: --sub-langs \"en.*,ja\") You", - "netrc-location": "Location of .netrc authentication data; either the path or its containing directory. Defaults to ~\/.netrc", - "remux-video": "Remux the video into another container if necessary (currently supported:", - "no-keep-video": "the intermediate video file after post-processing (default)", + "ap-password": "Multiple-system operator account password.", + "client-certificate": "Path to client certificate file in PEM", + "client-certificate-key": "", + "client-certificate-password": "", + "extract-audio": "video files to audio-only files", + "audio-format": "Specify audio format to convert the audio", + "audio-quality": "Specify ffmpeg audio quality to use when", + "remux-video": "Remux the video into another container if", + "recode-video": "Re-encode the video into another format if", + "postprocessor-args": "Give these arguments to the postprocessors.", + "keep-video": "the intermediate video file on disk", + "no-keep-video": "the intermediate video file after", "post-overwrites": "post-processed files (default)", + "no-post-overwrites": "not overwrite post-processed files", + "embed-subs": "subtitles in the video (only for mp4,", "no-embed-subs": "not embed subtitles (default)", + "embed-thumbnail": "thumbnail in the video as cover art", "no-embed-thumbnail": "not embed thumbnail (default)", - "embed-metadata": "metadata to the video file. Also embeds chapters\/infojson if present unless --no-embed-chapters\/--no-embed-", - "no-embed-metadata": "not add metadata to file (default) (Alias: --no-add-metadata)", - "embed-chapters": "chapter markers to the video file (Alias: --add-chapters)", - "no-embed-chapters": "not add chapter markers (default) (Alias: --no-add-chapters)", - "embed-info-json": "the infojson as an attachment to mkv\/mka video files", - "no-embed-info-json": "not embed the infojson as an attachment to the video file", - "replace-in-metadata": "REGEX REPLACE Replace text in a metadata field using the given regex. This option can be used multiple times", - "concat-playlist": "Concatenate videos in a playlist. One of \"never\", \"always\", or \"multi_video\" (default; only when the videos form a", + "embed-metadata": "metadata to the video file. Also", + "no-embed-metadata": "not add metadata to file (default)", + "embed-chapters": "chapter markers to the video file", + "no-embed-chapters": "not add chapter markers (default)", + "embed-info-json": "the infojson as an attachment to", + "no-embed-info-json": "not embed the infojson as an attachment", + "parse-metadata": "Parse additional metadata like title\/artist", + "replace-in-metadata": "REGEX REPLACE", + "xattrs": "metadata to the video file's xattrs", + "concat-playlist": "Concatenate videos in a playlist. One of", + "fixup": "Automatically correct known faults of the", + "ffmpeg-location": "Location of the ffmpeg binary; either the", + "exec": "Execute a command, optionally prefixed with", "no-exec": "any previously defined --exec", - "convert-thumbnails": "Convert the thumbnails to another format (currently supported: jpg|png|webp)", - "split-chapters": "video into multiple files based on internal chapters. The \"chapter:\" prefix can be used with \"--paths\" and \"--", - "no-split-chapters": "not split video based on chapters (default)", - "remove-chapters": "Remove chapters whose title matches the given regular expression. Time ranges prefixed by a \"*\" can also be used in", - "no-remove-chapters": "not remove any chapters from the file (default)", - "force-keyframes-at-cuts": "keyframes around the chapters before removing\/splitting them. Requires a re-encode and thus is very slow, but", - "no-force-keyframes-at-cuts": "not force keyframes around the chapters when cutting\/splitting (default)", - "sponsorblock-mark": "SponsorBlock categories to create chapters for, separated by commas. Available categories are all, default(=all),", - "sponsorblock-remove": "SponsorBlock categories to be removed from the video file, separated by commas. If a category is present in both", - "sponsorblock-chapter-title": "The title template for SponsorBlock chapters created by --sponsorblock-mark. The same syntax as the output template", - "no-sponsorblock": "both --sponsorblock-mark and --sponsorblock-remove", - "sponsorblock-api": "SponsorBlock API location, defaults to https:\/\/sponsor.ajay.app", - "extractor-retries": "Number of retries for known extractor errors (default is 3), or \"infinite\"", - "allow-dynamic-mpd": "dynamic DASH manifests (default) (Alias: --no-ignore-dynamic-mpd)", - "ignore-dynamic-mpd": "not process dynamic DASH manifests (Alias: --no-allow-dynamic-mpd)", - "hls-split-discontinuity": "HLS playlists to different formats at discontinuities such as ad breaks", - "no-hls-split-discontinuity": "not split HLS playlists to different formats at discontinuities such as ad breaks (default)" + "convert-subs": "Convert the subtitles to another format", + "convert-thumbnails": "Convert the thumbnails to another format", + "split-chapters": "video into multiple files based on", + "no-split-chapters": "not split video based on chapters", + "remove-chapters": "Remove chapters whose title matches the", + "no-remove-chapters": "not remove any chapters from the file", + "force-keyframes-at-cuts": "keyframes around the chapters before", + "no-force-keyframes-at-cuts": "not force keyframes around the chapters", + "use-postprocessor": "The (case sensitive) name of plugin", + "sponsorblock-mark": "that", + "sponsorblock-remove": "SponsorBlock categories to be removed from", + "sponsorblock-chapter-title": "", + "no-sponsorblock": "both --sponsorblock-mark and", + "sponsorblock-api": "SponsorBlock API location, defaults to", + "extractor-retries": "Number of retries for known extractor", + "allow-dynamic-mpd": "dynamic DASH manifests (default)", + "ignore-dynamic-mpd": "not process dynamic DASH manifests", + "hls-split-discontinuity": "HLS playlists to different formats at", + "no-hls-split-discontinuity": "not split HLS playlists to different", + "extractor-args": "Pass these arguments to the extractor. See" } const names = Object.keys(options); export {