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