'\" t .\" Title: quvi-dump .\" Author: [see the "Authors" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 11/10/2013 .\" Manual: quvi Manual .\" Source: quvi 0.9.5 .\" Language: English .\" .TH "QUVI\-DUMP" "1" "11/10/2013" "quvi 0\&.9\&.5" "quvi Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" quvi-dump \- The dull\-witted property printer .SH "SYNOPSIS" .sp .nf \fIquvi dump\fR [OPTIONS] [ARGS] .fi .SH "DESCRIPTION" .sp This command queries the properties for an URL and prints them to the stdout\&. .SH "DEFAULT BEHAVIOUR" .sp The command will attempt to determine if any of the \fBlibquvi-scripts\fR(7) accept the input URL before exiting with an error\&. The script type {playlist,media,\&...} determines how the command will handle the input URL\&. .PP Playlist URLs .RS 4 The playlist properties (media URLs) are printed in the "rfc2483" format\&. .RE .PP Media URLs .RS 4 The media properties will be printed in the "enum" format\&. .RE .PP Available {subtitles,streams} .RS 4 Printed in the "rfc2483" format\&. .RE .sp The \fI\-\-print\-format\fR may be used to change the default behaviour\&. .SH "SUPPORT" .sp The support for the media hosts is determined by the current selection of \fBlibquvi-scripts\fR(7)\&. .SH "CONFIGURATION" .sp See \fBquvirc\fR(5) for more information about the groups and the variables that quvi parses\&. .SH "INPUT" .sp The command will read stdin by default\&. The input is expected to \fIcontain\fR 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 contain file URIs\&. .SH "OPTIONS" .SS "Core" .PP \-o, \-\-check\-mode\-offline .RS 4 Do not resolve URL redirections before passing the URL to the \fBlibquvi-scripts\fR(7) to determine whether the URL is accepted by any of the scripts\&. config: core\&.check\-mode\-offline= .RE .PP \-B, \-\-print\-subtitles .RS 4 Query and print the available media subtitles\&. See also \fI\-\-print\-format\fR\&. .RE .PP \-S, \-\-print\-streams .RS 4 Query and print the available media streams\&. See also \fI\-\-print\-format\fR\&. .RE .PP \-l, \-\-subtitle\-language PATTERN[,PATTERN,\&...] .RS 4 Match a subtitle language using a regex PATTERN\&. The value may be a comma\-separated list of regex PATTERNs (left\-to\-right order) that are matched against the available selection\&. The value may also contain the reserved keyword \fIcroak\fR which will cause \fBlibquvi\fR(3) to exit with an error when reached\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .sp The first available subtitle language will be chosen if nothing matched the PATTERN .sp .5v .RE .sp .if n \{\ .RS 4 .\} .nf config: core\&.subtitle\-language= .fi .if n \{\ .RE .\} .PP \-s, \-\-stream PATTERN[,PATTERN,\&...] .RS 4 Match a stream using a regex PATTERN\&. The value may be a comma\-separated list of regex PATTERNs (left\-to\-right order) that are matched against the available selection\&. The value may contain the following reserved keywords: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcroak\fR \- instructs \fBlibquvi\fR(3) to exit with an error when reached .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbest\fR \- instructs \fBlibquvi\fR(3) to choose the best quality stream .RE .sp The \fIbest\fR quality is determined by the \fBlibquvi-scripts\fR(7) by comparing the media quality properties, e\&.g\&. the video height property, although the actual method may vary depending on the data provided by the media hosting service\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .sp The first available stream is selected if nothing matched .sp .5v .RE .sp .if n \{\ .RS 4 .\} .nf config: core\&.stream= .fi .if n \{\ .RE .\} .PP \-p, \-\-print\-format FORMAT (default: varies) .RS 4 Specify the format in which the properties should be printed\&. The command uses a different default value for this, depending on the input URL\&. FORMAT may be one of the following values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIenum\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIjson\fR \- available only if quvi was built with JsonGLib .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIrfc2483\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIxml\fR \- available only if quvi was built with libxml .RE .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .sp The default value varies, see DEFAULT BEHAVIOUR\&. .sp .5v .RE .sp .if n \{\ .RS 4 .\} .nf config: core\&.print\-format= .fi .if n \{\ .RE .\} .PP \-b, \-\-verbosity LEVEL (default: verbose) .RS 4 Specify the verbosity level of the command\&. LEVEL may be: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIdebug\fR \- verbose + enable verbose output for libcurl (CURLOPT_VERBOSE) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIverbose\fR \- default .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIquiet\fR \- errors only .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fImute\fR \- nothing at all .RE .sp config: core\&.verbosity= .RE .SS "Dump" .PP \-q, \-\-query\-metainfo .RS 4 Instruct the command to query the HTTP metainfo properties, namely Content\-{Length,Type}\&. This will cause \fBlibquvi\fR(3) to send an HTTP HEAD request for each HTTP media stream URL and parse the returned data\&. When used, the command will include these properties to the printed media properties\&. config: dump\&.query\-metainfo= .RE .SS "Exec" .PP \-A, \-\-exec\-dump\-argv .RS 4 Print the argument array used to execute the child program\&. config: exec\&.dump\-argv= .RE .PP \-E, \-\-exec\-enable\-stderr .RS 4 Do not discard child program\(cqs standard error\&. config: exec\&.enable\-stderr= .RE .PP \-O, \-\-exec\-enable\-stdout .RS 4 Do not discard child program\(cqs standard output\&. config: exec\&.enable\-stdout= .RE .PP \-e, \-\-exec COMMAND .RS 4 Execute a child program asynchoronously after parsing the media properties\&. COMMAND may contain any of the following property sequences\&. Each occurence will be replaced by the command before the COMMAND is executed: .sp .if n \{\ .RS 4 .\} .nf %s Media property: start time (ms) %T Media property: thumbnail URL %d Media property: duration (ms) %u Media stream property: URL %I Media stream property: ID %t Media property: title %i Media property: ID %e File extension[1] %f Path to the saved media file[2] .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [1]: The file extension is parsed from the HTTP content\-type header\&. quvi\-get(1) replaces this sequence with HTTP media streams only\&. quvi\-dump(2) replaces it only when \-\-query\-metainfo is used with HTTP media streams\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [2]: This sequence is unique to quvi\-get(1) .fi .if n \{\ .RE .\} .sp This option may be specified multiple times\&. In the \fBquvirc\fR(5) file, specify the commands in a comma\-separated list\&. .sp config: exec\&.external= .RE .SS "HTTP" .PP \-c, \-\-enable\-cookies .RS 4 Have libcurl parse the received cookies and use them in the subsequent HTTP requests\&. config: http\&.enable\-cookies= .RE .PP \-u, \-\-user\-agent USERAGENT (default: Mozilla/5\&.0) .RS 4 Identify as USERAGENT to the HTTP server\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .sp \fBlibquvi-scripts\fR(7) may override this value .sp .5v .RE .sp .if n \{\ .RS 4 .\} .nf config: http\&.user\-agent= .fi .if n \{\ .RE .\} .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print media properties in XML: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump \-p xml MEDIA_URL .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Execute a child program: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump \-e "totem %u" MEDIA_URL .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print playlist properties in JSON: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump \-p json PLAYLIST_URL .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print available subtitles in JSON: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump \-p json \-B MEDIA_URL .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print available media streams: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump \-S MEDIA_URL .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Query media properties for each playlist item: .sp .if n \{\ .RS 4 .\} .nf $ quvi dump PLAYLIST_URL | quvi dump .fi .if n \{\ .RE .\} .RE .SH "ENVIRONMENT" .sp See \fBquvi\fR(1) .SH "EXIT STATUS" .sp Either EXIT_SUCCESS or EXIT_FAILURE\&. The actual value depends on the platform, on POSIX systems they are 0 (success) and 1 (failure)\&. .SH "SEE ALSO" .sp \fBquvirc\fR(5), \fBlibquvi\fR(3) .SH "FURTHER RESOURCES" .PP Home .RS 4 http://quvi\&.sourceforge\&.net/ .RE .PP Development code .RS 4 git://repo\&.or\&.cz/quvi\-tool\&.git .RE .PP gitweb .RS 4 http://repo\&.or\&.cz/w/quvi\-tool\&.git .RE .SH "AUTHORS" .PP Toni Gundogdu .RS 4 Author\&. .RE .SH "REPORTING BUGS" .sp Report bugs to the quvi\-devel mailing list where the development and the maintenance is primarily done\&. You do not have to be subscribed to the list to send a message there\&. .SH "LICENSE" .sp quvi is Free Software licensed under the GNU Affero GPLv3+ .SH "QUVI" .sp Part of the \fIquvi(1)\fR suite