Files
ncdownloader/lib/Ytdl/Options.php
2023-05-07 13:21:35 +02:00

247 lines
16 KiB
PHP

<?php
namespace OCA\NCDownloader\Ytdl;
class Options
{
public static function get()
{
return array_keys(self::options());
}
public static function options()
{
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',
'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',
'wait-for-video' => 'wait for scheduled streams',
'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-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',
'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)',
'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',
'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',
'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',
'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.',
'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' => '',
'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',
'write-pages' => 'downloaded intermediary pages to',
'print-traffic' => 'sent and read HTTP traffic',
'encoding' => 'Force the specified encoding (experimental)',
'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',
'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',
'ap-list-mso' => 'all supported multiple-system',
'ap-username' => 'Multiple-system operator account login',
'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',
'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-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',
);
}
}