QUVI-DUMP(1)

NAME
quvi-dump - The dull-witted property printer

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

-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).

SEE ALSO

quvirc(5), libquvi(3)

FURTHER RESOURCES

The development code may be cloned from git://repo.or.cz/quvi-tool.git. The gitweb is accessible at http://repo.or.cz/w/quvi-tool.git.

AUTHORS

Toni Gundogdu <legatvs@gmail.com>
    Author.

REPORTING BUGS

Report bugs to the quvi-devel mailing list <quvi-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.

LICENSE

quvi is Free Software licensed under the GNU Affero GPLv3+

QUVI

Part of the quvi(1) suite