Provided by: quvi_0.9.5-0.2build3_amd64 bug

NAME

       quvi-get - The vilified media stream extraction tool

SYNOPSIS

       quvi get [OPTIONS] [ARGS]

DESCRIPTION

       This command saves the media stream to a file.

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 entire playlist of media URLs will be extracted.

       Media URLs
           The media will be extracted.

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

       -L, --subtitle-export-format FORMAT (default: srt)
           Export the subtitle language to the specified FORMAT. The available FORMATs are
           determined by the current selection of the subtitle export libquvi-scripts(7).

           config: core.subtitle-export-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>

   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,...]>

   Get
       -w, --overwrite
           Overwrite the existing file.

       -g, --output-regex PATTERN (default: multiple)
           Apply a regex PATTERN against a media property.

           The PATTERN will be used to match/replace all occurences — this is similar to the g
           modifier of Perl. The option supports the m// (match, m is optional) operation and the
           s/// substitution operation.

           The syntax is similar to Perl-syntax except that this option expects a leading
           "property sequence" that specifies the media property to apply the regex PATTERN
           against. See the section called “Exec” for a complete list of the supported "property
           sequences".

           This option may be specified multiple times. Inside the quvirc(5) file, specify the
           PATTERNs in a comma-separated list. Double any backslashes inside the quvirc(5) in the
           PATTERN.

           The command applies the following PATTERNs by default:

               %t:/\w|\s/
               %t:s/\s\s+/ /
               %t:s/^\s+//
               %t:s/\s+$//

           config: get.output-regex=<PATTERN[,PATTERN,...]>

       -f, --output-file FILE
           Write the media to the specified FILE.

       -n, --output-name FORMAT (default: "%t.%e")
           Specify the file name FORMAT. This value determines how the saved media files will be
           named. All occurences of the supported media property sequences will be replaced. See
           the section called “Exec” for a complete list of the supported "property sequences".

           config: get.output-name=<FORMAT>

       -i, --output-dir DIR (default: cwd)
           Write the saved media to the DIR.

           config: get.output-dir=<DIR>

       -r, --resume-from OFFSET (default: 0)
           Specify the offset from which the transfer should continue. If this value is 0
           (default), the command will attempt to resume the transfers automatically. If the
           value is >0, the command will attempt to resume the transfer from the specified
           offset.

           If the value is >=0, the command will send an HEAD request to the HTTP server to query
           the content-{type,length} values. These are used to build the output filename and to
           determine whether the transfer should be resumed; the content-length value is compared
           to the local file length to determine whether transfer should resume.

           Use of a negative value (<0) will cause the command to disable resuming completely
           causing the command to skip the step that sends the HEAD request to the HTTP server,
           and start the transfer from the 0 offset, and effectively, overwriting the existing
           file. The content-{type,length} values are parsed from the returned HTTP GET response,
           instead.

           Technical: libcurl requires setting CURLOPT_RESUME_FROM_LARGE before
           ‘curl_easy_perform’ is called. The the command has no way of knowing whether the
           transfer should be resumed if ‘content-length’ is not queried by sending a HTTP HEAD
           request before the transfer begins. A possible workaround is to specify from which
           offset the transfer should continue, but this requires that the user determines the
           value by hand.

           config: get.resume-from=<OFFSET>

       -k, --skip-transfer
           Do not save the media.

           config: get.skip-transfer=<boolean>

       -t, --throttle RATE (default: 0)
           Do not exceed the transfer RATE (Ki/s). Setting this value to 0 disables the throttle.
           This setting affects only the saving process of the media stream.

           config: get.throttle=<RATE>

   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

       •   Save the stream:

               $ quvi get MEDIA_URL

       •   Dump the available streams:

               $ quvi get -S MEDIA_URL

       •   Save the selected stream:

               $ quvi get -s foo MEDIA_URL

       •   Similar to the above but choose the stream "baz" if "foo" is not available:

               $ quvi get -s foo,baz,best MEDIA_URL
               $ quvi get -s foo,baz,croak MEDIA_URL

           The first will grab whatever is the best quality if neither ("foo" or "baz") stream is
           available. The use of "croak" keyword will cause the command to exit with an error if
           neither stream is available.

       •   Dump the available subtitles:

               $ quvi get -B MEDIA_URL

       •   Do not save the media stream, grab "cc_en" subtitles only:

               $ quvi get -k -l cc_en,croak MEDIA_URL

           Use of "croak" keyword will cause the command to exit with an error if "cc_en"
           subtitle was not available.

       •   Watch the entire playlist using mplayer(1):

               $ quvi get -e "mplayer %f" PLAYLIST_URL

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

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