]> Raphaƫl G. Git Repositories - youtubedl/blob - youtube-dl.1
Imported Upstream version 2014.11.21
[youtubedl] / youtube-dl.1
1 .TH "YOUTUBE\-DL" "1" "" "" ""
2 .SH NAME
3 .PP
4 youtube\-dl \- download videos from youtube.com or other video platforms
5 .SH SYNOPSIS
6 .PP
7 \f[B]youtube\-dl\f[] OPTIONS (#options) URL [URL...]
8 .SH DESCRIPTION
9 .PP
10 \f[B]youtube\-dl\f[] is a small command\-line program to download videos
11 from YouTube.com and a few more sites.
12 It requires the Python interpreter, version 2.6, 2.7, or 3.3+, and it is
13 not platform specific.
14 It should work on your Unix box, on Windows or on Mac OS X.
15 It is released to the public domain, which means you can modify it,
16 redistribute it or use it however you like.
17 .SH OPTIONS
18 .IP
19 .nf
20 \f[C]
21 \-h,\ \-\-help\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ this\ help\ text\ and\ exit
22 \-\-version\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ program\ version\ and\ exit
23 \-U,\ \-\-update\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ update\ this\ program\ to\ latest\ version.\ Make
24 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sure\ that\ you\ have\ sufficient\ permissions
25 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (run\ with\ sudo\ if\ needed)
26 \-i,\ \-\-ignore\-errors\ \ \ \ \ \ \ \ \ \ \ \ \ \ continue\ on\ download\ errors,\ for\ example\ to
27 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ skip\ unavailable\ videos\ in\ a\ playlist
28 \-\-abort\-on\-error\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Abort\ downloading\ of\ further\ videos\ (in\ the
29 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ playlist\ or\ the\ command\ line)\ if\ an\ error
30 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ occurs
31 \-\-dump\-user\-agent\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ display\ the\ current\ browser\ identification
32 \-\-list\-extractors\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ List\ all\ supported\ extractors\ and\ the\ URLs
33 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ they\ would\ handle
34 \-\-extractor\-descriptions\ \ \ \ \ \ \ \ \ Output\ descriptions\ of\ all\ supported
35 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ extractors
36 \-\-proxy\ URL\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ the\ specified\ HTTP/HTTPS\ proxy.\ Pass\ in
37 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ an\ empty\ string\ (\-\-proxy\ "")\ for\ direct
38 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ connection
39 \-\-socket\-timeout\ None\ \ \ \ \ \ \ \ \ \ \ \ Time\ to\ wait\ before\ giving\ up,\ in\ seconds
40 \-\-default\-search\ PREFIX\ \ \ \ \ \ \ \ \ \ Use\ this\ prefix\ for\ unqualified\ URLs.\ For
41 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ example\ "gvsearch2:"\ downloads\ two\ videos
42 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from\ google\ videos\ for\ \ youtube\-dl\ "large
43 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ apple".\ Use\ the\ value\ "auto"\ to\ let
44 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ youtube\-dl\ guess\ ("auto_warning"\ to\ emit\ a
45 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ warning\ when\ guessing).\ "error"\ just\ throws
46 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ an\ error.\ The\ default\ value\ "fixup_error"
47 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ repairs\ broken\ URLs,\ but\ emits\ an\ error\ if
48 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this\ is\ not\ possible\ instead\ of\ searching.
49 \-\-ignore\-config\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ read\ configuration\ files.\ When\ given
50 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ in\ the\ global\ configuration\ file\ /etc
51 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /youtube\-dl.conf:\ do\ not\ read\ the\ user
52 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ configuration\ in\ ~/.config/youtube\-dl.conf
53 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (%APPDATA%/youtube\-dl/config.txt\ on
54 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Windows)
55 \-\-flat\-playlist\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ extract\ the\ videos\ of\ a\ playlist,
56 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ only\ list\ them.
57 \f[]
58 .fi
59 .SS Video Selection:
60 .IP
61 .nf
62 \f[C]
63 \-\-playlist\-start\ NUMBER\ \ \ \ \ \ \ \ \ \ playlist\ video\ to\ start\ at\ (default\ is\ 1)
64 \-\-playlist\-end\ NUMBER\ \ \ \ \ \ \ \ \ \ \ \ playlist\ video\ to\ end\ at\ (default\ is\ last)
65 \-\-match\-title\ REGEX\ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ matching\ titles\ (regex\ or
66 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub\-string)
67 \-\-reject\-title\ REGEX\ \ \ \ \ \ \ \ \ \ \ \ \ skip\ download\ for\ matching\ titles\ (regex\ or
68 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub\-string)
69 \-\-max\-downloads\ NUMBER\ \ \ \ \ \ \ \ \ \ \ Abort\ after\ downloading\ NUMBER\ files
70 \-\-min\-filesize\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ smaller\ than
71 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SIZE\ (e.g.\ 50k\ or\ 44.6m)
72 \-\-max\-filesize\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ larger\ than\ SIZE
73 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (e.g.\ 50k\ or\ 44.6m)
74 \-\-date\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ in\ this\ date
75 \-\-datebefore\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ on\ or\ before
76 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this\ date\ (i.e.\ inclusive)
77 \-\-dateafter\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ on\ or\ after
78 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this\ date\ (i.e.\ inclusive)
79 \-\-min\-views\ COUNT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ with\ less\ than
80 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COUNT\ views
81 \-\-max\-views\ COUNT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ with\ more\ than
82 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COUNT\ views
83 \-\-no\-playlist\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ the\ currently\ playing\ video
84 \-\-age\-limit\ YEARS\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ suitable\ for\ the\ given
85 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ age
86 \-\-download\-archive\ FILE\ \ \ \ \ \ \ \ \ \ Download\ only\ videos\ not\ listed\ in\ the
87 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ archive\ file.\ Record\ the\ IDs\ of\ all
88 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloaded\ videos\ in\ it.
89 \-\-include\-ads\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Download\ advertisements\ as\ well
90 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (experimental)
91 \f[]
92 .fi
93 .SS Download Options:
94 .IP
95 .nf
96 \f[C]
97 \-r,\ \-\-rate\-limit\ LIMIT\ \ \ \ \ \ \ \ \ \ \ maximum\ download\ rate\ in\ bytes\ per\ second
98 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (e.g.\ 50K\ or\ 4.2M)
99 \-R,\ \-\-retries\ RETRIES\ \ \ \ \ \ \ \ \ \ \ \ number\ of\ retries\ (default\ is\ 10)
100 \-\-buffer\-size\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size\ of\ download\ buffer\ (e.g.\ 1024\ or\ 16K)
101 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (default\ is\ 1024)
102 \-\-no\-resize\-buffer\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ automatically\ adjust\ the\ buffer
103 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size.\ By\ default,\ the\ buffer\ size\ is
104 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ automatically\ resized\ from\ an\ initial\ value
105 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ of\ SIZE.
106 \f[]
107 .fi
108 .SS Filesystem Options:
109 .IP
110 .nf
111 \f[C]
112 \-a,\ \-\-batch\-file\ FILE\ \ \ \ \ \ \ \ \ \ \ \ file\ containing\ URLs\ to\ download\ (\[aq]\-\[aq]\ for
113 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stdin)
114 \-\-id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ only\ video\ ID\ in\ file\ name
115 \-A,\ \-\-auto\-number\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ number\ downloaded\ files\ starting\ from\ 00000
116 \-o,\ \-\-output\ TEMPLATE\ \ \ \ \ \ \ \ \ \ \ \ output\ filename\ template.\ Use\ %(title)s\ to
117 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ get\ the\ title,\ %(uploader)s\ for\ the
118 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uploader\ name,\ %(uploader_id)s\ for\ the
119 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uploader\ nickname\ if\ different,
120 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ to\ get\ an\ automatically
121 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ incremented\ number,\ %(ext)s\ for\ the
122 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filename\ extension,\ %(format)s\ for\ the
123 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format\ description\ (like\ "22\ \-\ 1280x720"\ or
124 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "HD"),\ %(format_id)s\ for\ the\ unique\ id\ of
125 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ format\ (like\ Youtube\[aq]s\ itags:\ "137"),
126 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(upload_date)s\ for\ the\ upload\ date
127 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (YYYYMMDD),\ %(extractor)s\ for\ the\ provider
128 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (youtube,\ metacafe,\ etc),\ %(id)s\ for\ the
129 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ id,\ %(playlist_title)s,
130 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(playlist_id)s,\ or\ %(playlist)s\ (=title\ if
131 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ present,\ ID\ otherwise)\ for\ the\ playlist\ the
132 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ is\ in,\ %(playlist_index)s\ for\ the
133 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ position\ in\ the\ playlist.\ %(height)s\ and
134 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(width)s\ for\ the\ width\ and\ height\ of\ the
135 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ format.\ %(resolution)s\ for\ a\ textual
136 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ description\ of\ the\ resolution\ of\ the\ video
137 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format.\ %%\ for\ a\ literal\ percent.\ Use\ \-\ to
138 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ output\ to\ stdout.\ Can\ also\ be\ used\ to
139 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ to\ a\ different\ directory,\ for
140 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ example\ with\ \-o\ \[aq]/my/downloads/%(uploader)s
141 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /%(title)s\-%(id)s.%(ext)s\[aq]\ .
142 \-\-autonumber\-size\ NUMBER\ \ \ \ \ \ \ \ \ Specifies\ the\ number\ of\ digits\ in
143 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ when\ it\ is\ present\ in\ output
144 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filename\ template\ or\ \-\-auto\-number\ option
145 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ is\ given
146 \-\-restrict\-filenames\ \ \ \ \ \ \ \ \ \ \ \ \ Restrict\ filenames\ to\ only\ ASCII
147 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ characters,\ and\ avoid\ "&"\ and\ spaces\ in
148 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filenames
149 \-t,\ \-\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [deprecated]\ use\ title\ in\ file\ name
150 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (default)
151 \-l,\ \-\-literal\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [deprecated]\ alias\ of\ \-\-title
152 \-w,\ \-\-no\-overwrites\ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ overwrite\ files
153 \-c,\ \-\-continue\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ force\ resume\ of\ partially\ downloaded\ files.
154 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ By\ default,\ youtube\-dl\ will\ resume
155 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloads\ if\ possible.
156 \-\-no\-continue\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ resume\ partially\ downloaded\ files
157 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (restart\ from\ beginning)
158 \-\-no\-part\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ .part\ files\ \-\ write\ directly
159 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ into\ output\ file
160 \-\-no\-mtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ the\ Last\-modified\ header\ to\ set
161 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ file\ modification\ time
162 \-\-write\-description\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ description\ to\ a\ .description
163 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file
164 \-\-write\-info\-json\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ metadata\ to\ a\ .info.json\ file
165 \-\-write\-annotations\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ annotations\ to\ a\ .annotation
166 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file
167 \-\-write\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ thumbnail\ image\ to\ disk
168 \-\-load\-info\ FILE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ json\ file\ containing\ the\ video\ information
169 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (created\ with\ the\ "\-\-write\-json"\ option)
170 \-\-cookies\ FILE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file\ to\ read\ cookies\ from\ and\ dump\ cookie
171 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ jar\ in
172 \-\-cache\-dir\ DIR\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Location\ in\ the\ filesystem\ where\ youtube\-dl
173 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ can\ store\ some\ downloaded\ information
174 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ permanently.\ By\ default\ $XDG_CACHE_HOME
175 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /youtube\-dl\ or\ ~/.cache/youtube\-dl\ .\ At\ the
176 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ moment,\ only\ YouTube\ player\ files\ (for
177 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ videos\ with\ obfuscated\ signatures)\ are
178 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cached,\ but\ that\ may\ change.
179 \-\-no\-cache\-dir\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Disable\ filesystem\ caching
180 \-\-rm\-cache\-dir\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Delete\ all\ filesystem\ cache\ files
181 \f[]
182 .fi
183 .SS Verbosity / Simulation Options:
184 .IP
185 .nf
186 \f[C]
187 \-q,\ \-\-quiet\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ activates\ quiet\ mode
188 \-\-no\-warnings\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Ignore\ warnings
189 \-s,\ \-\-simulate\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video\ and\ do\ not\ write
190 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ anything\ to\ disk
191 \-\-skip\-download\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video
192 \-g,\ \-\-get\-url\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ URL
193 \-e,\ \-\-get\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ title
194 \-\-get\-id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ id
195 \-\-get\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ thumbnail\ URL
196 \-\-get\-description\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ description
197 \-\-get\-duration\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ length
198 \-\-get\-filename\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ filename
199 \-\-get\-format\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ format
200 \-j,\ \-\-dump\-json\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ JSON\ information.
201 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ See\ \-\-output\ for\ a\ description\ of\ available
202 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ keys.
203 \-J,\ \-\-dump\-single\-json\ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ JSON\ information
204 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ for\ each\ command\-line\ argument.\ If\ the\ URL
205 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ refers\ to\ a\ playlist,\ dump\ the\ whole
206 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ playlist\ information\ in\ a\ single\ line.
207 \-\-newline\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ output\ progress\ bar\ as\ new\ lines
208 \-\-no\-progress\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ print\ progress\ bar
209 \-\-console\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ display\ progress\ in\ console\ titlebar
210 \-v,\ \-\-verbose\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ various\ debugging\ information
211 \-\-dump\-intermediate\-pages\ \ \ \ \ \ \ \ print\ downloaded\ pages\ to\ debug\ problems
212 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (very\ verbose)
213 \-\-write\-pages\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Write\ downloaded\ intermediary\ pages\ to
214 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ files\ in\ the\ current\ directory\ to\ debug
215 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ problems
216 \-\-print\-traffic\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Display\ sent\ and\ read\ HTTP\ traffic
217 \f[]
218 .fi
219 .SS Workarounds:
220 .IP
221 .nf
222 \f[C]
223 \-\-encoding\ ENCODING\ \ \ \ \ \ \ \ \ \ \ \ \ \ Force\ the\ specified\ encoding\ (experimental)
224 \-\-no\-check\-certificate\ \ \ \ \ \ \ \ \ \ \ Suppress\ HTTPS\ certificate\ validation.
225 \-\-prefer\-insecure\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ an\ unencrypted\ connection\ to\ retrieve
226 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ information\ about\ the\ video.\ (Currently
227 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ supported\ only\ for\ YouTube)
228 \-\-user\-agent\ UA\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ user\ agent
229 \-\-referer\ URL\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ referer,\ use\ if\ the\ video
230 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ access\ is\ restricted\ to\ one\ domain
231 \-\-add\-header\ FIELD:VALUE\ \ \ \ \ \ \ \ \ specify\ a\ custom\ HTTP\ header\ and\ its\ value,
232 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ separated\ by\ a\ colon\ \[aq]:\[aq].\ You\ can\ use\ this
233 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ option\ multiple\ times
234 \-\-bidi\-workaround\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Work\ around\ terminals\ that\ lack
235 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ bidirectional\ text\ support.\ Requires\ bidiv
236 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ or\ fribidi\ executable\ in\ PATH
237 \f[]
238 .fi
239 .SS Video Format Options:
240 .IP
241 .nf
242 \f[C]
243 \-f,\ \-\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ format\ code,\ specify\ the\ order\ of
244 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ preference\ using\ slashes:\ \-f\ 22/17/18\ .\ \ \-f
245 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mp4\ ,\ \-f\ m4a\ and\ \ \-f\ flv\ \ are\ also
246 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ supported.\ You\ can\ also\ use\ the\ special
247 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ names\ "best",\ "bestvideo",\ "bestaudio",
248 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "worst",\ "worstvideo"\ and\ "worstaudio".\ By
249 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default,\ youtube\-dl\ will\ pick\ the\ best
250 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quality.\ Use\ commas\ to\ download\ multiple
251 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ audio\ formats,\ such\ as\ \-f
252 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 136/137/mp4/bestvideo,140/m4a/bestaudio.
253 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ You\ can\ merge\ the\ video\ and\ audio\ of\ two
254 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ formats\ into\ a\ single\ file\ using\ \-f\ <video\-
255 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format>+<audio\-format>\ (requires\ ffmpeg\ or
256 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ avconv),\ for\ example\ \-f
257 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ bestvideo+bestaudio.
258 \-\-all\-formats\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ all\ available\ video\ formats
259 \-\-prefer\-free\-formats\ \ \ \ \ \ \ \ \ \ \ \ prefer\ free\ video\ formats\ unless\ a\ specific
260 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ one\ is\ requested
261 \-\-max\-quality\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ highest\ quality\ format\ to\ download
262 \-F,\ \-\-list\-formats\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ list\ all\ available\ formats
263 \-\-youtube\-skip\-dash\-manifest\ \ \ \ \ Do\ not\ download\ the\ DASH\ manifest\ on
264 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ YouTube\ videos
265 \f[]
266 .fi
267 .SS Subtitle Options:
268 .IP
269 .nf
270 \f[C]
271 \-\-write\-sub\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ subtitle\ file
272 \-\-write\-auto\-sub\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ automatic\ subtitle\ file\ (youtube
273 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ only)
274 \-\-all\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloads\ all\ the\ available\ subtitles\ of
275 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ video
276 \-\-list\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ lists\ all\ available\ subtitles\ for\ the\ video
277 \-\-sub\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ \ subtitle\ format\ (default=srt)\ ([sbv/vtt]
278 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ youtube\ only)
279 \-\-sub\-lang\ LANGS\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ languages\ of\ the\ subtitles\ to\ download
280 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (optional)\ separated\ by\ commas,\ use\ IETF
281 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ language\ tags\ like\ \[aq]en,pt\[aq]
282 \f[]
283 .fi
284 .SS Authentication Options:
285 .IP
286 .nf
287 \f[C]
288 \-u,\ \-\-username\ USERNAME\ \ \ \ \ \ \ \ \ \ login\ with\ this\ account\ ID
289 \-p,\ \-\-password\ PASSWORD\ \ \ \ \ \ \ \ \ \ account\ password
290 \-2,\ \-\-twofactor\ TWOFACTOR\ \ \ \ \ \ \ \ two\-factor\ auth\ code
291 \-n,\ \-\-netrc\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ .netrc\ authentication\ data
292 \-\-video\-password\ PASSWORD\ \ \ \ \ \ \ \ video\ password\ (vimeo,\ smotri)
293 \f[]
294 .fi
295 .SS Post\-processing Options:
296 .IP
297 .nf
298 \f[C]
299 \-x,\ \-\-extract\-audio\ \ \ \ \ \ \ \ \ \ \ \ \ \ convert\ video\ files\ to\ audio\-only\ files
300 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (requires\ ffmpeg\ or\ avconv\ and\ ffprobe\ or
301 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ avprobe)
302 \-\-audio\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ "best",\ "aac",\ "vorbis",\ "mp3",\ "m4a",
303 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "opus",\ or\ "wav";\ "best"\ by\ default
304 \-\-audio\-quality\ QUALITY\ \ \ \ \ \ \ \ \ \ ffmpeg/avconv\ audio\ quality\ specification,
305 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ insert\ a\ value\ between\ 0\ (better)\ and\ 9
306 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (worse)\ for\ VBR\ or\ a\ specific\ bitrate\ like
307 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 128K\ (default\ 5)
308 \-\-recode\-video\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ Encode\ the\ video\ to\ another\ format\ if
309 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ necessary\ (currently\ supported:
310 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mp4|flv|ogg|webm|mkv)
311 \-k,\ \-\-keep\-video\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ keeps\ the\ video\ file\ on\ disk\ after\ the
312 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ post\-processing;\ the\ video\ is\ erased\ by
313 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default
314 \-\-no\-post\-overwrites\ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ overwrite\ post\-processed\ files;\ the
315 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ post\-processed\ files\ are\ overwritten\ by
316 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default
317 \-\-embed\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ embed\ subtitles\ in\ the\ video\ (only\ for\ mp4
318 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ videos)
319 \-\-embed\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ embed\ thumbnail\ in\ the\ audio\ as\ cover\ art
320 \-\-add\-metadata\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ metadata\ to\ the\ video\ file
321 \-\-xattrs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ metadata\ to\ the\ video\ file\[aq]s\ xattrs
322 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (using\ dublin\ core\ and\ xdg\ standards)
323 \-\-prefer\-avconv\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Prefer\ avconv\ over\ ffmpeg\ for\ running\ the
324 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ postprocessors\ (default)
325 \-\-prefer\-ffmpeg\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Prefer\ ffmpeg\ over\ avconv\ for\ running\ the
326 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ postprocessors
327 \-\-exec\ CMD\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Execute\ a\ command\ on\ the\ file\ after
328 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloading,\ similar\ to\ find\[aq]s\ \-exec
329 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ syntax.\ Example:\ \-\-exec\ \[aq]adb\ push\ {}
330 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /sdcard/Music/\ &&\ rm\ {}\[aq]
331 \f[]
332 .fi
333 .SH CONFIGURATION
334 .PP
335 You can configure youtube\-dl by placing default arguments (such as
336 \f[C]\-\-extract\-audio\ \-\-no\-mtime\f[] to always extract the audio
337 and not copy the mtime) into \f[C]/etc/youtube\-dl.conf\f[] and/or
338 \f[C]~/.config/youtube\-dl/config\f[].
339 On Windows, the configuration file locations are
340 \f[C]%APPDATA%\\youtube\-dl\\config.txt\f[] and
341 \f[C]C:\\Users\\<Yourname>\\youtube\-dl.conf\f[].
342 .SH OUTPUT TEMPLATE
343 .PP
344 The \f[C]\-o\f[] option allows users to indicate a template for the
345 output file names.
346 The basic usage is not to set any template arguments when downloading a
347 single file, like in
348 \f[C]youtube\-dl\ \-o\ funny_video.flv\ "http://some/video"\f[].
349 However, it may contain special sequences that will be replaced when
350 downloading each video.
351 The special sequences have the format \f[C]%(NAME)s\f[].
352 To clarify, that is a percent symbol followed by a name in parenthesis,
353 followed by a lowercase S.
354 Allowed names are:
355 .IP \[bu] 2
356 \f[C]id\f[]: The sequence will be replaced by the video identifier.
357 .IP \[bu] 2
358 \f[C]url\f[]: The sequence will be replaced by the video URL.
359 .IP \[bu] 2
360 \f[C]uploader\f[]: The sequence will be replaced by the nickname of the
361 person who uploaded the video.
362 .IP \[bu] 2
363 \f[C]upload_date\f[]: The sequence will be replaced by the upload date
364 in YYYYMMDD format.
365 .IP \[bu] 2
366 \f[C]title\f[]: The sequence will be replaced by the video title.
367 .IP \[bu] 2
368 \f[C]ext\f[]: The sequence will be replaced by the appropriate extension
369 (like flv or mp4).
370 .IP \[bu] 2
371 \f[C]epoch\f[]: The sequence will be replaced by the Unix epoch when
372 creating the file.
373 .IP \[bu] 2
374 \f[C]autonumber\f[]: The sequence will be replaced by a five\-digit
375 number that will be increased with each download, starting at zero.
376 .IP \[bu] 2
377 \f[C]playlist\f[]: The name or the id of the playlist that contains the
378 video.
379 .IP \[bu] 2
380 \f[C]playlist_index\f[]: The index of the video in the playlist, a
381 five\-digit number.
382 .PP
383 The current default template is \f[C]%(title)s\-%(id)s.%(ext)s\f[].
384 .PP
385 In some cases, you don\[aq]t want special characters such as äø­, spaces,
386 or &, such as when transferring the downloaded filename to a Windows
387 system or the filename through an 8bit\-unsafe channel.
388 In these cases, add the \f[C]\-\-restrict\-filenames\f[] flag to get a
389 shorter title:
390 .IP
391 .nf
392 \f[C]
393 $\ youtube\-dl\ \-\-get\-filename\ \-o\ "%(title)s.%(ext)s"\ BaW_jenozKc
394 youtube\-dl\ test\ video\ \[aq]\[aq]_Ƥā†­š•.mp4\ \ \ \ #\ All\ kinds\ of\ weird\ characters
395 $\ youtube\-dl\ \-\-get\-filename\ \-o\ "%(title)s.%(ext)s"\ BaW_jenozKc\ \-\-restrict\-filenames
396 youtube\-dl_test_video_.mp4\ \ \ \ \ \ \ \ \ \ #\ A\ simple\ file\ name
397 \f[]
398 .fi
399 .SH VIDEO SELECTION
400 .PP
401 Videos can be filtered by their upload date using the options
402 \f[C]\-\-date\f[], \f[C]\-\-datebefore\f[] or \f[C]\-\-dateafter\f[],
403 they accept dates in two formats:
404 .IP \[bu] 2
405 Absolute dates: Dates in the format \f[C]YYYYMMDD\f[].
406 .IP \[bu] 2
407 Relative dates: Dates in the format
408 \f[C](now|today)[+\-][0\-9](day|week|month|year)(s)?\f[]
409 .PP
410 Examples:
411 .IP
412 .nf
413 \f[C]
414 #\ Download\ only\ the\ videos\ uploaded\ in\ the\ last\ 6\ months
415 $\ youtube\-dl\ \-\-dateafter\ now\-6months
416
417 #\ Download\ only\ the\ videos\ uploaded\ on\ January\ 1,\ 1970
418 $\ youtube\-dl\ \-\-date\ 19700101
419
420 $\ #\ will\ only\ download\ the\ videos\ uploaded\ in\ the\ 200x\ decade
421 $\ youtube\-dl\ \-\-dateafter\ 20000101\ \-\-datebefore\ 20091231
422 \f[]
423 .fi
424 .SH FAQ
425 .SS How do I update youtube\-dl?
426 .PP
427 If you\[aq]ve followed our manual installation
428 instructions (http://rg3.github.io/youtube-dl/download.html), you can
429 simply run \f[C]youtube\-dl\ \-U\f[] (or, on Linux,
430 \f[C]sudo\ youtube\-dl\ \-U\f[]).
431 .PP
432 If you have used pip, a simple
433 \f[C]sudo\ pip\ install\ \-U\ youtube\-dl\f[] is sufficient to update.
434 .PP
435 If you have installed youtube\-dl using a package manager like
436 \f[I]apt\-get\f[] or \f[I]yum\f[], use the standard system update
437 mechanism to update.
438 Note that distribution packages are often outdated.
439 As a rule of thumb, youtube\-dl releases at least once a month, and
440 often weekly or even daily.
441 Simply go to http://yt\-dl.org/ to find out the current version.
442 Unfortunately, there is nothing we youtube\-dl developers can do if your
443 distributions serves a really outdated version.
444 You can (and should) complain to your distribution in their bugtracker
445 or support forum.
446 .PP
447 As a last resort, you can also uninstall the version installed by your
448 package manager and follow our manual installation instructions.
449 For that, remove the distribution\[aq]s package, with a line like
450 .IP
451 .nf
452 \f[C]
453 sudo\ apt\-get\ remove\ \-y\ youtube\-dl
454 \f[]
455 .fi
456 .PP
457 Afterwards, simply follow our manual installation
458 instructions (http://rg3.github.io/youtube-dl/download.html):
459 .IP
460 .nf
461 \f[C]
462 sudo\ wget\ https://yt\-dl.org/latest/youtube\-dl\ \-O\ /usr/local/bin/youtube\-dl
463 sudo\ chmod\ a+x\ /usr/local/bin/youtube\-dl
464 hash\ \-r
465 \f[]
466 .fi
467 .PP
468 Again, from then on you\[aq]ll be able to update with
469 \f[C]sudo\ youtube\-dl\ \-U\f[].
470 .SS I\[aq]m getting an error
471 \f[C]Unable\ to\ extract\ OpenGraph\ title\f[] on YouTube playlists
472 .PP
473 YouTube changed their playlist format in March 2014 and later on, so
474 you\[aq]ll need at least youtube\-dl 2014.07.25 to download all YouTube
475 videos.
476 .PP
477 If you have installed youtube\-dl with a package manager, pip, setup.py
478 or a tarball, please use that to update.
479 Note that Ubuntu packages do not seem to get updated anymore.
480 Since we are not affiliated with Ubuntu, there is little we can do.
481 Feel free to report
482 bugs (https://bugs.launchpad.net/ubuntu/+source/youtube-dl/+filebug) to
483 the Ubuntu packaging
484 guys (mailto:ubuntu-motu@lists.ubuntu.com?subject=outdated%20version%20of%20youtube-dl)
485 \- all they have to do is update the package to a somewhat recent
486 version.
487 See above for a way to update.
488 .SS Do I always have to pass in \f[C]\-\-max\-quality\ FORMAT\f[], or
489 \f[C]\-citw\f[]?
490 .PP
491 By default, youtube\-dl intends to have the best options (incidentally,
492 if you have a convincing case that these should be different, please
493 file an issue where you explain that (https://yt-dl.org/bug)).
494 Therefore, it is unnecessary and sometimes harmful to copy long option
495 strings from webpages.
496 In particular, \f[C]\-\-max\-quality\f[] \f[I]limits\f[] the video
497 quality (so if you want the best quality, do NOT pass it in), and the
498 only option out of \f[C]\-citw\f[] that is regularly useful is
499 \f[C]\-i\f[].
500 .SS Can you please put the \-b option back?
501 .PP
502 Most people asking this question are not aware that youtube\-dl now
503 defaults to downloading the highest available quality as reported by
504 YouTube, which will be 1080p or 720p in some cases, so you no longer
505 need the \f[C]\-b\f[] option.
506 For some specific videos, maybe YouTube does not report them to be
507 available in a specific high quality format you\[aq]re interested in.
508 In that case, simply request it with the \f[C]\-f\f[] option and
509 youtube\-dl will try to download it.
510 .SS I get HTTP error 402 when trying to download a video. What\[aq]s
511 this?
512 .PP
513 Apparently YouTube requires you to pass a CAPTCHA test if you download
514 too much.
515 We\[aq]re considering to provide a way to let you solve the
516 CAPTCHA (https://github.com/rg3/youtube-dl/issues/154), but at the
517 moment, your best course of action is pointing a webbrowser to the
518 youtube URL, solving the CAPTCHA, and restart youtube\-dl.
519 .SS I have downloaded a video but how can I play it?
520 .PP
521 Once the video is fully downloaded, use any video player, such as
522 vlc (http://www.videolan.org) or mplayer (http://www.mplayerhq.hu/).
523 .SS The links provided by youtube\-dl \-g are not working anymore
524 .PP
525 The URLs youtube\-dl outputs require the downloader to have the correct
526 cookies.
527 Use the \f[C]\-\-cookies\f[] option to write the required cookies into a
528 file, and advise your downloader to read cookies from that file.
529 Some sites also require a common user agent to be used, use
530 \f[C]\-\-dump\-user\-agent\f[] to see the one in use by youtube\-dl.
531 .SS ERROR: no fmt_url_map or conn information found in video info
532 .PP
533 youtube has switched to a new video info format in July 2011 which is
534 not supported by old versions of youtube\-dl.
535 You can update youtube\-dl with \f[C]sudo\ youtube\-dl\ \-\-update\f[].
536 .SS ERROR: unable to download video
537 .PP
538 youtube requires an additional signature since September 2012 which is
539 not supported by old versions of youtube\-dl.
540 You can update youtube\-dl with \f[C]sudo\ youtube\-dl\ \-\-update\f[].
541 .SS SyntaxError: Non\-ASCII character
542 .PP
543 The error
544 .IP
545 .nf
546 \f[C]
547 File\ "youtube\-dl",\ line\ 2
548 SyntaxError:\ Non\-ASCII\ character\ \[aq]\\x93\[aq]\ ...
549 \f[]
550 .fi
551 .PP
552 means you\[aq]re using an outdated version of Python.
553 Please update to Python 2.6 or 2.7.
554 .SS What is this binary file? Where has the code gone?
555 .PP
556 Since June 2012 (#342) youtube\-dl is packed as an executable zipfile,
557 simply unzip it (might need renaming to \f[C]youtube\-dl.zip\f[] first
558 on some systems) or clone the git repository, as laid out above.
559 If you modify the code, you can run it by executing the
560 \f[C]__main__.py\f[] file.
561 To recompile the executable, run \f[C]make\ youtube\-dl\f[].
562 .SS The exe throws a \f[I]Runtime error from Visual C++\f[]
563 .PP
564 To run the exe you need to install first the Microsoft Visual C++ 2008
565 Redistributable
566 Package (http://www.microsoft.com/en-us/download/details.aspx?id=29).
567 .SH DEVELOPER INSTRUCTIONS
568 .PP
569 Most users do not need to build youtube\-dl and can download the
570 builds (http://rg3.github.io/youtube-dl/download.html) or get them from
571 their distribution.
572 .PP
573 To run youtube\-dl as a developer, you don\[aq]t need to build anything
574 either.
575 Simply execute
576 .IP
577 .nf
578 \f[C]
579 python\ \-m\ youtube_dl
580 \f[]
581 .fi
582 .PP
583 To run the test, simply invoke your favorite test runner, or execute a
584 test file directly; any of the following work:
585 .IP
586 .nf
587 \f[C]
588 python\ \-m\ unittest\ discover
589 python\ test/test_download.py
590 nosetests
591 \f[]
592 .fi
593 .PP
594 If you want to create a build of youtube\-dl yourself, you\[aq]ll need
595 .IP \[bu] 2
596 python
597 .IP \[bu] 2
598 make
599 .IP \[bu] 2
600 pandoc
601 .IP \[bu] 2
602 zip
603 .IP \[bu] 2
604 nosetests
605 .SS Adding support for a new site
606 .PP
607 If you want to add support for a new site, you can follow this quick
608 list (assuming your service is called \f[C]yourextractor\f[]):
609 .IP " 1." 4
610 Fork this repository (https://github.com/rg3/youtube-dl/fork)
611 .IP " 2." 4
612 Check out the source code with
613 \f[C]git\ clone\ git\@github.com:YOUR_GITHUB_USERNAME/youtube\-dl.git\f[]
614 .IP " 3." 4
615 Start a new git branch with
616 \f[C]cd\ youtube\-dl;\ git\ checkout\ \-b\ yourextractor\f[]
617 .IP " 4." 4
618 Start with this simple template and save it to
619 \f[C]youtube_dl/extractor/yourextractor.py\f[]:
620 .RS 4
621 .IP
622 .nf
623 \f[C]
624 #\ coding:\ utf\-8
625 from\ __future__\ import\ unicode_literals
626
627 from\ .common\ import\ InfoExtractor
628
629
630 class\ YourExtractorIE(InfoExtractor):
631 \ \ \ \ _VALID_URL\ =\ r\[aq]https?://(?:www\\.)?yourextractor\\.com/watch/(?P<id>[0\-9]+)\[aq]
632 \ \ \ \ _TEST\ =\ {
633 \ \ \ \ \ \ \ \ \[aq]url\[aq]:\ \[aq]http://yourextractor.com/watch/42\[aq],
634 \ \ \ \ \ \ \ \ \[aq]md5\[aq]:\ \[aq]TODO:\ md5\ sum\ of\ the\ first\ 10241\ bytes\ of\ the\ video\ file\ (use\ \-\-test)\[aq],
635 \ \ \ \ \ \ \ \ \[aq]info_dict\[aq]:\ {
636 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]id\[aq]:\ \[aq]42\[aq],
637 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]ext\[aq]:\ \[aq]mp4\[aq],
638 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]title\[aq]:\ \[aq]Video\ title\ goes\ here\[aq],
639 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]thumbnail\[aq]:\ \[aq]re:^https?://.*\\.jpg$\[aq],
640 \ \ \ \ \ \ \ \ \ \ \ \ #\ TODO\ more\ properties,\ either\ as:
641 \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ A\ value
642 \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ MD5\ checksum;\ start\ the\ string\ with\ md5:
643 \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ A\ regular\ expression;\ start\ the\ string\ with\ re:
644 \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ Any\ Python\ type\ (for\ example\ int\ or\ float)
645 \ \ \ \ \ \ \ \ }
646 \ \ \ \ }
647
648 \ \ \ \ def\ _real_extract(self,\ url):
649 \ \ \ \ \ \ \ \ video_id\ =\ self._match_id(url)
650
651 \ \ \ \ \ \ \ \ #\ TODO\ more\ code\ goes\ here,\ for\ example\ ...
652 \ \ \ \ \ \ \ \ webpage\ =\ self._download_webpage(url,\ video_id)
653 \ \ \ \ \ \ \ \ title\ =\ self._html_search_regex(r\[aq]<h1>(.*?)</h1>\[aq],\ webpage,\ \[aq]title\[aq])
654
655 \ \ \ \ \ \ \ \ return\ {
656 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]id\[aq]:\ video_id,
657 \ \ \ \ \ \ \ \ \ \ \ \ \[aq]title\[aq]:\ title,
658 \ \ \ \ \ \ \ \ \ \ \ \ #\ TODO\ more\ properties\ (see\ youtube_dl/extractor/common.py)
659 \ \ \ \ \ \ \ \ }
660 \f[]
661 .fi
662 .RE
663 .IP " 5." 4
664 Add an import in
665 \f[C]youtube_dl/extractor/__init__.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/__init__.py).
666 .IP " 6." 4
667 Run
668 \f[C]python\ test/test_download.py\ TestDownload.test_YourExtractor\f[].
669 This \f[I]should fail\f[] at first, but you can continually re\-run it
670 until you\[aq]re done.
671 If you decide to add more than one test, then rename \f[C]_TEST\f[] to
672 \f[C]_TESTS\f[] and make it into a list of dictionaries.
673 The tests will be then be named
674 \f[C]TestDownload.test_YourExtractor\f[],
675 \f[C]TestDownload.test_YourExtractor_1\f[],
676 \f[C]TestDownload.test_YourExtractor_2\f[], etc.
677 .IP " 7." 4
678 Have a look at
679 \f[C]youtube_dl/common/extractor/common.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py)
680 for possible helper methods and a detailed description of what your
681 extractor should
682 return (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py#L38).
683 Add tests and code for as many as you want.
684 .IP " 8." 4
685 If you can, check the code with
686 pyflakes (https://pypi.python.org/pypi/pyflakes) (a good idea) and
687 pep8 (https://pypi.python.org/pypi/pep8) (optional, ignore E501).
688 .IP " 9." 4
689 When the tests pass, add (http://git-scm.com/docs/git-add) the new files
690 and commit (http://git-scm.com/docs/git-commit) them and
691 push (http://git-scm.com/docs/git-push) the result, like this:
692 .RS 4
693 .IP
694 .nf
695 \f[C]
696 $\ git\ add\ youtube_dl/extractor/__init__.py
697 $\ git\ add\ youtube_dl/extractor/yourextractor.py
698 $\ git\ commit\ \-m\ \[aq][yourextractor]\ Add\ new\ extractor\[aq]
699 $\ git\ push\ origin\ yourextractor
700 \f[]
701 .fi
702 .RE
703 .IP "10." 4
704 Finally, create a pull
705 request (https://help.github.com/articles/creating-a-pull-request).
706 We\[aq]ll then review and merge it.
707 .PP
708 In any case, thank you very much for your contributions!
709 .SH EMBEDDING YOUTUBE\-DL
710 .PP
711 youtube\-dl makes the best effort to be a good command\-line program,
712 and thus should be callable from any programming language.
713 If you encounter any problems parsing its output, feel free to create a
714 report (https://github.com/rg3/youtube-dl/issues/new).
715 .PP
716 From a Python program, you can embed youtube\-dl in a more powerful
717 fashion, like this:
718 .IP
719 .nf
720 \f[C]
721 import\ youtube_dl
722
723 ydl_opts\ =\ {}
724 with\ youtube_dl.YoutubeDL(ydl_opts)\ as\ ydl:
725 \ \ \ \ ydl.download([\[aq]http://www.youtube.com/watch?v=BaW_jenozKc\[aq]])
726 \f[]
727 .fi
728 .PP
729 Most likely, you\[aq]ll want to use various options.
730 For a list of what can be done, have a look at
731 youtube_dl/YoutubeDL.py (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/YoutubeDL.py#L69).
732 For a start, if you want to intercept youtube\-dl\[aq]s output, set a
733 \f[C]logger\f[] object.
734 .SH BUGS
735 .PP
736 Bugs and suggestions should be reported at:
737 <https://github.com/rg3/youtube-dl/issues> .
738 Unless you were prompted so or there is another pertinent reason (e.g.
739 GitHub fails to accept the bug report), please do not send bug reports
740 via personal email.
741 .PP
742 Please include the full output of the command when run with
743 \f[C]\-\-verbose\f[].
744 The output (including the first lines) contain important debugging
745 information.
746 Issues without the full output are often not reproducible and therefore
747 do not get solved in short order, if ever.
748 .PP
749 For discussions, join us in the irc channel #youtube\-dl on freenode.
750 .PP
751 When you submit a request, please re\-read it once to avoid a couple of
752 mistakes (you can and should use this as a checklist):
753 .SS Is the description of the issue itself sufficient?
754 .PP
755 We often get issue reports that we cannot really decipher.
756 While in most cases we eventually get the required information after
757 asking back multiple times, this poses an unnecessary drain on our
758 resources.
759 Many contributors, including myself, are also not native speakers, so we
760 may misread some parts.
761 .PP
762 So please elaborate on what feature you are requesting, or what bug you
763 want to be fixed.
764 Make sure that it\[aq]s obvious
765 .IP \[bu] 2
766 What the problem is
767 .IP \[bu] 2
768 How it could be fixed
769 .IP \[bu] 2
770 How your proposed solution would look like
771 .PP
772 If your report is shorter than two lines, it is almost certainly missing
773 some of these, which makes it hard for us to respond to it.
774 We\[aq]re often too polite to close the issue outright, but the missing
775 info makes misinterpretation likely.
776 As a commiter myself, I often get frustrated by these issues, since the
777 only possible way for me to move forward on them is to ask for
778 clarification over and over.
779 .PP
780 For bug reports, this means that your report should contain the
781 \f[I]complete\f[] output of youtube\-dl when called with the \-v flag.
782 The error message you get for (most) bugs even says so, but you would
783 not believe how many of our bug reports do not contain this information.
784 .PP
785 Site support requests \f[B]must contain an example URL\f[].
786 An example URL is a URL you might want to download, like
787 http://www.youtube.com/watch?v=BaW_jenozKc .
788 There should be an obvious video present.
789 Except under very special circumstances, the main page of a video
790 service (e.g.
791 http://www.youtube.com/ ) is \f[I]not\f[] an example URL.
792 .SS Are you using the latest version?
793 .PP
794 Before reporting any issue, type youtube\-dl \-U.
795 This should report that you\[aq]re up\-to\-date.
796 About 20% of the reports we receive are already fixed, but people are
797 using outdated versions.
798 This goes for feature requests as well.
799 .SS Is the issue already documented?
800 .PP
801 Make sure that someone has not already opened the issue you\[aq]re
802 trying to open.
803 Search at the top of the window or at
804 https://github.com/rg3/youtube\-dl/search?type=Issues .
805 If there is an issue, feel free to write something along the lines of
806 "This affects me as well, with version 2015.01.01.
807 Here is some more information on the issue: ...".
808 While some issues may be old, a new post into them often spurs rapid
809 activity.
810 .SS Why are existing options not enough?
811 .PP
812 Before requesting a new feature, please have a quick peek at the list of
813 supported
814 options (https://github.com/rg3/youtube-dl/blob/master/README.md#synopsis).
815 Many feature requests are for features that actually exist already!
816 Please, absolutely do show off your work in the issue report and detail
817 how the existing similar options do \f[I]not\f[] solve your problem.
818 .SS Is there enough context in your bug report?
819 .PP
820 People want to solve problems, and often think they do us a favor by
821 breaking down their larger problems (e.g.
822 wanting to skip already downloaded files) to a specific request (e.g.
823 requesting us to look whether the file exists before downloading the
824 info page).
825 However, what often happens is that they break down the problem into two
826 steps: One simple, and one impossible (or extremely complicated one).
827 .PP
828 We are then presented with a very complicated request when the original
829 problem could be solved far easier, e.g.
830 by recording the downloaded video IDs in a separate file.
831 To avoid this, you must include the greater context where it is
832 non\-obvious.
833 In particular, every feature request that does not consist of adding
834 support for a new site should contain a use case scenario that explains
835 in what situation the missing feature would be useful.
836 .SS Does the issue involve one problem, and one problem only?
837 .PP
838 Some of our users seem to think there is a limit of issues they can or
839 should open.
840 There is no limit of issues they can or should open.
841 While it may seem appealing to be able to dump all your issues into one
842 ticket, that means that someone who solves one of your issues cannot
843 mark the issue as closed.
844 Typically, reporting a bunch of issues leads to the ticket lingering
845 since nobody wants to attack that behemoth, until someone mercifully
846 splits the issue into multiple ones.
847 .PP
848 In particular, every site support request issue should only pertain to
849 services at one site (generally under a common domain, but always using
850 the same backend technology).
851 Do not request support for vimeo user videos, Whitehouse podcasts, and
852 Google Plus pages in the same issue.
853 Also, make sure that you don\[aq]t post bug reports alongside feature
854 requests.
855 As a rule of thumb, a feature request does not include outputs of
856 youtube\-dl that are not immediately related to the feature at hand.
857 Do not post reports of a network error alongside the request for a new
858 video service.
859 .SS Is anyone going to need the feature?
860 .PP
861 Only post features that you (or an incapicated friend you can personally
862 talk to) require.
863 Do not post features because they seem like a good idea.
864 If they are really useful, they will be requested by someone who
865 requires them.
866 .SS Is your question about youtube\-dl?
867 .PP
868 It may sound strange, but some bug reports we receive are completely
869 unrelated to youtube\-dl and relate to a different or even the
870 reporter\[aq]s own application.
871 Please make sure that you are actually using youtube\-dl.
872 If you are using a UI for youtube\-dl, report the bug to the maintainer
873 of the actual application providing the UI.
874 On the other hand, if your UI for youtube\-dl fails in some way you
875 believe is related to youtube\-dl, by all means, go ahead and report the
876 bug.
877 .SH COPYRIGHT
878 .PP
879 youtube\-dl is released into the public domain by the copyright holders.
880 .PP
881 This README file was originally written by Daniel Bolton
882 (<https://github.com/dbbolton>) and is likewise released into the public
883 domain.