CCLIVE(1) | cclive Manual | CCLIVE(1) |
cclive - media stream extraction tool
cclive [OPTIONS] [URL|FILE ...]
cclive is a command line tool for downloading media streams from YouTube and similar websites.
The command will read stdin by default. The input is expected to contain URLs. The command arguments are expected to be either URLs or file paths. If the input is read from either stdin or a file, the contents are read as RFC2483. The input may also contain URIs (file://) to local files.
-b, --background
-F, --config-file <arg>
-c, --continue
config:
continue = {true|false}
-e, --exec <arg>
All occurences of the following sequences will be replaced in the arg:
%f .. Full path to the downloaded media file
%n .. Name of the downloaded media file
%t .. Unfiltered media title config:
exec = arg
-n, --no-download
-s, --stream <ID>
libquvi(3) 0.9+ treats the ID value as a regex PATTERN and matches it against the libquvi-scripts(7) returned media stream IDs. Additionally, the value of ID may be a comma-separated list of regex PATTERNs.
In comparison, libquvi(3) 0.4 only checks whether the strings (the value of ID and the returned media stream ID) are equal.
The ID value may also contain the following reserved keywords:
The best quality is determined by libquvi-scripts(7). The method varies, depending on the libquvi(3) version and the website.
For example, libquvi-scripts(7) 0.9+ would typically compare the media quality properties (e.g. the video height property). In reality, the method will vary depending on the data provided by the media hosting service, and the implementation of the support script that was written for the website.
See the --version output to confirm whether cclive was built with libquvi(3) 0.9 or later. See also the section called “EXAMPLES”.
config:
stream = arg
-N, --timestamp
config:
timestamp = {true|false}
-h, --help
-S, --print-streams
-D, --print-config
-u, --support
-v, --version
-f, --filename-format <arg>
%t .. Media title (after applying --tr)
%s .. Media file extension
%i .. Media ID
The default value is "%t.%s".
config:
filename-format = arg
-l, --log-file <arg>
-d, --output-dir <arg>
config:
output-dir = arg
-O, --output-file <arg>
-W, --overwrite
-R, --progressbar <arg>
config:
progressbar = arg
-q, --quiet
-t, --tr <arg>
config:
tr = arg
-i, --update-interval <arg>
config:
update-interval = arg
-B, --verbose-libcurl
-a, --agent <arg>
config:
agent = arg
-C, --connect-timeout <arg>
config:
connect-time = arg
-A, --dns-cache-timeout <arg>
config:
dns-cache-timeout = arg
-m, --max-retries <arg>
Note that the program will skip retrying altogether if the server returned HTTP 400 (and over), or if libquvi(3) returned an unrecoverable error (e.g. missing libquvi-scripts(7)).
config:
max-retries = arg
-X, --no-proxy
-r, --no-resolve
When libquvi 0.9 or later is being used with cclive, this option will be ignored. The library will always resolve any URL redirections. See --version output to see if cclive was compiled with libquvi 0.9+.
config:
no-resolve = {true|false}
-x, --proxy I<arg>
See curl(1) for more information about the supported environment variables.
config:
proxy = arg
-w, --retry-wait <arg>
config:
retry-wait = arg
-H, --throttle <arg>
config:
throttle = arg
-T, --transfer-timeout <arg>
config:
transfer-timeout = arg
These options will be removed eventually in the later versions of cclive.
-p, --prefer-format <arg>
Have the program choose the format (media stream) to download by matching the regular expression pattern match to the media URL as specified in the arg.
This option may be specified multiple times. The use of --stream will override the rules specified using this option.
The arg is a string pair separated by a colon. The string pair consists of:
config:
prefer-format = arg
$ cclive "URL"
$ cclive -S "URL"
$ cclive -s best "URL"
$ cclive -s foo,baz,best "URL"
See the --stream description for more details.
$ cclive -t 's/foo/bar/g' "URL"
$ cclive -b --log-file foo.log "URL"
$ pkill -USR1 cclive
$ cclive --exec 'echo "%f"' --exec 'totem "%f"' "URL"
$ cat URLs http://foo http://bar http://baz http://qux $ cat URLs | cclive $ cclive < URLs $ cclive URLs
~/.ccliverc
prefer-format = ^.*youtube.*\.com:fmt43_360p prefer-format = dailym:best
filename-format = %i_(%t).%s tr = /(\w)/g
progressbar = simple continue = true
proxy = http://foo:1234 no-resolve = false
exec = /usr/bin/totem %f
The availability and the identification of the media streams is determined by libquvi(3) and libquvi-scripts(7).
libquvi-scripts(7) returns the media stream IDs containing the itag value so that they can be referred to as such using the --stream or --prefer-format options. The --print-streams may be used to get a list of the available media streams.
libquvi-scripts 0.4
itag: 22 quvi: fmt22_720p
libquvi-scripts 0.9 and later
itag: 22 quvi: hd720_mp4_i22_720p
For more information about the YouTube video quality and codecs, visit http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs.
The program will exit with EXIT_SUCCESS (on POSIX systems this is 0) on success, and with EXIT_FAILURE (on POSIX systems this is 1) if an error occurred.
The development code may be cloned from git://repo.or.cz/cclive.git. The gitweb is accessible at http://repo.or.cz/w/cclive.git.
Toni Gundogdu <legatvs@gmail.com>
Report bugs to the cclive-devel mailing list <cclive-devel@lists.sourceforge.net> where the development and the maintenance is primarily done. You do not have to be subscribed to the list to send a message there.
cclive is Free Software, licensed under the GNU Affero GPLv3+.
11/23/2013 | cclive 0.9.3 |