@ -121,19 +121,19 @@ def parseOpts(overrideArguments=None):
general . add_option (
general . add_option (
' -h ' , ' --help ' ,
' -h ' , ' --help ' ,
action = ' help ' ,
action = ' help ' ,
help = ' p rint this help text and exit' )
help = ' P rint this help text and exit' )
general . add_option (
general . add_option (
' -v ' , ' --version ' ,
' -v ' , ' --version ' ,
action = ' version ' ,
action = ' version ' ,
help = ' p rint program version and exit' )
help = ' P rint program version and exit' )
general . add_option (
general . add_option (
' -U ' , ' --update ' ,
' -U ' , ' --update ' ,
action = ' store_true ' , dest = ' update_self ' ,
action = ' store_true ' , dest = ' update_self ' ,
help = ' u pdate this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)' )
help = ' U pdate this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)' )
general . add_option (
general . add_option (
' -i ' , ' --ignore-errors ' ,
' -i ' , ' --ignore-errors ' ,
action = ' store_true ' , dest = ' ignoreerrors ' , default = False ,
action = ' store_true ' , dest = ' ignoreerrors ' , default = False ,
help = ' c ontinue on download errors, for example to skip unavailable videos in a playlist' )
help = ' C ontinue on download errors, for example to skip unavailable videos in a playlist' )
general . add_option (
general . add_option (
' --abort-on-error ' ,
' --abort-on-error ' ,
action = ' store_false ' , dest = ' ignoreerrors ' ,
action = ' store_false ' , dest = ' ignoreerrors ' ,
@ -141,7 +141,7 @@ def parseOpts(overrideArguments=None):
general . add_option (
general . add_option (
' --dump-user-agent ' ,
' --dump-user-agent ' ,
action = ' store_true ' , dest = ' dump_user_agent ' , default = False ,
action = ' store_true ' , dest = ' dump_user_agent ' , default = False ,
help = ' d isplay the current browser identification' )
help = ' D isplay the current browser identification' )
general . add_option (
general . add_option (
' --list-extractors ' ,
' --list-extractors ' ,
action = ' store_true ' , dest = ' list_extractors ' , default = False ,
action = ' store_true ' , dest = ' list_extractors ' , default = False ,
@ -153,7 +153,7 @@ def parseOpts(overrideArguments=None):
general . add_option (
general . add_option (
' --default-search ' ,
' --default-search ' ,
dest = ' default_search ' , metavar = ' PREFIX ' ,
dest = ' default_search ' , metavar = ' PREFIX ' ,
help = ' Use this prefix for unqualified URLs. For example " gvsearch2: " downloads two videos from google videos for youtube-dl " large apple " . Use the value " auto " to let youtube-dl guess ( " auto_warning " to emit a warning when guessing). " error " just throws an error. The default value " fixup_error " repairs broken URLs, but emits an error if this is not possible instead of searching. ' )
help = ' Use this prefix for unqualified URLs. For example " gvsearch2: " downloads two videos from google videos for youtube-dl " large apple " . Use the value " auto " to let youtube-dl guess ( " auto_warning " to emit a warning when guessing). " error " just throws an error. The default value " fixup_error " repairs broken URLs, but emits an error if this is not possible instead of searching. ' )
general . add_option (
general . add_option (
' --ignore-config ' ,
' --ignore-config ' ,
action = ' store_true ' ,
action = ' store_true ' ,
@ -170,7 +170,7 @@ def parseOpts(overrideArguments=None):
' --no-color ' , ' --no-colors ' ,
' --no-color ' , ' --no-colors ' ,
action = ' store_true ' , dest = ' no_color ' ,
action = ' store_true ' , dest = ' no_color ' ,
default = False ,
default = False ,
help = ' Do not emit color codes in output. ' )
help = ' Do not emit color codes in output ' )
network = optparse . OptionGroup ( parser , ' Network Options ' )
network = optparse . OptionGroup ( parser , ' Network Options ' )
network . add_option (
network . add_option (
@ -207,23 +207,23 @@ def parseOpts(overrideArguments=None):
selection . add_option (
selection . add_option (
' --playlist-start ' ,
' --playlist-start ' ,
dest = ' playliststart ' , metavar = ' NUMBER ' , default = 1 , type = int ,
dest = ' playliststart ' , metavar = ' NUMBER ' , default = 1 , type = int ,
help = ' p laylist video to start at (default is %d efault) ' )
help = ' P laylist video to start at (default is %d efault) ' )
selection . add_option (
selection . add_option (
' --playlist-end ' ,
' --playlist-end ' ,
dest = ' playlistend ' , metavar = ' NUMBER ' , default = None , type = int ,
dest = ' playlistend ' , metavar = ' NUMBER ' , default = None , type = int ,
help = ' p laylist video to end at (default is last)' )
help = ' P laylist video to end at (default is last)' )
selection . add_option (
selection . add_option (
' --playlist-items ' ,
' --playlist-items ' ,
dest = ' playlist_items ' , metavar = ' ITEM_SPEC ' , default = None ,
dest = ' playlist_items ' , metavar = ' ITEM_SPEC ' , default = None ,
help = ' p laylist video items to download. Specify indices of the videos in the playlist seperated by commas like: " --playlist-items 1,2,5,8 " if you want to download videos indexed 1, 2, 5, 8 in the playlist. You can specify range: " --playlist-items 1-3,7,10-13 " , it will download the videos at index 1, 2, 3, 7, 10, 11, 12 and 13. ' )
help = ' P laylist video items to download. Specify indices of the videos in the playlist seperated by commas like: " --playlist-items 1,2,5,8 " if you want to download videos indexed 1, 2, 5, 8 in the playlist. You can specify range: " --playlist-items 1-3,7,10-13 " , it will download the videos at index 1, 2, 3, 7, 10, 11, 12 and 13. ' )
selection . add_option (
selection . add_option (
' --match-title ' ,
' --match-title ' ,
dest = ' matchtitle ' , metavar = ' REGEX ' ,
dest = ' matchtitle ' , metavar = ' REGEX ' ,
help = ' d ownload only matching titles (regex or caseless sub-string)' )
help = ' D ownload only matching titles (regex or caseless sub-string)' )
selection . add_option (
selection . add_option (
' --reject-title ' ,
' --reject-title ' ,
dest = ' rejecttitle ' , metavar = ' REGEX ' ,
dest = ' rejecttitle ' , metavar = ' REGEX ' ,
help = ' s kip download for matching titles (regex or caseless sub-string)' )
help = ' S kip download for matching titles (regex or caseless sub-string)' )
selection . add_option (
selection . add_option (
' --max-downloads ' ,
' --max-downloads ' ,
dest = ' max_downloads ' , metavar = ' NUMBER ' , type = int , default = None ,
dest = ' max_downloads ' , metavar = ' NUMBER ' , type = int , default = None ,
@ -239,19 +239,19 @@ def parseOpts(overrideArguments=None):
selection . add_option (
selection . add_option (
' --date ' ,
' --date ' ,
metavar = ' DATE ' , dest = ' date ' , default = None ,
metavar = ' DATE ' , dest = ' date ' , default = None ,
help = ' d ownload only videos uploaded in this date' )
help = ' D ownload only videos uploaded in this date' )
selection . add_option (
selection . add_option (
' --datebefore ' ,
' --datebefore ' ,
metavar = ' DATE ' , dest = ' datebefore ' , default = None ,
metavar = ' DATE ' , dest = ' datebefore ' , default = None ,
help = ' d ownload only videos uploaded on or before this date (i.e. inclusive)' )
help = ' D ownload only videos uploaded on or before this date (i.e. inclusive)' )
selection . add_option (
selection . add_option (
' --dateafter ' ,
' --dateafter ' ,
metavar = ' DATE ' , dest = ' dateafter ' , default = None ,
metavar = ' DATE ' , dest = ' dateafter ' , default = None ,
help = ' d ownload only videos uploaded on or after this date (i.e. inclusive)' )
help = ' D ownload only videos uploaded on or after this date (i.e. inclusive)' )
selection . add_option (
selection . add_option (
' --min-views ' ,
' --min-views ' ,
metavar = ' COUNT ' , dest = ' min_views ' , default = None , type = int ,
metavar = ' COUNT ' , dest = ' min_views ' , default = None , type = int ,
help = ' Do not download any videos with less than COUNT views ' , )
help = ' Do not download any videos with less than COUNT views ' )
selection . add_option (
selection . add_option (
' --max-views ' ,
' --max-views ' ,
metavar = ' COUNT ' , dest = ' max_views ' , default = None , type = int ,
metavar = ' COUNT ' , dest = ' max_views ' , default = None , type = int ,
@ -260,7 +260,7 @@ def parseOpts(overrideArguments=None):
' --match-filter ' ,
' --match-filter ' ,
metavar = ' FILTER ' , dest = ' match_filter ' , default = None ,
metavar = ' FILTER ' , dest = ' match_filter ' , default = None ,
help = (
help = (
' (Experimental) Generic video filter. '
' Generic video filter (experimental) . '
' Specify any key (see help for -o for a list of available keys) to '
' Specify any key (see help for -o for a list of available keys) to '
' match if the key is present, '
' match if the key is present, '
' !key to check if the key is not present, '
' !key to check if the key is not present, '
@ -278,15 +278,15 @@ def parseOpts(overrideArguments=None):
selection . add_option (
selection . add_option (
' --no-playlist ' ,
' --no-playlist ' ,
action = ' store_true ' , dest = ' noplaylist ' , default = False ,
action = ' store_true ' , dest = ' noplaylist ' , default = False ,
help = ' If the URL refers to a video and a playlist, download only the video .' )
help = ' Download only the video, if the URL refers to a video and a playlist .' )
selection . add_option (
selection . add_option (
' --yes-playlist ' ,
' --yes-playlist ' ,
action = ' store_false ' , dest = ' noplaylist ' , default = False ,
action = ' store_false ' , dest = ' noplaylist ' , default = False ,
help = ' If the URL refers to a video and a playlist, download the playlist.' )
help = ' Download the playlist, if the URL refers to a video and a playlist.' )
selection . add_option (
selection . add_option (
' --age-limit ' ,
' --age-limit ' ,
metavar = ' YEARS ' , dest = ' age_limit ' , default = None , type = int ,
metavar = ' YEARS ' , dest = ' age_limit ' , default = None , type = int ,
help = ' d ownload only videos suitable for the given age' )
help = ' D ownload only videos suitable for the given age' )
selection . add_option (
selection . add_option (
' --download-archive ' , metavar = ' FILE ' ,
' --download-archive ' , metavar = ' FILE ' ,
dest = ' download_archive ' ,
dest = ' download_archive ' ,
@ -300,30 +300,30 @@ def parseOpts(overrideArguments=None):
authentication . add_option (
authentication . add_option (
' -u ' , ' --username ' ,
' -u ' , ' --username ' ,
dest = ' username ' , metavar = ' USERNAME ' ,
dest = ' username ' , metavar = ' USERNAME ' ,
help = ' l ogin with this account ID' )
help = ' L ogin with this account ID' )
authentication . add_option (
authentication . add_option (
' -p ' , ' --password ' ,
' -p ' , ' --password ' ,
dest = ' password ' , metavar = ' PASSWORD ' ,
dest = ' password ' , metavar = ' PASSWORD ' ,
help = ' a ccount password. If this option is left out, youtube-dl will ask interactively.' )
help = ' A ccount password. If this option is left out, youtube-dl will ask interactively.' )
authentication . add_option (
authentication . add_option (
' -2 ' , ' --twofactor ' ,
' -2 ' , ' --twofactor ' ,
dest = ' twofactor ' , metavar = ' TWOFACTOR ' ,
dest = ' twofactor ' , metavar = ' TWOFACTOR ' ,
help = ' t wo-factor auth code' )
help = ' T wo-factor auth code' )
authentication . add_option (
authentication . add_option (
' -n ' , ' --netrc ' ,
' -n ' , ' --netrc ' ,
action = ' store_true ' , dest = ' usenetrc ' , default = False ,
action = ' store_true ' , dest = ' usenetrc ' , default = False ,
help = ' u se .netrc authentication data' )
help = ' U se .netrc authentication data' )
authentication . add_option (
authentication . add_option (
' --video-password ' ,
' --video-password ' ,
dest = ' videopassword ' , metavar = ' PASSWORD ' ,
dest = ' videopassword ' , metavar = ' PASSWORD ' ,
help = ' v ideo password (vimeo, smotri)' )
help = ' V ideo password (vimeo, smotri)' )
video_format = optparse . OptionGroup ( parser , ' Video Format Options ' )
video_format = optparse . OptionGroup ( parser , ' Video Format Options ' )
video_format . add_option (
video_format . add_option (
' -f ' , ' --format ' ,
' -f ' , ' --format ' ,
action = ' store ' , dest = ' format ' , metavar = ' FORMAT ' , default = None ,
action = ' store ' , dest = ' format ' , metavar = ' FORMAT ' , default = None ,
help = (
help = (
' v ideo format code, specify the order of preference using'
' V ideo format code, specify the order of preference using'
' slashes, as in -f 22/17/18 . '
' slashes, as in -f 22/17/18 . '
' Instead of format codes, you can select by extension for the '
' Instead of format codes, you can select by extension for the '
' extensions aac, m4a, mp3, mp4, ogg, wav, webm. '
' extensions aac, m4a, mp3, mp4, ogg, wav, webm. '
@ -351,19 +351,19 @@ def parseOpts(overrideArguments=None):
video_format . add_option (
video_format . add_option (
' --all-formats ' ,
' --all-formats ' ,
action = ' store_const ' , dest = ' format ' , const = ' all ' ,
action = ' store_const ' , dest = ' format ' , const = ' all ' ,
help = ' d ownload all available video formats' )
help = ' D ownload all available video formats' )
video_format . add_option (
video_format . add_option (
' --prefer-free-formats ' ,
' --prefer-free-formats ' ,
action = ' store_true ' , dest = ' prefer_free_formats ' , default = False ,
action = ' store_true ' , dest = ' prefer_free_formats ' , default = False ,
help = ' p refer free video formats unless a specific one is requested' )
help = ' P refer free video formats unless a specific one is requested' )
video_format . add_option (
video_format . add_option (
' --max-quality ' ,
' --max-quality ' ,
action = ' store ' , dest = ' format_limit ' , metavar = ' FORMAT ' ,
action = ' store ' , dest = ' format_limit ' , metavar = ' FORMAT ' ,
help = ' highest quality format to download ' )
help = ' Specify highest quality format to download' )
video_format . add_option (
video_format . add_option (
' -F ' , ' --list-formats ' ,
' -F ' , ' --list-formats ' ,
action = ' store_true ' , dest = ' listformats ' ,
action = ' store_true ' , dest = ' listformats ' ,
help = ' l ist all available formats' )
help = ' L ist all available formats' )
video_format . add_option (
video_format . add_option (
' --youtube-include-dash-manifest ' ,
' --youtube-include-dash-manifest ' ,
action = ' store_true ' , dest = ' youtube_include_dash_manifest ' , default = True ,
action = ' store_true ' , dest = ' youtube_include_dash_manifest ' , default = True ,
@ -383,46 +383,46 @@ def parseOpts(overrideArguments=None):
subtitles . add_option (
subtitles . add_option (
' --write-sub ' , ' --write-srt ' ,
' --write-sub ' , ' --write-srt ' ,
action = ' store_true ' , dest = ' writesubtitles ' , default = False ,
action = ' store_true ' , dest = ' writesubtitles ' , default = False ,
help = ' w rite subtitle file' )
help = ' W rite subtitle file' )
subtitles . add_option (
subtitles . add_option (
' --write-auto-sub ' , ' --write-automatic-sub ' ,
' --write-auto-sub ' , ' --write-automatic-sub ' ,
action = ' store_true ' , dest = ' writeautomaticsub ' , default = False ,
action = ' store_true ' , dest = ' writeautomaticsub ' , default = False ,
help = ' write automatic subtitle file (yout ube only)' )
help = ' Write automatic subtitle file (YouT ube only)' )
subtitles . add_option (
subtitles . add_option (
' --all-subs ' ,
' --all-subs ' ,
action = ' store_true ' , dest = ' allsubtitles ' , default = False ,
action = ' store_true ' , dest = ' allsubtitles ' , default = False ,
help = ' downloads all the available subtitles of the video' )
help = ' Download all the available subtitles of the video' )
subtitles . add_option (
subtitles . add_option (
' --list-subs ' ,
' --list-subs ' ,
action = ' store_true ' , dest = ' listsubtitles ' , default = False ,
action = ' store_true ' , dest = ' listsubtitles ' , default = False ,
help = ' lists all available subtitles for the video' )
help = ' List all available subtitles for the video' )
subtitles . add_option (
subtitles . add_option (
' --sub-format ' ,
' --sub-format ' ,
action = ' store ' , dest = ' subtitlesformat ' , metavar = ' FORMAT ' , default = ' best ' ,
action = ' store ' , dest = ' subtitlesformat ' , metavar = ' FORMAT ' , default = ' best ' ,
help = ' subtitle format, accepts formats preference, for example: " ass/srt/best " ' )
help = ' Specify subtitle format preference, for example: " srt " or " ass/srt/best " ' )
subtitles . add_option (
subtitles . add_option (
' --sub-lang ' , ' --sub-langs ' , ' --srt-lang ' ,
' --sub-lang ' , ' --sub-langs ' , ' --srt-lang ' ,
action = ' callback ' , dest = ' subtitleslangs ' , metavar = ' LANGS ' , type = ' str ' ,
action = ' callback ' , dest = ' subtitleslangs ' , metavar = ' LANGS ' , type = ' str ' ,
default = [ ] , callback = _comma_separated_values_options_callback ,
default = [ ] , callback = _comma_separated_values_options_callback ,
help = ' l anguages of the subtitles to download (optional) separated by commas, use IETF language tags like \' en,pt \' ' )
help = ' L anguages of the subtitles to download (optional) separated by commas, use IETF language tags like \' en,pt \' ' )
downloader = optparse . OptionGroup ( parser , ' Download Options ' )
downloader = optparse . OptionGroup ( parser , ' Download Options ' )
downloader . add_option (
downloader . add_option (
' -r ' , ' --rate-limit ' ,
' -r ' , ' --rate-limit ' ,
dest = ' ratelimit ' , metavar = ' LIMIT ' ,
dest = ' ratelimit ' , metavar = ' LIMIT ' ,
help = ' m aximum download rate in bytes per second (e.g. 50K or 4.2M)' )
help = ' M aximum download rate in bytes per second (e.g. 50K or 4.2M)' )
downloader . add_option (
downloader . add_option (
' -R ' , ' --retries ' ,
' -R ' , ' --retries ' ,
dest = ' retries ' , metavar = ' RETRIES ' , default = 10 ,
dest = ' retries ' , metavar = ' RETRIES ' , default = 10 ,
help = ' n umber of retries (default is %d efault), or " infinite " . ' )
help = ' N umber of retries (default is %d efault), or " infinite " . ' )
downloader . add_option (
downloader . add_option (
' --buffer-size ' ,
' --buffer-size ' ,
dest = ' buffersize ' , metavar = ' SIZE ' , default = ' 1024 ' ,
dest = ' buffersize ' , metavar = ' SIZE ' , default = ' 1024 ' ,
help = ' s ize of download buffer (e.g. 1024 or 16K) (default is %d efault) ' )
help = ' S ize of download buffer (e.g. 1024 or 16K) (default is %d efault) ' )
downloader . add_option (
downloader . add_option (
' --no-resize-buffer ' ,
' --no-resize-buffer ' ,
action = ' store_true ' , dest = ' noresizebuffer ' , default = False ,
action = ' store_true ' , dest = ' noresizebuffer ' , default = False ,
help = ' d o not automatically adjust the buffer size. By default, the buffer size is automatically resized from an initial value of SIZE.' )
help = ' D o not automatically adjust the buffer size. By default, the buffer size is automatically resized from an initial value of SIZE.' )
downloader . add_option (
downloader . add_option (
' --test ' ,
' --test ' ,
action = ' store_true ' , dest = ' test ' , default = False ,
action = ' store_true ' , dest = ' test ' , default = False ,
@ -434,11 +434,11 @@ def parseOpts(overrideArguments=None):
downloader . add_option (
downloader . add_option (
' --xattr-set-filesize ' ,
' --xattr-set-filesize ' ,
dest = ' xattr_set_filesize ' , action = ' store_true ' ,
dest = ' xattr_set_filesize ' , action = ' store_true ' ,
help = ' (experimental) s et file xattribute ytdl.filesize with expected filesize' )
help = ' S et file xattribute ytdl.filesize with expected filesize (experimental) ' )
downloader . add_option (
downloader . add_option (
' --hls-prefer-native ' ,
' --hls-prefer-native ' ,
dest = ' hls_prefer_native ' , action = ' store_true ' ,
dest = ' hls_prefer_native ' , action = ' store_true ' ,
help = ' (experimental) Use the native HLS downloader instead of ffmpeg. ' )
help = ' Use the native HLS downloader instead of ffmpeg (experimental) ' )
downloader . add_option (
downloader . add_option (
' --external-downloader ' ,
' --external-downloader ' ,
dest = ' external_downloader ' , metavar = ' COMMAND ' ,
dest = ' external_downloader ' , metavar = ' COMMAND ' ,
@ -447,7 +447,7 @@ def parseOpts(overrideArguments=None):
downloader . add_option (
downloader . add_option (
' --external-downloader-args ' ,
' --external-downloader-args ' ,
dest = ' external_downloader_args ' , metavar = ' ARGS ' ,
dest = ' external_downloader_args ' , metavar = ' ARGS ' ,
help = ' Give these arguments to the external downloader. ' )
help = ' Give these arguments to the external downloader ' )
workarounds = optparse . OptionGroup ( parser , ' Workarounds ' )
workarounds = optparse . OptionGroup ( parser , ' Workarounds ' )
workarounds . add_option (
workarounds . add_option (
@ -457,7 +457,7 @@ def parseOpts(overrideArguments=None):
workarounds . add_option (
workarounds . add_option (
' --no-check-certificate ' ,
' --no-check-certificate ' ,
action = ' store_true ' , dest = ' no_check_certificate ' , default = False ,
action = ' store_true ' , dest = ' no_check_certificate ' , default = False ,
help = ' Suppress HTTPS certificate validation. ' )
help = ' Suppress HTTPS certificate validation ' )
workarounds . add_option (
workarounds . add_option (
' --prefer-insecure ' ,
' --prefer-insecure ' ,
' --prefer-unsecure ' , action = ' store_true ' , dest = ' prefer_insecure ' ,
' --prefer-unsecure ' , action = ' store_true ' , dest = ' prefer_insecure ' ,
@ -465,16 +465,16 @@ def parseOpts(overrideArguments=None):
workarounds . add_option (
workarounds . add_option (
' --user-agent ' ,
' --user-agent ' ,
metavar = ' UA ' , dest = ' user_agent ' ,
metavar = ' UA ' , dest = ' user_agent ' ,
help = ' s pecify a custom user agent' )
help = ' S pecify a custom user agent' )
workarounds . add_option (
workarounds . add_option (
' --referer ' ,
' --referer ' ,
metavar = ' URL ' , dest = ' referer ' , default = None ,
metavar = ' URL ' , dest = ' referer ' , default = None ,
help = ' s pecify a custom referer, use if the video access is restricted to one domain' ,
help = ' S pecify a custom referer, use if the video access is restricted to one domain' ,
)
)
workarounds . add_option (
workarounds . add_option (
' --add-header ' ,
' --add-header ' ,
metavar = ' FIELD:VALUE ' , dest = ' headers ' , action = ' append ' ,
metavar = ' FIELD:VALUE ' , dest = ' headers ' , action = ' append ' ,
help = ' s pecify a custom HTTP header and its value, separated by a colon \' : \' . You can use this option multiple times ' ,
help = ' S pecify a custom HTTP header and its value, separated by a colon \' : \' . You can use this option multiple times ' ,
)
)
workarounds . add_option (
workarounds . add_option (
' --bidi-workaround ' ,
' --bidi-workaround ' ,
@ -489,7 +489,7 @@ def parseOpts(overrideArguments=None):
verbosity . add_option (
verbosity . add_option (
' -q ' , ' --quiet ' ,
' -q ' , ' --quiet ' ,
action = ' store_true ' , dest = ' quiet ' , default = False ,
action = ' store_true ' , dest = ' quiet ' , default = False ,
help = ' activates quiet mode' )
help = ' Activate quiet mode' )
verbosity . add_option (
verbosity . add_option (
' --no-warnings ' ,
' --no-warnings ' ,
dest = ' no_warnings ' , action = ' store_true ' , default = False ,
dest = ' no_warnings ' , action = ' store_true ' , default = False ,
@ -497,51 +497,51 @@ def parseOpts(overrideArguments=None):
verbosity . add_option (
verbosity . add_option (
' -s ' , ' --simulate ' ,
' -s ' , ' --simulate ' ,
action = ' store_true ' , dest = ' simulate ' , default = False ,
action = ' store_true ' , dest = ' simulate ' , default = False ,
help = ' d o not download the video and do not write anything to disk' , )
help = ' D o not download the video and do not write anything to disk' )
verbosity . add_option (
verbosity . add_option (
' --skip-download ' ,
' --skip-download ' ,
action = ' store_true ' , dest = ' skip_download ' , default = False ,
action = ' store_true ' , dest = ' skip_download ' , default = False ,
help = ' d o not download the video' , )
help = ' D o not download the video' )
verbosity . add_option (
verbosity . add_option (
' -g ' , ' --get-url ' ,
' -g ' , ' --get-url ' ,
action = ' store_true ' , dest = ' geturl ' , default = False ,
action = ' store_true ' , dest = ' geturl ' , default = False ,
help = ' s imulate, quiet but print URL' )
help = ' S imulate, quiet but print URL' )
verbosity . add_option (
verbosity . add_option (
' -e ' , ' --get-title ' ,
' -e ' , ' --get-title ' ,
action = ' store_true ' , dest = ' gettitle ' , default = False ,
action = ' store_true ' , dest = ' gettitle ' , default = False ,
help = ' s imulate, quiet but print title' )
help = ' S imulate, quiet but print title' )
verbosity . add_option (
verbosity . add_option (
' --get-id ' ,
' --get-id ' ,
action = ' store_true ' , dest = ' getid ' , default = False ,
action = ' store_true ' , dest = ' getid ' , default = False ,
help = ' s imulate, quiet but print id' )
help = ' S imulate, quiet but print id' )
verbosity . add_option (
verbosity . add_option (
' --get-thumbnail ' ,
' --get-thumbnail ' ,
action = ' store_true ' , dest = ' getthumbnail ' , default = False ,
action = ' store_true ' , dest = ' getthumbnail ' , default = False ,
help = ' s imulate, quiet but print thumbnail URL' )
help = ' S imulate, quiet but print thumbnail URL' )
verbosity . add_option (
verbosity . add_option (
' --get-description ' ,
' --get-description ' ,
action = ' store_true ' , dest = ' getdescription ' , default = False ,
action = ' store_true ' , dest = ' getdescription ' , default = False ,
help = ' s imulate, quiet but print video description' )
help = ' S imulate, quiet but print video description' )
verbosity . add_option (
verbosity . add_option (
' --get-duration ' ,
' --get-duration ' ,
action = ' store_true ' , dest = ' getduration ' , default = False ,
action = ' store_true ' , dest = ' getduration ' , default = False ,
help = ' s imulate, quiet but print video length' )
help = ' S imulate, quiet but print video length' )
verbosity . add_option (
verbosity . add_option (
' --get-filename ' ,
' --get-filename ' ,
action = ' store_true ' , dest = ' getfilename ' , default = False ,
action = ' store_true ' , dest = ' getfilename ' , default = False ,
help = ' s imulate, quiet but print output filename' )
help = ' S imulate, quiet but print output filename' )
verbosity . add_option (
verbosity . add_option (
' --get-format ' ,
' --get-format ' ,
action = ' store_true ' , dest = ' getformat ' , default = False ,
action = ' store_true ' , dest = ' getformat ' , default = False ,
help = ' s imulate, quiet but print output format' )
help = ' S imulate, quiet but print output format' )
verbosity . add_option (
verbosity . add_option (
' -j ' , ' --dump-json ' ,
' -j ' , ' --dump-json ' ,
action = ' store_true ' , dest = ' dumpjson ' , default = False ,
action = ' store_true ' , dest = ' dumpjson ' , default = False ,
help = ' s imulate, quiet but print JSON information. See --output for a description of available keys.' )
help = ' S imulate, quiet but print JSON information. See --output for a description of available keys.' )
verbosity . add_option (
verbosity . add_option (
' -J ' , ' --dump-single-json ' ,
' -J ' , ' --dump-single-json ' ,
action = ' store_true ' , dest = ' dump_single_json ' , default = False ,
action = ' store_true ' , dest = ' dump_single_json ' , default = False ,
help = ' s imulate, quiet but print JSON information for each command-line argument. If the URL refers to a playlist, dump the whole playlist information in a single line.' )
help = ' S imulate, quiet but print JSON information for each command-line argument. If the URL refers to a playlist, dump the whole playlist information in a single line.' )
verbosity . add_option (
verbosity . add_option (
' --print-json ' ,
' --print-json ' ,
action = ' store_true ' , dest = ' print_json ' , default = False ,
action = ' store_true ' , dest = ' print_json ' , default = False ,
@ -550,23 +550,23 @@ def parseOpts(overrideArguments=None):
verbosity . add_option (
verbosity . add_option (
' --newline ' ,
' --newline ' ,
action = ' store_true ' , dest = ' progress_with_newline ' , default = False ,
action = ' store_true ' , dest = ' progress_with_newline ' , default = False ,
help = ' o utput progress bar as new lines' )
help = ' O utput progress bar as new lines' )
verbosity . add_option (
verbosity . add_option (
' --no-progress ' ,
' --no-progress ' ,
action = ' store_true ' , dest = ' noprogress ' , default = False ,
action = ' store_true ' , dest = ' noprogress ' , default = False ,
help = ' d o not print progress bar' )
help = ' D o not print progress bar' )
verbosity . add_option (
verbosity . add_option (
' --console-title ' ,
' --console-title ' ,
action = ' store_true ' , dest = ' consoletitle ' , default = False ,
action = ' store_true ' , dest = ' consoletitle ' , default = False ,
help = ' d isplay progress in console titlebar' )
help = ' D isplay progress in console titlebar' )
verbosity . add_option (
verbosity . add_option (
' -v ' , ' --verbose ' ,
' -v ' , ' --verbose ' ,
action = ' store_true ' , dest = ' verbose ' , default = False ,
action = ' store_true ' , dest = ' verbose ' , default = False ,
help = ' p rint various debugging information' )
help = ' P rint various debugging information' )
verbosity . add_option (
verbosity . add_option (
' --dump-pages ' , ' --dump-intermediate-pages ' ,
' --dump-pages ' , ' --dump-intermediate-pages ' ,
action = ' store_true ' , dest = ' dump_intermediate_pages ' , default = False ,
action = ' store_true ' , dest = ' dump_intermediate_pages ' , default = False ,
help = ' p rint downloaded pages to debug problems (very verbose)' )
help = ' P rint downloaded pages to debug problems (very verbose)' )
verbosity . add_option (
verbosity . add_option (
' --write-pages ' ,
' --write-pages ' ,
action = ' store_true ' , dest = ' write_pages ' , default = False ,
action = ' store_true ' , dest = ' write_pages ' , default = False ,
@ -582,31 +582,31 @@ def parseOpts(overrideArguments=None):
verbosity . add_option (
verbosity . add_option (
' -C ' , ' --call-home ' ,
' -C ' , ' --call-home ' ,
dest = ' call_home ' , action = ' store_true ' , default = False ,
dest = ' call_home ' , action = ' store_true ' , default = False ,
help = ' Contact the youtube-dl server for debugging. ' )
help = ' Contact the youtube-dl server for debugging ' )
verbosity . add_option (
verbosity . add_option (
' --no-call-home ' ,
' --no-call-home ' ,
dest = ' call_home ' , action = ' store_false ' , default = False ,
dest = ' call_home ' , action = ' store_false ' , default = False ,
help = ' Do NOT contact the youtube-dl server for debugging. ' )
help = ' Do NOT contact the youtube-dl server for debugging ' )
filesystem = optparse . OptionGroup ( parser , ' Filesystem Options ' )
filesystem = optparse . OptionGroup ( parser , ' Filesystem Options ' )
filesystem . add_option (
filesystem . add_option (
' -a ' , ' --batch-file ' ,
' -a ' , ' --batch-file ' ,
dest = ' batchfile ' , metavar = ' FILE ' ,
dest = ' batchfile ' , metavar = ' FILE ' ,
help = ' f ile containing URLs to download (\' - \' for stdin) ' )
help = ' F ile containing URLs to download (\' - \' for stdin) ' )
filesystem . add_option (
filesystem . add_option (
' --id ' , default = False ,
' --id ' , default = False ,
action = ' store_true ' , dest = ' useid ' , help = ' u se only video ID in file name' )
action = ' store_true ' , dest = ' useid ' , help = ' U se only video ID in file name' )
filesystem . add_option (
filesystem . add_option (
' -o ' , ' --output ' ,
' -o ' , ' --output ' ,
dest = ' outtmpl ' , metavar = ' TEMPLATE ' ,
dest = ' outtmpl ' , metavar = ' TEMPLATE ' ,
help = ( ' o utput filename template. Use %(title)s to get the title, '
help = ( ' O utput filename template. Use %(title)s to get the title, '
' %(uploader)s for the uploader name, %(uploader_id)s for the uploader nickname if different, '
' %(uploader)s for the uploader name, %(uploader_id)s for the uploader nickname if different, '
' %(autonumber)s to get an automatically incremented number, '
' %(autonumber)s to get an automatically incremented number, '
' %(ext)s for the filename extension, '
' %(ext)s for the filename extension, '
' %(format)s for the format description (like " 22 - 1280x720 " or " HD " ), '
' %(format)s for the format description (like " 22 - 1280x720 " or " HD " ), '
' %(format_id)s for the unique id of the format (like Yout ube \' s itags: " 137 " ), '
' %(format_id)s for the unique id of the format (like YouT ube \' s itags: " 137 " ), '
' %(upload_date)s for the upload date (YYYYMMDD), '
' %(upload_date)s for the upload date (YYYYMMDD), '
' %(extractor)s for the provider (yout ube, metacafe, etc), '
' %(extractor)s for the provider (YouT ube, metacafe, etc), '
' %(id)s for the video id, '
' %(id)s for the video id, '
' %(playlist_title)s , %(playlist_id)s , or %(playlist)s (=title if present, ID otherwise) for the playlist the video is in, '
' %(playlist_title)s , %(playlist_id)s , or %(playlist)s (=title if present, ID otherwise) for the playlist the video is in, '
' %(playlist_index)s for the position in the playlist. '
' %(playlist_index)s for the position in the playlist. '
@ -618,7 +618,7 @@ def parseOpts(overrideArguments=None):
filesystem . add_option (
filesystem . add_option (
' --autonumber-size ' ,
' --autonumber-size ' ,
dest = ' autonumber_size ' , metavar = ' NUMBER ' ,
dest = ' autonumber_size ' , metavar = ' NUMBER ' ,
help = ' Specifies the number of digits in %(autonumber)s when it is present in output filename template or --auto-number option is given ' )
help = ' Specify the number of digits in %(autonumber)s when it is present in output filename template or --auto-number option is given ' )
filesystem . add_option (
filesystem . add_option (
' --restrict-filenames ' ,
' --restrict-filenames ' ,
action = ' store_true ' , dest = ' restrictfilenames ' , default = False ,
action = ' store_true ' , dest = ' restrictfilenames ' , default = False ,
@ -626,55 +626,55 @@ def parseOpts(overrideArguments=None):
filesystem . add_option (
filesystem . add_option (
' -A ' , ' --auto-number ' ,
' -A ' , ' --auto-number ' ,
action = ' store_true ' , dest = ' autonumber ' , default = False ,
action = ' store_true ' , dest = ' autonumber ' , default = False ,
help = ' [deprecated; use -o " %(autonumber)s - %(title)s . %(ext)s " ] number downloaded files starting from 00000 ' )
help = ' [deprecated; use -o " %(autonumber)s - %(title)s . %(ext)s " ] Number of downloaded files starting from 00000 ' )
filesystem . add_option (
filesystem . add_option (
' -t ' , ' --title ' ,
' -t ' , ' --title ' ,
action = ' store_true ' , dest = ' usetitle ' , default = False ,
action = ' store_true ' , dest = ' usetitle ' , default = False ,
help = ' [deprecated] u se title in file name (default) ' )
help = ' [deprecated] U se title in file name (default) ' )
filesystem . add_option (
filesystem . add_option (
' -l ' , ' --literal ' , default = False ,
' -l ' , ' --literal ' , default = False ,
action = ' store_true ' , dest = ' usetitle ' ,
action = ' store_true ' , dest = ' usetitle ' ,
help = ' [deprecated] a lias of --title ' )
help = ' [deprecated] A lias of --title ' )
filesystem . add_option (
filesystem . add_option (
' -w ' , ' --no-overwrites ' ,
' -w ' , ' --no-overwrites ' ,
action = ' store_true ' , dest = ' nooverwrites ' , default = False ,
action = ' store_true ' , dest = ' nooverwrites ' , default = False ,
help = ' d o not overwrite files' )
help = ' D o not overwrite files' )
filesystem . add_option (
filesystem . add_option (
' -c ' , ' --continue ' ,
' -c ' , ' --continue ' ,
action = ' store_true ' , dest = ' continue_dl ' , default = True ,
action = ' store_true ' , dest = ' continue_dl ' , default = True ,
help = ' f orce resume of partially downloaded files. By default, youtube-dl will resume downloads if possible.' )
help = ' F orce resume of partially downloaded files. By default, youtube-dl will resume downloads if possible.' )
filesystem . add_option (
filesystem . add_option (
' --no-continue ' ,
' --no-continue ' ,
action = ' store_false ' , dest = ' continue_dl ' ,
action = ' store_false ' , dest = ' continue_dl ' ,
help = ' d o not resume partially downloaded files (restart from beginning)' )
help = ' D o not resume partially downloaded files (restart from beginning)' )
filesystem . add_option (
filesystem . add_option (
' --no-part ' ,
' --no-part ' ,
action = ' store_true ' , dest = ' nopart ' , default = False ,
action = ' store_true ' , dest = ' nopart ' , default = False ,
help = ' d o not use .part files - write directly into output file' )
help = ' D o not use .part files - write directly into output file' )
filesystem . add_option (
filesystem . add_option (
' --no-mtime ' ,
' --no-mtime ' ,
action = ' store_false ' , dest = ' updatetime ' , default = True ,
action = ' store_false ' , dest = ' updatetime ' , default = True ,
help = ' d o not use the Last-modified header to set the file modification time' )
help = ' D o not use the Last-modified header to set the file modification time' )
filesystem . add_option (
filesystem . add_option (
' --write-description ' ,
' --write-description ' ,
action = ' store_true ' , dest = ' writedescription ' , default = False ,
action = ' store_true ' , dest = ' writedescription ' , default = False ,
help = ' w rite video description to a .description file' )
help = ' W rite video description to a .description file' )
filesystem . add_option (
filesystem . add_option (
' --write-info-json ' ,
' --write-info-json ' ,
action = ' store_true ' , dest = ' writeinfojson ' , default = False ,
action = ' store_true ' , dest = ' writeinfojson ' , default = False ,
help = ' w rite video metadata to a .info.json file' )
help = ' W rite video metadata to a .info.json file' )
filesystem . add_option (
filesystem . add_option (
' --write-annotations ' ,
' --write-annotations ' ,
action = ' store_true ' , dest = ' writeannotations ' , default = False ,
action = ' store_true ' , dest = ' writeannotations ' , default = False ,
help = ' w rite video annotations to a .annotation file' )
help = ' W rite video annotations to a .annotation file' )
filesystem . add_option (
filesystem . add_option (
' --load-info ' ,
' --load-info ' ,
dest = ' load_info_filename ' , metavar = ' FILE ' ,
dest = ' load_info_filename ' , metavar = ' FILE ' ,
help = ' json file containing the video information (created with the " --write-json " option) ' )
help = ' Specify JSON file containing the video information (created with the " --write-json " option) ' )
filesystem . add_option (
filesystem . add_option (
' --cookies ' ,
' --cookies ' ,
dest = ' cookiefile ' , metavar = ' FILE ' ,
dest = ' cookiefile ' , metavar = ' FILE ' ,
help = ' f ile to read cookies from and dump cookie jar in' )
help = ' F ile to read cookies from and dump cookie jar in' )
filesystem . add_option (
filesystem . add_option (
' --cache-dir ' , dest = ' cachedir ' , default = None , metavar = ' DIR ' ,
' --cache-dir ' , dest = ' cachedir ' , default = None , metavar = ' DIR ' ,
help = ' Location in the filesystem where youtube-dl can store some downloaded information permanently. By default $XDG_CACHE_HOME/youtube-dl or ~/.cache/youtube-dl . At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change. ' )
help = ' Location in the filesystem where youtube-dl can store some downloaded information permanently. By default $XDG_CACHE_HOME/youtube-dl or ~/.cache/youtube-dl . At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change. ' )
@ -690,11 +690,11 @@ def parseOpts(overrideArguments=None):
thumbnail . add_option (
thumbnail . add_option (
' --write-thumbnail ' ,
' --write-thumbnail ' ,
action = ' store_true ' , dest = ' writethumbnail ' , default = False ,
action = ' store_true ' , dest = ' writethumbnail ' , default = False ,
help = ' w rite thumbnail image to disk' )
help = ' W rite thumbnail image to disk' )
thumbnail . add_option (
thumbnail . add_option (
' --write-all-thumbnails ' ,
' --write-all-thumbnails ' ,
action = ' store_true ' , dest = ' write_all_thumbnails ' , default = False ,
action = ' store_true ' , dest = ' write_all_thumbnails ' , default = False ,
help = ' w rite all thumbnail image formats to disk' )
help = ' W rite all thumbnail image formats to disk' )
thumbnail . add_option (
thumbnail . add_option (
' --list-thumbnails ' ,
' --list-thumbnails ' ,
action = ' store_true ' , dest = ' list_thumbnails ' , default = False ,
action = ' store_true ' , dest = ' list_thumbnails ' , default = False ,
@ -704,14 +704,14 @@ def parseOpts(overrideArguments=None):
postproc . add_option (
postproc . add_option (
' -x ' , ' --extract-audio ' ,
' -x ' , ' --extract-audio ' ,
action = ' store_true ' , dest = ' extractaudio ' , default = False ,
action = ' store_true ' , dest = ' extractaudio ' , default = False ,
help = ' c onvert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)' )
help = ' C onvert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)' )
postproc . add_option (
postproc . add_option (
' --audio-format ' , metavar = ' FORMAT ' , dest = ' audioformat ' , default = ' best ' ,
' --audio-format ' , metavar = ' FORMAT ' , dest = ' audioformat ' , default = ' best ' ,
help = ' " best " , " aac " , " vorbis " , " mp3 " , " m4a " , " opus " , or " wav " ; " %d efault " by default ' )
help = ' Specify audio format: "best " , " aac " , " vorbis " , " mp3 " , " m4a " , " opus " , or " wav " ; " %d efault " by default ' )
postproc . add_option (
postproc . add_option (
' --audio-quality ' , metavar = ' QUALITY ' ,
' --audio-quality ' , metavar = ' QUALITY ' ,
dest = ' audioquality ' , default = ' 5 ' ,
dest = ' audioquality ' , default = ' 5 ' ,
help = ' ffmpeg/avconv audio quality specification , insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default %d efault) ' )
help = ' Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default %d efault) ' )
postproc . add_option (
postproc . add_option (
' --recode-video ' ,
' --recode-video ' ,
metavar = ' FORMAT ' , dest = ' recodevideo ' , default = None ,
metavar = ' FORMAT ' , dest = ' recodevideo ' , default = None ,
@ -719,27 +719,27 @@ def parseOpts(overrideArguments=None):
postproc . add_option (
postproc . add_option (
' -k ' , ' --keep-video ' ,
' -k ' , ' --keep-video ' ,
action = ' store_true ' , dest = ' keepvideo ' , default = False ,
action = ' store_true ' , dest = ' keepvideo ' , default = False ,
help = ' keeps the video file on disk after the post-processing; the video is erased by default' )
help = ' Keep the video file on disk after the post-processing; the video is erased by default' )
postproc . add_option (
postproc . add_option (
' --no-post-overwrites ' ,
' --no-post-overwrites ' ,
action = ' store_true ' , dest = ' nopostoverwrites ' , default = False ,
action = ' store_true ' , dest = ' nopostoverwrites ' , default = False ,
help = ' d o not overwrite post-processed files; the post-processed files are overwritten by default' )
help = ' D o not overwrite post-processed files; the post-processed files are overwritten by default' )
postproc . add_option (
postproc . add_option (
' --embed-subs ' ,
' --embed-subs ' ,
action = ' store_true ' , dest = ' embedsubtitles ' , default = False ,
action = ' store_true ' , dest = ' embedsubtitles ' , default = False ,
help = ' e mbed subtitles in the video (only for mp4 videos)' )
help = ' E mbed subtitles in the video (only for mp4 videos)' )
postproc . add_option (
postproc . add_option (
' --embed-thumbnail ' ,
' --embed-thumbnail ' ,
action = ' store_true ' , dest = ' embedthumbnail ' , default = False ,
action = ' store_true ' , dest = ' embedthumbnail ' , default = False ,
help = ' e mbed thumbnail in the audio as cover art' )
help = ' E mbed thumbnail in the audio as cover art' )
postproc . add_option (
postproc . add_option (
' --add-metadata ' ,
' --add-metadata ' ,
action = ' store_true ' , dest = ' addmetadata ' , default = False ,
action = ' store_true ' , dest = ' addmetadata ' , default = False ,
help = ' w rite metadata to the video file' )
help = ' W rite metadata to the video file' )
postproc . add_option (
postproc . add_option (
' --metadata-from-title ' ,
' --metadata-from-title ' ,
metavar = ' FORMAT ' , dest = ' metafromtitle ' ,
metavar = ' FORMAT ' , dest = ' metafromtitle ' ,
help = ' p arse additional metadata like song title / artist from the video title. '
help = ' P arse additional metadata like song title / artist from the video title. '
' The format syntax is the same as --output, '
' The format syntax is the same as --output, '
' the parsed parameters replace existing values. '
' the parsed parameters replace existing values. '
' Additional templates: % (album), % (artist). '
' Additional templates: % (album), % (artist). '
@ -748,7 +748,7 @@ def parseOpts(overrideArguments=None):
postproc . add_option (
postproc . add_option (
' --xattrs ' ,
' --xattrs ' ,
action = ' store_true ' , dest = ' xattrs ' , default = False ,
action = ' store_true ' , dest = ' xattrs ' , default = False ,
help = ' w rite metadata to the video file\' s xattrs (using dublin core and xdg standards) ' )
help = ' W rite metadata to the video file\' s xattrs (using dublin core and xdg standards) ' )
postproc . add_option (
postproc . add_option (
' --fixup ' ,
' --fixup ' ,
metavar = ' POLICY ' , dest = ' fixup ' , default = ' detect_or_warn ' ,
metavar = ' POLICY ' , dest = ' fixup ' , default = ' detect_or_warn ' ,