Merge remote-tracking branch 'chrisjrn/master'
[youtube-dl] / youtube-dl.1
1 .TH youtube-dl 1 "" 
2 .SH NAME
3 .PP
4 youtube-dl
5 .SH SYNOPSIS
6 .PP
7 \f[B]youtube-dl\f[] [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.x (x being at least 6),
13 and it is not platform specific.
14 It should work in your Unix box, in Windows or in 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
24 -i,\ --ignore-errors\ \ \ \ \ \ continue\ on\ download\ errors
25 -r,\ --rate-limit\ LIMIT\ \ \ download\ rate\ limit\ (e.g.\ 50k\ or\ 44.6m)
26 -R,\ --retries\ RETRIES\ \ \ \ number\ of\ retries\ (default\ is\ 10)
27 --dump-user-agent\ \ \ \ \ \ \ \ display\ the\ current\ browser\ identification
28 --user-agent\ UA\ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ user\ agent
29 --list-extractors\ \ \ \ \ \ \ \ List\ all\ supported\ extractors\ and\ the\ URLs\ they
30 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ would\ handle
31 \f[]
32 .fi
33 .SS Video Selection:
34 .IP
35 .nf
36 \f[C]
37 --playlist-start\ NUMBER\ \ playlist\ video\ to\ start\ at\ (default\ is\ 1)
38 --playlist-end\ NUMBER\ \ \ \ playlist\ video\ to\ end\ at\ (default\ is\ last)
39 --match-title\ REGEX\ \ \ \ \ \ download\ only\ matching\ titles\ (regex\ or\ caseless
40 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sub-string)
41 --reject-title\ REGEX\ \ \ \ \ skip\ download\ for\ matching\ titles\ (regex\ or
42 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub-string)
43 --max-downloads\ NUMBER\ \ \ Abort\ after\ downloading\ NUMBER\ files
44 \f[]
45 .fi
46 .SS Filesystem Options:
47 .IP
48 .nf
49 \f[C]
50 -t,\ --title\ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ title\ in\ file\ name
51 --id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ video\ ID\ in\ file\ name
52 -l,\ --literal\ \ \ \ \ \ \ \ \ \ \ \ [deprecated]\ alias\ of\ --title
53 -A,\ --auto-number\ \ \ \ \ \ \ \ number\ downloaded\ files\ starting\ from\ 00000
54 -o,\ --output\ TEMPLATE\ \ \ \ output\ filename\ template.\ Use\ %(title)s\ to\ get\ the
55 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ title,\ %(uploader)s\ for\ the\ uploader\ name,
56 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ to\ get\ an\ automatically\ incremented
57 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ number,\ %(ext)s\ for\ the\ filename\ extension,
58 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(upload_date)s\ for\ the\ upload\ date\ (YYYYMMDD),
59 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(extractor)s\ for\ the\ provider\ (youtube,\ metacafe,
60 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ etc),\ %(id)s\ for\ the\ video\ id\ and\ %%\ for\ a\ literal
61 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ percent.\ Use\ -\ to\ output\ to\ stdout.
62 --restrict-filenames\ \ \ \ \ Restrict\ filenames\ to\ only\ ASCII\ characters,\ and
63 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ avoid\ "&"\ and\ spaces\ in\ filenames
64 -a,\ --batch-file\ FILE\ \ \ \ file\ containing\ URLs\ to\ download\ (\[aq]-\[aq]\ for\ stdin)
65 -w,\ --no-overwrites\ \ \ \ \ \ do\ not\ overwrite\ files
66 -c,\ --continue\ \ \ \ \ \ \ \ \ \ \ resume\ partially\ downloaded\ files
67 --no-continue\ \ \ \ \ \ \ \ \ \ \ \ do\ not\ resume\ partially\ downloaded\ files\ (restart
68 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from\ beginning)
69 --cookies\ FILE\ \ \ \ \ \ \ \ \ \ \ file\ to\ read\ cookies\ from\ and\ dump\ cookie\ jar\ in
70 --no-part\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ .part\ files
71 --no-mtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ the\ Last-modified\ header\ to\ set\ the\ file
72 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ modification\ time
73 --write-description\ \ \ \ \ \ write\ video\ description\ to\ a\ .description\ file
74 --write-info-json\ \ \ \ \ \ \ \ write\ video\ metadata\ to\ a\ .info.json\ file
75 \f[]
76 .fi
77 .SS Verbosity / Simulation Options:
78 .IP
79 .nf
80 \f[C]
81 -q,\ --quiet\ \ \ \ \ \ \ \ \ \ \ \ \ \ activates\ quiet\ mode
82 -s,\ --simulate\ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video\ and\ do\ not\ write\ anything
83 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ to\ disk
84 --skip-download\ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video
85 -g,\ --get-url\ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ URL
86 -e,\ --get-title\ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ title
87 --get-thumbnail\ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ thumbnail\ URL
88 --get-description\ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ description
89 --get-filename\ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ filename
90 --get-format\ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ format
91 --no-progress\ \ \ \ \ \ \ \ \ \ \ \ do\ not\ print\ progress\ bar
92 --console-title\ \ \ \ \ \ \ \ \ \ display\ progress\ in\ console\ titlebar
93 -v,\ --verbose\ \ \ \ \ \ \ \ \ \ \ \ print\ various\ debugging\ information
94 \f[]
95 .fi
96 .SS Video Format Options:
97 .IP
98 .nf
99 \f[C]
100 -f,\ --format\ FORMAT\ \ \ \ \ \ video\ format\ code
101 --all-formats\ \ \ \ \ \ \ \ \ \ \ \ download\ all\ available\ video\ formats
102 --prefer-free-formats\ \ \ \ prefer\ free\ video\ formats\ unless\ a\ specific\ one\ is
103 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ requested
104 --max-quality\ FORMAT\ \ \ \ \ highest\ quality\ format\ to\ download
105 -F,\ --list-formats\ \ \ \ \ \ \ list\ all\ available\ formats\ (currently\ youtube\ only)
106 --write-srt\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ closed\ captions\ to\ a\ .srt\ file
107 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (currently\ youtube\ only)
108 --srt-lang\ LANG\ \ \ \ \ \ \ \ \ \ language\ of\ the\ closed\ captions\ to\ download
109 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (optional)\ use\ IETF\ language\ tags\ like\ \[aq]en\[aq]
110 \f[]
111 .fi
112 .SS Authentication Options:
113 .IP
114 .nf
115 \f[C]
116 -u,\ --username\ USERNAME\ \ account\ username
117 -p,\ --password\ PASSWORD\ \ account\ password
118 -n,\ --netrc\ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ .netrc\ authentication\ data
119 \f[]
120 .fi
121 .SS Post-processing Options:
122 .IP
123 .nf
124 \f[C]
125 -x,\ --extract-audio\ \ \ \ \ \ convert\ video\ files\ to\ audio-only\ files\ (requires
126 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ffmpeg\ or\ avconv\ and\ ffprobe\ or\ avprobe)
127 --audio-format\ FORMAT\ \ \ \ "best",\ "aac",\ "vorbis",\ "mp3",\ "m4a",\ or\ "wav";
128 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ best\ by\ default
129 --audio-quality\ QUALITY\ \ ffmpeg/avconv\ audio\ quality\ specification,\ insert\ a
130 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ value\ between\ 0\ (better)\ and\ 9\ (worse)\ for\ VBR\ or\ a
131 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specific\ bitrate\ like\ 128K\ (default\ 5)
132 -k,\ --keep-video\ \ \ \ \ \ \ \ \ keeps\ the\ video\ file\ on\ disk\ after\ the\ post-
133 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ processing;\ the\ video\ is\ erased\ by\ default
134 \f[]
135 .fi
136 .SH CONFIGURATION
137 .PP
138 You can configure youtube-dl by placing default arguments (such as
139 \f[C]--extract-audio\ --no-mtime\f[] to always extract the audio and not
140 copy the mtime) into \f[C]/etc/youtube-dl.conf\f[] and/or
141 \f[C]~/.local/config/youtube-dl.conf\f[].
142 .SH FAQ
143 .SS Can you please put the -b option back?
144 .PP
145 Most people asking this question are not aware that youtube-dl now
146 defaults to downloading the highest available quality as reported by
147 YouTube, which will be 1080p or 720p in some cases, so you no longer
148 need the -b option.
149 For some specific videos, maybe YouTube does not report them to be
150 available in a specific high quality format you\[aq]\[aq]re interested
151 in.
152 In that case, simply request it with the -f option and youtube-dl will
153 try to download it.
154 .SS I get HTTP error 402 when trying to download a video. What\[aq]s
155 this?
156 .PP
157 Apparently YouTube requires you to pass a CAPTCHA test if you download
158 too much.
159 We\[aq]\[aq]re considering to provide a way to let you solve the
160 CAPTCHA (https://github.com/rg3/youtube-dl/issues/154), but at the
161 moment, your best course of action is pointing a webbrowser to the
162 youtube URL, solving the CAPTCHA, and restart youtube-dl.
163 .SS I have downloaded a video but how can I play it?
164 .PP
165 Once the video is fully downloaded, use any video player, such as
166 vlc (http://www.videolan.org) or mplayer (http://www.mplayerhq.hu/).
167 .SS The links provided by youtube-dl -g are not working anymore
168 .PP
169 The URLs youtube-dl outputs require the downloader to have the correct
170 cookies.
171 Use the \f[C]--cookies\f[] option to write the required cookies into a
172 file, and advise your downloader to read cookies from that file.
173 Some sites also require a common user agent to be used, use
174 \f[C]--dump-user-agent\f[] to see the one in use by youtube-dl.
175 .SS ERROR: no fmt_url_map or conn information found in video info
176 .PP
177 youtube has switched to a new video info format in July 2011 which is
178 not supported by old versions of youtube-dl.
179 You can update youtube-dl with \f[C]sudo\ youtube-dl\ --update\f[].
180 .SS ERROR: unable to download video
181 .PP
182 youtube requires an additional signature since September 2012 which is
183 not supported by old versions of youtube-dl.
184 You can update youtube-dl with \f[C]sudo\ youtube-dl\ --update\f[].
185 .SS SyntaxError: Non-ASCII character
186 .PP
187 The error
188 .IP
189 .nf
190 \f[C]
191 File\ "youtube-dl",\ line\ 2
192 SyntaxError:\ Non-ASCII\ character\ \[aq]\\x93\[aq]\ ...
193 \f[]
194 .fi
195 .PP
196 means you\[aq]re using an outdated version of Python.
197 Please update to Python 2.6 or 2.7.
198 .PP
199 To run youtube-dl under Python 2.5, you\[aq]ll have to manually check it
200 out like this:
201 .IP
202 .nf
203 \f[C]
204 git\ clone\ git://github.com/rg3/youtube-dl.git
205 cd\ youtube-dl
206 python\ -m\ youtube_dl\ --help
207 \f[]
208 .fi
209 .PP
210 Please note that Python 2.5 is not supported anymore.
211 .SS What is this binary file? Where has the code gone?
212 .PP
213 Since June 2012 (#342) youtube-dl is packed as an executable zipfile,
214 simply unzip it (might need renaming to \f[C]youtube-dl.zip\f[] first on
215 some systems) or clone the git repository, as laid out above.
216 If you modify the code, you can run it by executing the
217 \f[C]__main__.py\f[] file.
218 To recompile the executable, run \f[C]make\ youtube-dl\f[].
219 .SS The exe throws a \f[I]Runtime error from Visual C++\f[]
220 .PP
221 To run the exe you need to install first the Microsoft Visual C++ 2008
222 Redistributable
223 Package (http://www.microsoft.com/en-us/download/details.aspx?id=29).
224 .SH COPYRIGHT
225 .PP
226 youtube-dl is released into the public domain by the copyright holders.
227 .PP
228 This README file was originally written by Daniel Bolton
229 (<https://github.com/dbbolton>) and is likewise released into the public
230 domain.
231 .SH BUGS
232 .PP
233 Bugs and suggestions should be reported at:
234 <https://github.com/rg3/youtube-dl/issues>
235 .PP
236 Please include:
237 .IP \[bu] 2
238 Your exact command line, like
239 \f[C]youtube-dl\ -t\ "http://www.youtube.com/watch?v=uHlDtZ6Oc3s&feature=channel_video_title"\f[].
240 A common mistake is not to escape the \f[C]&\f[].
241 Putting URLs in quotes should solve this problem.
242 .IP \[bu] 2
243 The output of \f[C]youtube-dl\ --version\f[]
244 .IP \[bu] 2
245 The output of \f[C]python\ --version\f[]
246 .IP \[bu] 2
247 The name and version of your Operating System ("Ubuntu 11.04 x64" or
248 "Windows 7 x64" is usually enough).