1cclive(1) cclive manual cclive(1)
2
3
4
6 cclive - media download tool
7
9 cclive [options] [url | file...]
10
12 cclive is a tool for downloading media from YouTube and similar
13 websites. It has a low memory footprint compared to other existing
14 tools.
15
17 Unless an arg is specified in the command line, cclive reads from the
18 stdin. The command line args may be either URLs or files to read. If
19 cclive reads from either stdin or files, it expects each URL to be
20 separated by a newline or whitespace character.
21
22 --version
23 Print version and exit.
24
25 --help
26 Print help and exit.
27
28 --license
29 Print license and exit.
30
31 --support
32 Print supported hosts and exit.
33
34 --verbose-libcurl
35 Turn on libcurl verbose output.
36
37 -q, --quiet
38 Turn off all output to stdout and stderr with the exception of
39 "--verbose-libcurl", if enabled, libcurl will continue to print
40 messages to stderr.
41
42 -b, --background
43 Go to background after startup. Output will be written to the file
44 specified with "--log-file".
45
46 -F, --query-formats
47 Query available formats.
48
49 -f, --format arg (=default)
50 Download format arg of the media. arg can also be "help" or "list".
51 The resulting format may be different from the arg if the requested
52 format was not available. This is determined by libquvi, not
53 cclive.
54
55 arg "list" is deprecated and will be removed in the later versions.
56 Use "--query-formats" instead.
57
58 -c, --continue
59 Resume partially downloaded media.
60
61 -W, --overwrite
62 Overwrite existing media.
63
64 -O, --output-file arg
65 Write media to arg. Overrides "--filename-format".
66
67 -n, --no-download
68 Do not download the media, print details only.
69
70 -r, --no-resolve
71 Do not resolve URL redirections. If enabled, breaks the
72 compatibility with most "shortened" URLs.
73
74 --no-proxy
75 Disable use of HTTP proxy. Overrides both "--proxy" and http_proxy
76 environment settings.
77
78 --log-file arg (=cclive_log)
79 Write log output to arg. Ignored unless used with "--background".
80 Overwrites the existing arg file (if any). See also "--background"
81 and "--update-interval".
82
83 --config-file arg (=$HOME/.ccliverc)
84 Path to a file to read cclive arguments from.
85
87 In addition to the command line, the configurable options may also be
88 read from the configuration file. See "FILES".
89
90 --progressbar arg (=normal)
91 Use progressbar arg. Ignored with "--background" which will always
92 use 'dotline' type. arg can be one of the following strings:
93
94 normal .. Default
95 dotline .. Used by --background as default
96 simple .. Less verbose
97
98 --update-interval arg (=1)
99 Specify arg progressbar update interval in seconds. The value may
100 be a 'double', e.g. 0.2 or 1.99.
101
102 --filename-format arg (="%t.%s")
103 How the downloaded media file should be named. Each occurence of
104 the following specifiers will be replaced in the arg:
105
106 %t .. Media title (after applying --regexp)
107 %i .. Media ID
108 %h .. Media host ID (e.g. "vimeo")
109 %s .. Media file suffix (e.g. "flv")
110
111 --output-dir arg
112 Write downloaded media to arg directory.
113
114 --regexp arg (="/(\w|\s)/g")
115 Regular expression arg to cleanup the media title before it is used
116 in the filename. Supports "i" (case-insensitive) and "g" (global or
117 "find all").
118
119 --subst arg ...
120 Replace matched occurences in the media filename after applying
121 "--filename-format" and "--regexp". To use multiple substitutions,
122 separate each expression in arg with a whitespace. Supports "i"
123 (case-insensitive) and "g" (global or "find all").
124
125 Delimiters supported:
126
127 <> {} () /
128
129 Note:
130
131 s/old/new/ .. Invalid
132 s/old//new/ .. OK
133
134 --exec arg
135 Invoke arg after each successfully finished download. Each
136 occurence of the following specifiers will be replaced (and double-
137 quoted) in the arg:
138
139 %f .. Full path to the downloaded media file
140
141 --agent arg (="Mozilla/5.0")
142 Identify cclive as arg to the HTTP servers.
143
144 --proxy arg
145 Use arg for HTTP proxy, e.g. "http://foo:1234". Overrides
146 http_proxy environment setting.
147
148 --throttle arg (=0, disabled)
149 Do not exceed the transfer rate arg KB/s.
150
151 --connect-timeout arg (=30)
152 This option wraps the CURLOPT_CONNECTTIMEOUT (libcurl):
153
154 "Pass a long. It should contain the maximum time in seconds that
155 you allow the connection to the server to take.
156
157 This only limits the connection phase, once it has connected, this
158 option is of no more use. Set to zero to disable connection timeout
159 (it will then only timeout on the system's internal timeouts). See
160 also the CURLOPT_TIMEOUT option." -- curl_easy_setopt(3)
161
162 --transfer-timeout arg (=0, disabled)
163 This option wraps the CURLOPT_TIMEOUT (libcurl):
164
165 "Pass a long as parameter containing the maximum time in seconds
166 that you allow the libcurl transfer operation to take.
167
168 Normally, name lookups can take a considerable time and limiting
169 operations to less than a few minutes risk aborting perfectly
170 normal operations. This option will cause curl to use the SIGALRM
171 to enable time-outing system calls." -- curl_easy_setopt(3)
172
173 --dns-cache-timeout arg (=60)
174 This option wraps the CURLOPT_DNS_CACHE_TIMEOUT (libcurl):
175
176 "Pass a long, this sets the timeout in seconds. Name resolves will
177 be kept in memory for this number of seconds. Set to zero to
178 completely disable caching, or set to -1 to make the cached entries
179 remain forever. By default, libcurl caches this info for 60
180 seconds.
181
182 The name resolve functions of various libc implementations don't
183 re-read name server information unless explicitly told so (for
184 example, by calling res_init(3)). This may cause libcurl to keep
185 using the older server even if DHCP has updated the server info,
186 and this may look like a DNS cache issue to the casual libcurl-app
187 user." -- curl_easy_setopt(3)
188
189 --max-retries arg (=5, 0=disabled)
190 Retry downloading arg times before giving up.
191
192 --retry-wait arg (=5)
193 Wait arg seconds before retrying after a failed attempt.
194
196 Put the URLs inside quotes when they are specified as the command line
197 arguments to the program. This is the recommended practice.
198
199 cclive "URL"
200 Typical use.
201
202 cclive -f best "URL"
203 Download the best available format of the media. This assumes >1
204 formats are supported, otherwise will fallback to default format.
205
206 cclive -F "URL"
207 Query available formats to the URL. Use one of the returned format
208 strings from this list with "--format".
209
210 cclive -n "URL"
211 Do not download the media, print the details only.
212
213 cclive "URL" --subst "s{Alice}{Malice}g"
214 Replace "Alice" in the media title with "Malice" before it is used
215 in the filename.
216
217 cclive "URL" -b --log-file foo.log
218 Go to background, redirect output to "foo.log".
219
220 pkill -USR1 cclive
221 Interrupt the current download of all matching cclive processes.
222 Causes cclive to move onto the next URL in the queue, if any.
223
225 $HOME/.ccliverc
226 Or use "--config-file". See "--help" or "OPTIONS - CONFIGURATION"
227 for the configurable options.
228
229 Example:
230
231 filename-format = %h_%i_(%t).%s
232 regexp = /(\w|\pL)/g
233 exec = /usr/bin/vlc %f
234 proxy = http://foo:1234
235 progressbar = simple
236
238 cclive exits with 0 on success and >0 if an (unrecoverable) error
239 occurred.
240
242 --no-download
243 Use the "--no-download" switch when you don't need to download the
244 media.
245
246 --verbose-libcurl
247 Make libcurl verbose.
248
249 Debug symbols
250 Compile cclive with "-g", see also gcc(1).
251
252 Other tools
253 See also gdb(1), strace(1) and valgrind(1).
254
256 Home : http://cclive.sourceforge.net/
257 gitweb: http://repo.or.cz/w/cclive.git
258
260 The name "clive" originates from the words "command line video
261 extration", the prepending "c" refers to C or C++. cclive is a rewrite
262 of clive(1) in C++.
263
265 cclive is free software, licensed under the GPLv3+.
266
268 Toni Gundogdu <legatvs at sign gmail com>.
269
270 Thanks to all those who have contributed to the project by sending
271 patches, reporting bugs and writing feedback. You know who you are.
272
273
274
2750.7.5 2011-07-31 cclive(1)