Provided by:
cclive_0.5.5-1_i386 
NAME
cclive - lightweight video extraction tool
SYNOPSIS
cclive [options] [url...]
DESCRIPTION
cclive is a lightweight command line video extraction tool for Youtube
and other similar video websites. It is a rewrite of the clive software
in C++ with lower system footprint and fewer dependencies.
cclive is primarily a "video download tool" but it can also be used
along side with video player software, like "mplayer", for viewing
streamed videos instead of the Adobe flash player.
OPTIONS
-h, --help
Print help and exit.
-v, --version
Print version and exit.
--hosts
Print supported hosts and exit.
Output
-q, --quiet
Turn off all output.
--debug
Turn on libcurl verbose mode.
--emit-csv
Print video details in CSV format and exit. Prepends "csv:" for
each video. Ignores "--quiet" for CSV.
--print-fname
Print filename on a separate line before each download starts.
Prepends "file:" for each video.
HTTP
--agent=agentstring
Identify cclive as agentstring to the HTTP servers.
--proxy=proxyhost[:port]
Use the specified HTTP proxy. Overrides http_proxy definition.
--no-proxy
Do not use HTTP proxy, even if http_proxy environment variable is
defined.
--connect-timeout=seconds
Maximum time in seconds allowed for connection to take. Defaults
to 30.
--connect-timeout-socks=seconds
Otherwise identical to the above option but works around the known
"SOCKS proxy connect timeout" bug in libcurl. Defaults to 30.
-t, --retry=number
number of retries. Specify 0 for infinite. Default is 5 times, with
the exception of errors such as "forbidden" (403) or "not found"
(404).
--retry-wait=seconds
Wait 1..seconds between the retries. Default is 1.
Download
-O, --output-video=file
Write the video to file. Overrides "--filename-format".
-c, --continue
Resume a partially downloaded video file. Affects the file
transfers prior to this invocation of cclive. You do not need to
specify this option if you want the current invocation of cclive to
retry downloading should the connection be lost midway through.
This is the default behaviour.
-W, --overwrite
Overwrite the existing file. Negates "--continue".
-n, --no-extract
Do not actually extract any videos, simulate only. cclive parses,
verifies the video link and exits without downloading it.
l, --limit-rate=amount
Limit download speed to amount (KB/s). Ignored for video page
fetches.
-f, --format=formatid
Download formatid of the video. If set to "best", cclive attempts
to download the best quality of the video. See also "FORMATS".
-M, --format-map=hostid:formatid|hostid:formatid...
Like "--format" but allows specifying the format for multiple
hosts. Note that "--format" setting overrides this setting. See
also "EXAMPLES".
Filename formatting
-N, --number-videos
Prepend a numeric prefix (e.g. "001_") to the output filenames.
-r, --regexp=expression
Regular expression to cleanup the video titles before using them
for output filenames. Used in conjunction with the
"--filename-format" option. Refer to the PCRE manual page for the
supported regular expression syntax, patterns, etc. See also
"EXAMPLES".
-g, --find-all
Use repeated matching to find all occurences, like Perl’s /g
option. See also "EXAMPLES".
-F, --filename-format=formatstring
Use the specified formatstring to format the output filenames.
cclive defaults to "%h_%i.%s". Any of the following specifiers
appearing in the format string will be replaced accordingly:
%t = video title
%i = video id
%h = website id
%s = file suffix
Note that cclive converts any dashes (’-’) to underscores (’_’) in
video IDs. See also "EXAMPLES".
Subsequent
--exec=expression;
Execute expression after each file transfer. Optional arguments may
be passed to the command. The expression must be terminated by a
semicolon (";").
If the specifier "%i" appears anywhere in expression it will be
replaced with the pathname of the extracted video file.
--exec=expression+
Same as "--exec", except that "%i" will be replaced with as many
pathnames as possible for the invocation of expression.
-e, --exec-run
Invokes the expression specified with "--exec" when download
finishes.
Streaming
--stream-exec=expression
Expression to be invoked with "--stream" and "--stream-pass".
If a "%i" specifier is used in the expression, it will be replaced
with either the video pathname ("--stream") or the parsed video
link ("--stream-pass").
-s, --stream-pass
Pass parsed video link to the expression specified with
"--stream-exec". See also "EXAMPLES". Inspired by a clive(1)
wrapper script contributed by Bill Squire.
--stream=percentage
Mimics "streaming" by forking the expression specified with
"--stream-exec" when the progress reaches percentage. cclive
continues to download the video while the child process works (e.g.
plays) in the background. See also "EXAMPLES".
Note that this feature is very simple. For example, it does not
check if the child process runs out of data.
If there are more than one video in the batch, cclive continues to
download the next video only when the child process terminates.
This mode is supported for historical reasons only and should be
considered deprecated. See "--stream-pass" for a better solution.
EXAMPLES
cclive URL
Download video from URL.
cclive -f fmt18 Youtube_URL
Download fmt18 (mp4) format of the video.
cclive -F "%t.%s" URL
Use video titles in filenames. cclive uses "%i_%h.%s" by default.
For the supported specifiers, refer to the "--filename-format"
description.
cclive -F "%t.%s" -r "(\w+)" URL
Match a string of "word" character from the video title and use it
in the filename replacing the "%t" specifier. cclive replaces the
"%s" specifier with appropriate file suffix string (e.g. "flv").
cclive -F "%t.%s" -gr "(\w|\s)" URL
Match all "word" and "whitespace" characters, and use them in the
filename replacing the "%t". Note the use of "-g" (or "--find-all")
option.
cclive --exec="mplayer -really-quiet %i;" -e URL
Play the downloaded video with mplayer(1) when download finishes.
cclive --exec="ffmpeg -i %i -acodec libvorbis %i.ogg;" -e URL
Similar but re-encode audio from the video using ffmpeg(1) to a
vorbis file.
cclive --stream-exec="mplayer -really-quiet %i" --stream=20 URL
Mimics "streaming" by starting a child process (mplayer(1)) when
the progress reaches 20% complete. cclive then continues to
download the video file while mplayer(1) plays the video file in
the background.
See the next example for a better solution if you are not
interested in keeping a local copy of the video.
echo ’stream-exec = "mplayer -really-quiet %i"’ >> ~/.ccliverc
cclive -s URL
Leaves streaming to mplayer(1) altogether. cclive only parses the
video link and passes it to the command specified with
"--stream-exec". This can be used as an alternative to the Adobe
flash player if you only want to view the streamed videos without
getting a local copy of the video file.
We have added "--stream-exec" to the config file to save ourselves
from retyping it later, allowing us to stream the video by just
typing "-s".
Other player software, e.g. vlc(1) and totem(1), should work also.
cat > url.lst
http://en.sevenload.com/videos/IUL3gda-Funny-Football-Clips
http://youtube.com/watch?v=3HD220e0bx4
http://break.com/index/beach-tackle-whip-lash.html
http://www.liveleak.com/view?i=704_1228511265
cclive < url.lst
cat url.lst | cclive
Alternative to passing multiple links to cclive as command line
arguments.
echo ’format-map = "youtube:mp4|dailymotion:vp6_hq"’ >> ~/.ccliverc
cclive Youtube_URL Dailymotion_URL
Causes cclive to download mp4 of the Youtube video and vp6_hq of
the Dailymotion video. Note that the use of -f (or "--format")
overrides this setting.
FORMATS
youtube.com
Format: flv|fmt17|fmt18|fmt22|fmt35
If --format option is not unused, cclive defaults to whatever
Youtube defaults to. Technically speaking, we leaving the "&fmt="
from the video link.
Youtube likes to rehash these from time to time so don’t be
surprised if, for example, the quality is not what you expected.
The same applies to the suffices listed below.
YoutubeID Alias Suffix Resolution
fmt22 hd mp4 1280x720
fmt35 hq flv 640x380
fmt18 mp4 mp4 480x360
fmt34 - flv 320x180 (quality reportedly varies)
fmt17 3gp 3gp 176x144
You can use either, the "alias" (e.g. "hd") or the "YoutubeID"
(e.g. "fmt22") with --format. The aliases exist for historical
reasons. The suffix is parsed from the content-type field of the
returned HTTP header.
cclive can also download videos that last.fm lists as Youtube
hosted videos.
dailymotion.com
Format: flv|spark-mini|vp6-hq|vp6-hd|vp6|h264
The HD and HQ videos may not always be available.
vp6-hd .. on2 (1280x720)
vp6-hq .. on2 (848x480)
h264 .. h264 (512x384)
vp6 .. on2 (320x240)
flv .. flv (320x240)
spark-mini.. flv (80x60)
spiegel.de
Format: vp6_(64|576|928)|h264_1400
h264_1400 .. mp4 (996x560)
vp6_928 .. flv (996x560)
vp6_576 .. flv (560x315)
vp6_64 .. flv (180x100) [default]
golem.de
Format: flv|high|ipod
vimeo.com
Format: flv|hd
HD should be available for the vimeo.com/hd channel videos at
least. Note that "flv" only means the "default flv". Some of the
hosted "default" videos are actually "mp4", not "flv".
For further reading:
http://vimeo.com/help/hd
video.google.com
Format: flv|mp4
mp4 may not always be available.
sevenload.com
break.com
liveleak.com
evisor.tv
clipfish.de
funnyhub.com
myubo.com
tv.cctv.com
ehrensenf.de
redtube.com
Format: flv
FILES
$CCLIVE_HOME|$HOME/.ccliverc
agent = Furball/1.0 # --agent=...
proxy = http://foo:1234 # --proxy=...
limit-rate = 50 # --limit-rate=...
no-extract # --no-extract
Most of the program options can be specified in the ~/.ccliverc
config file.
UNICODE
If you are seeing mangled characters in output filenames (titles), this
may be because of an invalid locale setting or a sign of terminal
incapable of displaying unicode characters. On a typical Unix-like
system, try running "locale -a" to get a list of the available locale
names.
For example, in bash and urxvt terms:
% LANG=en_US.UTF8 urxvt&
% cclive ... # in new terminal
cclive converts the characters to unicode if the video HTML specifies
the charset meta tag. Otherwise the characters are copied as they are.
If you are missing the unicode characters when using "--regexp" and
"--filename-format", make sure the regular expression includes "\pL".
For example:
% cclive -F "%t.%s" -gr "(\w|\s|\pL") URL
"In UTF-8 mode, characters with values greater than 128 never match \d,
\s, or \w, and always match \D, \S, and \W. This is true even when Uni-
code character property support is available. These sequences retain
their original meanings from before UTF-8 support was available, mainly
for efficiency reasons. Note that this also affects \b, because it is
defined in terms of \w and \W." -- man pcrepattern
BUGS
Sure to be some. Please report them:
<http://code.google.com/p/cclive/issues/>
DEBUGGING
Useful options for debugging cclive.
cclive --debug URL
Turn on libcurl verbose mode.
cclive -n URL
Simulate only; cclive will parse and verify the video link without
downloading it.
EXIT STATUS
cclive exits 0 on success, and >0 if an error occurs.
CCLIVE_OK = 0
CCLIVE_OPT = 1 // cmdline option parsing error
CCLIVE_OPTARG = 2 // cmdline option arg error
CCLIVE_CURLINIT = 3 // curl init error
CCLIVE_NOTHINGTODO = 4 // file already retrieved
CCLIVE_SYSTEM = 5 // system call failed
CCLIVE_NOSUPPORT = 6 // host not supported
CCLIVE_NET = 7 // network error
CCLIVE_FETCH = 8 // fetch error
CCLIVE_PARSE = 9 // parse error
CCLIVE_INTERNAL = 10 // internal error (see return code)
OTHER
Project page:
<http://cclive.googlecode.com/>
Front-end:
<http://abby.googlecode.com/>
Development code:
% git clone git://repo.or.cz/cclive.git
SEE ALSO
clive(1)
AUTHOR
Toni Gundogdu <legatvs@gmail.com>
Thanks to all those who have contributed to the project by sending
patches, reporting bugs and writing feedback. You know who you are.