SYNOPSIS
quvi dump [OPTIONS] [ARGS]
DESCRIPTION
This command queries the properties for an URL and prints them to the stdout.
DEFAULT BEHAVIOUR
The command will attempt to determine if any of the libquvi-scripts(7) accept the input URL before exiting with an error. The script type {playlist,media,...} determines how the command will handle the input URL.
Playlist URLs
- The playlist properties (media URLs) are printed in the "rfc2483" format.
Media URLs
- The media properties will be printed in the "enum" format.
Available {subtitles,streams}
- Printed in the "rfc2483" format.
The --print-format may be used to change the default behaviour.
SUPPORT
The support for the media hosts is determined by the current selection of libquvi-scripts(7).
CONFIGURATION
See quvirc(5) for more information about the groups and the variables that quvi parses.
INPUT
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.
OPTIONS
Core
-o, --check-mode-offline
-
Do not resolve URL redirections before passing the URL to the
libquvi-scripts(7)
to determine whether the URL is accepted by any of the scripts.
config: core.check-mode-offline=<boolean>
-B, --print-subtitles
- Query and print the available media subtitles. See also --print-format.
-S, --print-streams
- Query and print the available media streams. See also --print-format.
-l, --subtitle-language PATTERN[,PATTERN,...]
-
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 croak which will cause libquvi(3) to exit with an error when reached.
-
Note
The first available subtitle language will be chosen if nothing matched the PATTERN
-
config: core.subtitle-language=<PATTERN[,PATTERN,...]>
-s, --stream PATTERN[,PATTERN,...]
-
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:
-
•
croak - instructs libquvi(3) to exit with an error when reached
-
•
best - instructs libquvi(3) to choose the best quality stream
The best quality is determined by the libquvi-scripts(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.
-
•
-
Note
The first available stream is selected if nothing matched
-
config: core.stream=<PATTERN[,PATTERN,...]>
-p, --print-format FORMAT (default: varies)
-
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:
-
•
enum
-
•
json - available only if quvi was built with JsonGLib
-
•
rfc2483
-
•
xml - available only if quvi was built with libxml
-
•
-
Note
The default value varies, see DEFAULT BEHAVIOUR.
-
config: core.print-format=<FORMAT>
-b, --verbosity LEVEL (default: verbose)
-
Specify the verbosity level of the command. LEVEL may be:
-
•
debug - verbose + enable verbose output for libcurl (CURLOPT_VERBOSE)
-
•
verbose - default
-
•
quiet - errors only
-
•
mute - nothing at all
config: core.verbosity=<LEVEL>
-
•
Dump
-q, --query-metainfo
-
Instruct the command to query the HTTP metainfo properties, namely Content-{Length,Type}. This will cause
libquvi(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=<boolean>
Exec
-A, --exec-dump-argv
-
Print the argument array used to execute the child program.
config: exec.dump-argv=<boolean>
-E, --exec-enable-stderr
-
Do not discard child program's standard error.
config: exec.enable-stderr=<boolean>
-O, --exec-enable-stdout
-
Do not discard child program's standard output.
config: exec.enable-stdout=<boolean>
-e, --exec COMMAND
-
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:
-
%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]
-
[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.
-
[2]: This sequence is unique to quvi-get(1)
This option may be specified multiple times. In the quvirc(5) file, specify the commands in a comma-separated list.
config: exec.external=<COMMAND[,COMMAND,...]>
-
HTTP
-c, --enable-cookies
-
Have libcurl parse the received cookies and use them in the subsequent HTTP requests.
config: http.enable-cookies=<boolean>
-u, --user-agent USERAGENT (default: Mozilla/5.0)
- Identify as USERAGENT to the HTTP server.
-
Note
libquvi-scripts(7) may override this value
-
config: http.user-agent=<USERAGENT>
EXAMPLES
-
•
Print media properties in XML:
-
$ quvi dump -p xml MEDIA_URL
-
-
•
Execute a child program:
-
$ quvi dump -e "totem %u" MEDIA_URL
-
-
•
Print playlist properties in JSON:
-
$ quvi dump -p json PLAYLIST_URL
-
-
•
Print available subtitles in JSON:
-
$ quvi dump -p json -B MEDIA_URL
-
-
•
Print available media streams:
-
$ quvi dump -S MEDIA_URL
-
-
•
Query media properties for each playlist item:
-
$ quvi dump PLAYLIST_URL | quvi dump
-
ENVIRONMENT
See quvi(1)
EXIT STATUS
Either EXIT_SUCCESS or EXIT_FAILURE. The actual value depends on the platform, on POSIX systems they are 0 (success) and 1 (failure).
FURTHER RESOURCES
Home
Development code
-
git://repo.or.cz/quvi-tool.git
gitweb
REPORTING BUGS
Report bugs to the quvi-devel mailing list <[email protected]> where the development and the maintenance is primarily done. You do not have to be subscribed to the list to send a message there.
LICENSE
quvi is Free Software licensed under the GNU Affero GPLv3+