summaryrefslogtreecommitdiff
path: root/network/youtube-dl/youtube-dl.1
blob: 0ce8194b963bea1596c14a7326a04744d12fd456 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.09)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "YOUTUBE-DL 1"
.TH YOUTUBE-DL 1 "2009-11-19" "perl v5.10.1" "User Commands"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
youtube\-dl \- download videos from youtube.com
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&  youtube\-dl [options] url ...
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
youtube-dl is a script to download videos from youtube.com.
.PP
Once it is installed in your system, you should be able to call it from
the command line. Usage instructions are easy. Use youtube-dl followed
by a video \s-1URL\s0 or identifier. As an example, consider:
.PP
.Vb 1
\&  youtube\-dl "http://www.youtube.com/watch?v=foobar"
.Ve
.PP
The video will be saved to the file \f(CW\*(C`foobar.flv\*(C'\fR in that example. Many
YouTube.com videos are in Flash Video format and their extension would
be \f(CW\*(C`flv\*(C'\fR. Other videos are encoded in H.264 and these usually have the
extension \f(CW\*(C`mp4\*(C'\fR.  In Linux and other unices, video players using a
recent version of ffmpeg can play them. That includes MPlayer, \s-1VLC\s0,
xine, among others.
.SH "OPTIONS"
.IX Header "OPTIONS"
\&\fByoutube-dl\fR accepts options in the following categories
.IP "\-h, \-\-help" 4
.IX Item "-h, --help"
Print help text and exit.
.IP "\-v, \-\-version" 4
.IX Item "-v, --version"
Print program version and exit.
.IP "\-i, \-\-ignore\-errors" 4
.IX Item "-i, --ignore-errors"
Ignore errors during download and continue processing.
.IP "\-r \fBL\fR, \-\-rate\-limit=\fBL\fR" 4
.IX Item "-r L, --rate-limit=L"
Limit the download speed to the specified maximum \fBL\fR (e.g., 50k or 44.6m).
.IP "\-u \fB\s-1UN\s0\fR, \-\-username=\fB\s-1UN\s0\fR" 4
.IX Item "-u UN, --username=UN"
Specify the youtube account username \fB\s-1UN\s0\fR. Some videos require an
account to be downloaded, mostly because they're flagged as mature
content.
.IP "\-p \fB\s-1PW\s0\fR, \-\-password=\fB\s-1PW\s0\fR" 4
.IX Item "-p PW, --password=PW"
Like the username, specifies the account password to be \fB\s-1PW\s0\fR.
.IP "\-n, \-\-netrc" 4
.IX Item "-n, --netrc"
Get authentication data from the standard unix .netrc file on the user's
home directory. The machine name is youtube in regarding this usage.
.IP "\-f \s-1FMT\s0, \-\-format=FMT" 4
.IX Item "-f FMT, --format=FMT"
Specify the video format (quality) in which to download the video. Note
that not all videos are available in all formats.
.IP "\-b, \-\-best\-quality" 4
.IX Item "-b, --best-quality"
Download the best video quality available for the video(s) specified by
the user.
.IP "\-m, \-\-mobile\-version" 4
.IX Item "-m, --mobile-version"
Synonymous to the option \*(L"\-f 17\*(R", to download videos playable on some
mobile phones.
.IP "\-d, \-\-high\-def" 4
.IX Item "-d, --high-def"
Synonymous to the option \*(L"\-f 37\*(R", to download videos in \s-1HD\s0 quality
(1080p).
.IP "\-q, \-\-quiet" 4
.IX Item "-q, --quiet"
Activates quiet mode, avoiding many messages being written to the
terminal.
.IP "\-s, \-\-simulate" 4
.IX Item "-s, --simulate"
Simulate the operation, but do not download the video. Useful for
testing.
.IP "\-g, \-\-get\-url" 4
.IX Item "-g, --get-url"
Simulate the operation, like quiet mode, but show the \s-1URL\s0 that would be
used to download the video. Can be used with other download tools like
wget or aria2c.
.IP "\-e, \-\-get\-title" 4
.IX Item "-e, --get-title"
Simulate the operation, like quiet mode, but show the title of the video
that would be downloaded.
.IP "\-t, \-\-title" 4
.IX Item "-t, --title"
Use the title of the video in the file name used to download the video.
.IP "\-l, \-\-literal" 4
.IX Item "-l, --literal"
Use the literal title of the video in file name used to download the
video. Can contain \*(L"weird\*(R" characters that are not filtered like with
the \-t option.
.IP "\-o \fB\s-1TPL\s0\fR, \-\-output=\fB\s-1TPL\s0\fR" 4
.IX Item "-o TPL, --output=TPL"
Specify a template \fB\s-1TPL\s0\fR for the names of the files to be created when
they are downloaded. The default filename is video_id.flv. But you can
also use the video title in the filename with the \f(CW\*(C`\-t\*(C'\fR or \f(CW\*(C`\-\-title\*(C'\fR
option, or preserve the literal title in the filename with the \f(CW\*(C`\-l\*(C'\fR or
\&\f(CW\*(C`\-\-literal\*(C'\fR option.
.IP "\-a \fBF\fR, \-\-batch\-file=\fBF\fR" 4
.IX Item "-a F, --batch-file=F"
Specify the name of a file containing URLs of videos to download from
youtube in batch mode. The file must contain one \s-1URL\s0 per line.
.IP "\-w, \-\-no\-overwrites" 4
.IX Item "-w, --no-overwrites"
Do no overwrite already existing files.
.IP "\-c, \-\-continue" 4
.IX Item "-c, --continue"
Resume partially downloaded files.
.SH "OUTPUT TEMPLATE"
.IX Header "OUTPUT TEMPLATE"
The \-o option allows users to indicate a template for the output file
names. The basic usage is not to set any template arguments when
downloading a single file, like in youtube-dl \-o funny_video.flv
\&\*(L"http://some/video\*(R". However, it may contain special sequences that will
be replaced when downloading each video.
.PP
The special sequences have the format \f(CW\*(C`%(NAME)s\*(C'\fR. To clarify, that's a
percent symbol followed by a name in parenthesis, followed by a
lowercase S. Allowed names are:
.IP "id" 4
.IX Item "id"
The sequence will be replaced by the video identifier.
.IP "url" 4
.IX Item "url"
The sequence will be replaced by the video \s-1URL\s0.
.IP "uploader" 4
.IX Item "uploader"
The sequence will be replaced by the nickname of the person who uploaded
the video.
.IP "title" 4
.IX Item "title"
The sequence will be replaced by the literal video title.
.IP "stitle" 4
.IX Item "stitle"
The sequence will be replaced by a simplified video title, restricted to
alphanumeric characters and dashes.
.IP "ext" 4
.IX Item "ext"
The sequence will be replaced by the appropriate extension (like \f(CW\*(C`flv\*(C'\fR
or \f(CW\*(C`mp4\*(C'\fR).
.IP "epoch" 4
.IX Item "epoch"
The sequence will be replaced by the Unix epoch when creating the file.
.PP
As you may have guessed, the default template is \f(CW\*(C`%(id)s.%(ext)s\*(C'\fR. When
some command line options are used, it's replaced by other templates
like \f(CW\*(C`%(title)s\-%(id)s.%(ext)s\*(C'\fR. You can specify your own.
.SH "AUTHOR"
.IX Header "AUTHOR"
youtube-dl was written by Ricardo Garcia Gonzalez and many contributors
from all around the internet.  This manpage was written by RogA\*~Xrio Brito
<rbrito@users.sf.net>.