---
name: "quvi-dump"
section: "1"
platform: "linux"
package: "quvi"
version: "0.9.5-0.2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/quvi-dump"
---

# quvi-dump(1)

The dull-witted property printer

## 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)](/libquvi-scripts/7.md) 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)](/libquvi-scripts/7.md).

## CONFIGURATION

See [**quvirc**(5)](/quvirc/5.md) 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. The input may contain file URIs.

## OPTIONS

### Core

- \-o, --check-mode-offline

  Do not resolve URL redirections before passing the URL to the [**libquvi-scripts**(7)](/libquvi-scripts/7.md) 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)](/libquvi/3.md) 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)](/libquvi/3.md) to exit with an error when reached

  •

  *best* - instructs [**libquvi**(3)](/libquvi/3.md) to choose the best quality stream

  The *best* quality is determined by the [**libquvi-scripts**(7)](/libquvi-scripts/7.md) 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)](/libquvi/3.md) 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)](/quvirc/5.md) 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)](/libquvi-scripts/7.md) 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)](/quvi/1.md)

## 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)](/quvirc/5.md), [**libquvi**(3)](/libquvi/3.md)

## FURTHER RESOURCES

Home

http://quvi.sourceforge.net/

Development code

git://repo.or.cz/quvi-tool.git

gitweb

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)](/quvi/1.md)* suite
