<commit_before>=head1 NAME

quvi - query media tool

=head1 SYNOPSIS

quvi [options] [url ...] [file ...]

=head1 DESCRIPTION

quvi is a command line tool for parsing flash media stream URLs.
It supports many websites including YouTube and Dailymotion.

=head1 OPTIONS

quvi reads standard input by default. It can also read the URLs from
files but expects each URL to be separated by a newline character.

=head2 -h, --help

Print help and exit.

=head2 --version

Print program version and exit.

=head2 --license

Print license and exit.

=head2 --support [I<arg>]

Print supported hosts and exit. If I<arg> is present, the program
checks whether the I<arg> is supported.

The default behaviour, without I<arg>, causes quvi to print the
supported websites. The B<first> string is the domain string which
is, in fact, a (Lua) pattern used to match the URL to a libquvi
script. The B<second> string is, I<now obsolete> (see below), an
array containing the supported formats specific to the host.

Use C<--query-formats> if you need to check an URL for the available
formats.

=head2 --export-errors

Print errors (to stderr) in the corresponding data interchange format.
The default is JSON. See also C<--xml>.

=head2 --xml

Print the media details (and errors, if C<--export-errors> is specified)
in XML.

=head2 -q, --quiet

Turn off all output printed to stderr (excl. any errors).
If C<--verbose-libcurl> is specified, libcurl will continue
to print messages to stderr. The media details will still
be printed to stdout.

=head2 --verbose-libcurl

Turn on libcurl verbose mode.

=head2 --exec I<arg>

Invoke I<arg> after each successfully parsed URL. The following
specifiers are supported:

 %t  ..  Media title
 %u  ..  Media URL

Note that I<each> occurence of the specifier will be replaced within
the I<arg>. quvi accepts multiple occurrences of C<--exec>. See also
L</EXAMPLES>.

=head2 -r, --no-resolve

Do not resolve HTTP redirections. When used, quvi will not be able
to resolve most of the "shortened URLs" produced by different URL
shortening services.

Note that libquvi scripts that explicitly (need to) resolve
redirections will continue to do so even if this switch is used.

=head2 -n, --no-verify

Do not verify media stream URL after parsing. When used, some
media details, e.g. content length, will not become available.

Note that libquvi skips the verification automatically with all
non-HTTP media stream URLs.

=head2 -c, --category I<arg> (=all)

Enable the level of the libquvi script categories. By default, all of the
categories levels are enabled. Possible values:

  http
  rtmp
  rtsp
  mms

quvi accepts multiple occurrences of C<--category>. See also L</EXAMPLES>.


=head2 -F, --query-formats

Query available formats to the URL. The returned array is created
from the data returned by the server. You can use the
I<format strings> in this array with C<--format>.

The available formats are determined by the I<libquvi script>
responsible for parsing the media details.

See also C<--format>.

=head2 -f, --format I<arg> (=default)

Query media details for the format I<arg>. The I<arg> may also be
C<default> or C<best>. The I<arg> value is used with B<all> of the
URLs fed to quvi.

If the I<arg> is C<best>, the I<libquvi script> responsible for parsing
the media details will determine the C<best> format available to an URL.

If the I<arg> is C<default> the I<libquvi script> attempts to return an
URL to whatever it deemed to be the C<default> format for the URL.

The I<libquvi script> will return the C<default> format if the I<arg>
was unrecognized or the requested format was not available.

You can find more information about the YouTube specific "fmt" IDs at:
 <http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs>

See also C<--query-formats>.

=head2 --agent I<arg> (=Mozilla/5.0)

Identify quvi as I<arg> to the HTTP servers. Default is "Mozilla/5.0".

=head2 --proxy I<arg>

Use proxy for HTTP connections, e.g. "http://foo:1234". You can also
define B<http_proxy> environment setting to for the same effect.

=head2 --no-proxy

Disable use of HTTP proxy completely. Proxy will not be used even
if it is defined in B<http_proxy>.

=head2 --connect-timeout I<seconds>

Maximum seconds allowed connection to server take. Default is 30.

=head1 DEPRECATED

The following options have been marked as "deprecated" and will be
removed in the later versions of quvi.

=head2 --category-http

Enable category HTTP webscripts. This is the default category.
Use C<--category> instead.

=head2 --category-mms

Enable category MMS webscripts. Use C<--category> instead.

=head2 --category-rtsp

Enable category RTSP webscripts. Use C<--category> instead.

=head2 --category-rtmp

Enable category RTMP webscripts. Use C<--category> instead.

=head2 --category-all

Enable all categories of webscripts. Use C<--category> instead.
<commit_msg>Add --export-level, --export-format to manual<commit_after>=head1 NAME

quvi - query media tool

=head1 SYNOPSIS

quvi [options] [url ...] [file ...]

=head1 DESCRIPTION

quvi is a command line tool for parsing flash media stream URLs.
It supports many websites including YouTube and Dailymotion.

=head1 OPTIONS

quvi reads standard input by default. It can also read the URLs from
files but expects each URL to be separated by a newline character.

=head2 -h, --help

Print help and exit.

=head2 --version

Print program version and exit.

=head2 --license

Print license and exit.

=head2 --support [I<arg>]

Print supported hosts and exit. If I<arg> is present, the program
checks whether the I<arg> is supported.

The default behaviour, without I<arg>, causes quvi to print the
supported websites. The B<first> string is the domain string which
is, in fact, a (Lua) pattern used to match the URL to a libquvi
script. The B<second> string is, I<now obsolete> (see below), an
array containing the supported formats specific to the host.

Use C<--query-formats> if you need to check an URL for the available
formats.

=head2 --export-format I<arg> (=json)

Set the interchange format in which the data is to be printed.
Possible values:

  json (default)
  xml

=head2 --export-level I<arg> (=media)

Set level of the exported interchange data. Possible values:

  media    .. Media only (default)
  +errors  .. Media and error messages

See also C<--export-format>.

=head2 -q, --quiet

Turn off all output printed to stderr (excl. any errors).
If C<--verbose-libcurl> is specified, libcurl will continue
to print messages to stderr. The media details will still
be printed to stdout.

=head2 --verbose-libcurl

Turn on libcurl verbose mode.

=head2 --exec I<arg>

Invoke I<arg> after each successfully parsed URL. The following
specifiers are supported:

 %t  ..  Media title
 %u  ..  Media URL

Note that I<each> occurence of the specifier will be replaced within
the I<arg>. quvi accepts multiple occurrences of C<--exec>. See also
L</EXAMPLES>.

=head2 -r, --no-resolve

Do not resolve HTTP redirections. When used, quvi will not be able
to resolve most of the "shortened URLs" produced by different URL
shortening services.

Note that libquvi scripts that explicitly (need to) resolve
redirections will continue to do so even if this switch is used.

=head2 -n, --no-verify

Do not verify media stream URL after parsing. When used, some
media details, e.g. content length, will not become available.

Note that libquvi skips the verification automatically with all
non-HTTP media stream URLs.

=head2 -c, --category I<arg> (=all)

Enable the level of the libquvi script categories. By default, all of the
categories levels are enabled. Possible values:

  http
  rtmp
  rtsp
  mms

quvi accepts multiple occurrences of C<--category>. See also L</EXAMPLES>.


=head2 -F, --query-formats

Query available formats to the URL. The returned array is created
from the data returned by the server. You can use the
I<format strings> in this array with C<--format>.

The available formats are determined by the I<libquvi script>
responsible for parsing the media details.

See also C<--format>.

=head2 -f, --format I<arg> (=default)

Query media details for the format I<arg>. The I<arg> may also be
C<default> or C<best>. The I<arg> value is used with B<all> of the
URLs fed to quvi.

If the I<arg> is C<best>, the I<libquvi script> responsible for parsing
the media details will determine the C<best> format available to an URL.

If the I<arg> is C<default> the I<libquvi script> attempts to return an
URL to whatever it deemed to be the C<default> format for the URL.

The I<libquvi script> will return the C<default> format if the I<arg>
was unrecognized or the requested format was not available.

You can find more information about the YouTube specific "fmt" IDs at:
 <http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs>

See also C<--query-formats>.

=head2 --agent I<arg> (=Mozilla/5.0)

Identify quvi as I<arg> to the HTTP servers. Default is "Mozilla/5.0".

=head2 --proxy I<arg>

Use proxy for HTTP connections, e.g. "http://foo:1234". You can also
define B<http_proxy> environment setting to for the same effect.

=head2 --no-proxy

Disable use of HTTP proxy completely. Proxy will not be used even
if it is defined in B<http_proxy>.

=head2 --connect-timeout I<seconds>

Maximum seconds allowed connection to server take. Default is 30.

=head1 DEPRECATED

The following options have been marked as "deprecated" and will be
removed in the later versions of quvi.

=head2 --xml

Print the media details (and errors, if C<--export-level=+errors> is specified)
in XML. Use C<--export-format> instead.

=head2 --category-http

Enable category HTTP webscripts. This is the default category.
Use C<--category> instead.

=head2 --category-mms

Enable category MMS webscripts. Use C<--category> instead.

=head2 --category-rtsp

Enable category RTSP webscripts. Use C<--category> instead.

=head2 --category-rtmp

Enable category RTMP webscripts. Use C<--category> instead.

=head2 --category-all

Enable all categories of webscripts. Use C<--category> instead.

{'fraction_non_alphanumeric': 0.0847659743615224, 'fraction_numerical': 0.007651793699691941, 'mean_word_length': 3.857142857142857, 'pattern_counts': {'":': 0, '<': 116, '<?xml version=': 0, '>': 116, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2598139', 'n_tokens_mistral': 3092, 'n_tokens_neox': 3001, 'n_words': 1462}