mirror of https://github.com/xiph/flac
673 lines
20 KiB
Plaintext
673 lines
20 KiB
Plaintext
<!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
|
|
|
|
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
|
|
<!ENTITY dhfirstname "<firstname>Matt</firstname>">
|
|
<!ENTITY dhsurname "<surname>Zimmerman</surname>">
|
|
<!-- Please adjust the date whenever revising the manpage. -->
|
|
<!ENTITY dhdate "<date>September 19, 2002</date>">
|
|
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
|
|
allowed: see man(7), man(1). -->
|
|
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
|
|
<!ENTITY dhemail "<email>mdz@debian.org</email>">
|
|
<!ENTITY dhusername "Matt Zimmerman">
|
|
<!ENTITY dhucpackage "<refentrytitle>FLAC</refentrytitle>">
|
|
<!ENTITY dhpackage "flac">
|
|
|
|
<!ENTITY debian "<productname>Debian GNU/Linux</productname>">
|
|
<!ENTITY gnu "<acronym>GNU</acronym>">
|
|
]>
|
|
|
|
<refentry>
|
|
<docinfo>
|
|
<address>
|
|
&dhemail;
|
|
</address>
|
|
<author>
|
|
&dhfirstname;
|
|
&dhsurname;
|
|
</author>
|
|
<copyright>
|
|
<year>2002</year>
|
|
<holder>&dhusername;</holder>
|
|
</copyright>
|
|
&dhdate;
|
|
</docinfo>
|
|
<refmeta>
|
|
&dhucpackage;
|
|
|
|
&dhsection;
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>&dhpackage;</refname>
|
|
|
|
<refpurpose>Free Lossless Audio Codec</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>flac</command>
|
|
|
|
<arg><option><replaceable>OPTION</replaceable></option></arg>
|
|
<arg choice=plain><replaceable>infile</replaceable></arg>
|
|
<arg choice=plain><replaceable>...</replaceable></arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
<refsect1>
|
|
<title>DESCRIPTION</title>
|
|
|
|
<para>This manual page documents briefly the
|
|
<command>flac</command> command.</para>
|
|
|
|
<para>This manual page was written for the &debian;
|
|
distribution because the original program does not have a
|
|
manual page. Instead, it has documentation in HTML
|
|
format; see below.</para>
|
|
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>OPTIONS</title>
|
|
|
|
<para>A summary of options is included below. For a complete
|
|
description, see the HTML documentation.</para>
|
|
|
|
<refsect2>
|
|
<title>Generic Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-v</option>, <option>--version</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Show the flac version number</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-h</option>, <option>--help</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Show basic usage and a list of all options</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-H</option>, <option>--explain</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Show detailed explanation of usage and all options</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-d</option>, <option>--decode</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Decode (the default behavior is to encode)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-t</option>, <option>--test</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Test a flac encoded file (same as -d
|
|
except no decoded file is written)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-a</option>, <option>--analyze</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Analyze a flac encoded file (same as -d
|
|
except an analysis file is written)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-c</option>, <option>--stdout</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Write output to stdout</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-s</option>, <option>--silent</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Silent mode (do not write runtime
|
|
encode/decode statistics to stderr)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-o</option> <replaceable>filename</replaceable>, <option>--output-name</option>=<replaceable>filename</replaceable></term>
|
|
<listitem>
|
|
<para>Force the output file name (usually flac just
|
|
changes the extension). May only be used when
|
|
encoding a single file. May not be used in
|
|
conjunction with --output-prefix.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--output-prefix</option>=<replaceable>string</replaceable></term>
|
|
<listitem>
|
|
<para>Prefix each output file name with the given
|
|
string. This can be useful for encoding or decoding
|
|
files to a different directory. Make sure if your
|
|
string is a path name that it ends with a trailing
|
|
`/' (slash).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--delete-input-file</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Automatically delete the input file after a
|
|
successful encode or decode. If there was an
|
|
error (including a verify error) the input file
|
|
is left intact.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--skip</option>=<replaceable>#</replaceable></term>
|
|
<listitem>
|
|
<para>Skip the specified number of samples at the
|
|
beginning of the input file (can be used for both
|
|
encoding and decoding)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--ogg</option></term>
|
|
|
|
<listitem>
|
|
<para>When encoding, generate Ogg-FLAC output instead
|
|
of native-FLAC. Ogg-FLAC streams are FLAC streams
|
|
wrapped in an Ogg transport layer. The resulting
|
|
file should have an '.ogg' extension and will still
|
|
be decodable by flac.</para>
|
|
<para>When decoding, force the input to be treated as
|
|
Ogg-FLAC. This is useful when piping input from
|
|
stdin or when the filename does not end in '.ogg'.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--serial-number</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>When used with --ogg, specifies the serial
|
|
number to use for the FLAC stream. When encoding and
|
|
no serial number is given, flac uses '0'. When
|
|
decoding and no number is given, flac uses the serial
|
|
number of the first page.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Analysis Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--residual-text</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Includes the residual signal in the analysis
|
|
file. This will make the file very big, much
|
|
larger than even the decoded file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--residual-gnuplot</option>
|
|
</term>
|
|
<listitem>
|
|
<para>Generates a gnuplot file for every subframe;
|
|
each file will contain the residual distribution
|
|
of the subframe. This will create a lot of
|
|
files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Decoding Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-F</option>, <option>--decode-through-errors</option>
|
|
</term>
|
|
<listitem>
|
|
<para>By default flac stops decoding with an error
|
|
and removes the partially decoded file if it
|
|
encounters a bitstream error. With -F, errors are
|
|
still printed but flac will continue decoding to
|
|
completion. Note that errors may cause the decoded
|
|
audio to be missing some samples or have silent
|
|
sections.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Encoding Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-V</option>, <option>--verify</option></term>
|
|
|
|
<listitem>
|
|
<para>Verify a correct encoding by decoding the
|
|
output in parallel and comparing to the
|
|
original</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--lax</option></term>
|
|
|
|
<listitem>
|
|
<para>Allow encoder to generate non-Subset
|
|
files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--sector-align</option></term>
|
|
|
|
<listitem>
|
|
<para>Align encoding of multiple CD format WAVE
|
|
files on sector boundaries. See the HTML
|
|
documentation for more information.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-S</option> {<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>}, <option>--seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>}</term>
|
|
|
|
<listitem>
|
|
<para>
|
|
Include a point or points in a SEEKTABLE. Using #,
|
|
a seek point at that sample number is added. Using
|
|
X, a placeholder point is added at the end of a the
|
|
table. Using #x, # evenly spaced seek points will
|
|
be added, the first being at sample 0. You may use
|
|
many -S options; the resulting SEEKTABLE will be the
|
|
unique-ified union of all such values. With no -S
|
|
options, flac defaults to '-S 100x'. Use -S- for
|
|
no SEEKTABLE. Note: '-S #x' will not work if the
|
|
encoder can't determine the input size before
|
|
starting. Note: if you use '-S #' and # is >=
|
|
samples in the input, there will be either no seek
|
|
point entered (if the input size is determinable
|
|
before encoding starts) or a placeholder point (if
|
|
input size is not determinable).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-P</option> <replaceable>#</replaceable>, <option>--padding</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Tell the encoder to write a PADDING metadata
|
|
block of the given length (in bytes) after the
|
|
STREAMINFO block. This is useful if you plan to
|
|
tag the file later with an APPLICATION block;
|
|
instead of having to rewrite the entire file later
|
|
just to insert your block, you can write directly
|
|
over the PADDING block. Note that the total length
|
|
of the PADDING block will be 4 bytes longer than
|
|
the length given because of the 4 metadata block
|
|
header bytes. You can force no PADDING block at
|
|
all to be written with -P-, which is the default.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-T</option> <replaceable>FIELD=VALUE</replaceable>, <option>--tag</option>=<replaceable>FIELD=VALUE</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Add a Vorbis comment. The comment must adhere
|
|
to the Vorbis comment spec; i.e. the FIELD must
|
|
contain only legal characters, terminated by an
|
|
'equals' sign. Make sure to quote the comment if
|
|
necessary. This option may appear more than once
|
|
to add several comments. NOTE: all tags will be
|
|
added to all encoded files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-b</option> <replaceable>#</replaceable>, <option>--blocksize</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Specify the block size in samples. The
|
|
default is 1152 for -l 0, else 4608; must be one of
|
|
192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048,
|
|
4096, 8192, 16384, or 32768 (unless --lax is used)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-m</option>, <option>--mid-side</option></term>
|
|
|
|
<listitem>
|
|
<para>Try mid-side coding for each frame (stereo
|
|
input only)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-M</option>, <option>--adaptive-mid-side</option></term>
|
|
|
|
<listitem>
|
|
<para>Adaptive mid-side coding for all frames (stereo
|
|
input only)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-0</option>..<option>-8</option>, <option>--compression-level-0</option>..<option>--compression-level-8</option></term>
|
|
|
|
<listitem>
|
|
<para>Fastest compression..highest compression
|
|
(default is -5). These are synonyms for other
|
|
options:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-0</option>, <option>--compression-level-0</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 0 -b 1152 -r 2,2
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-1</option>, <option>--compression-level-1</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 0 -b 1152 -M -r 2,2
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-2</option>, <option>--compression-level-2</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 0 -b 1152 -m -r 3
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-3</option>, <option>--compression-level-3</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 6 -b 4608 -r 3,3
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-4</option>, <option>--compression-level-4</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 8 -b 4608 -M -r 3,3
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-5</option>, <option>--compression-level-5</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 8 -b 4608 -m -r 3,3
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-6</option>, <option>--compression-level-6</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 8 -b 4608 -m -r 4
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-7</option>, <option>--compression-level-7</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 8 -b 4608 -m -e -r 6
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-8</option>, <option>--compression-level-8</option></term>
|
|
|
|
<listitem>
|
|
<para>Synonymous with -l 12 -b 4608 -m -e -r 6
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--fast</option></term>
|
|
|
|
<listitem>
|
|
<para>Fastest compression. Currently
|
|
synonymous with -0.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--best</option></term>
|
|
|
|
<listitem>
|
|
<para>Highest compression. Currently
|
|
synonymous with -8.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-e</option>, <option>--exhaustive-model-search</option></term>
|
|
|
|
<listitem>
|
|
<para>Do exhaustive model search
|
|
(expensive!)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-l</option> <replaceable>#</replaceable>, <option>--max-lpc-order</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Set the maximum LPC order; 0 means use only the fixed predictors</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-p</option>, <option>--qlp-coeff-precision-search</option></term>
|
|
|
|
<listitem>
|
|
<para>Do exhaustive search of LP coefficient
|
|
quantization (expensive!). Overrides -q;
|
|
does nothing if using -l 0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-q</option> <replaceable>#</replaceable>, <option>--qlp-coeff-precision</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Precision of the quantized linear-predictor
|
|
coefficients, 0 => let encoder decide (min is 5,
|
|
default is 0)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-r</option> [<replaceable>#</replaceable>,]<replaceable>#</replaceable>, <option>--rice-partition-order</option>=[<replaceable>#</replaceable>,]<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Set the [min,]max residual partition order
|
|
(0..16). min defaults to 0 if unspecified. Default
|
|
is -r 3,3.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect2>
|
|
<refsect2>
|
|
<title>Format Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--endian</option>={<replaceable>big</replaceable>|<replaceable>little</replaceable>}</term>
|
|
|
|
<listitem>
|
|
<para>Set the byte order for samples</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--channels</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Set number of channels.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--bps</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Set bits per sample.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--sample-rate</option>=<replaceable>#</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>Set sample rate (in Hz).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--sign</option>={<replaceable>signed</replaceable>|<replaceable>unsigned</replaceable>}</term>
|
|
|
|
<listitem>
|
|
<para>Set the sign of samples (the default is signed).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>--force-raw-format</option></term>
|
|
|
|
<listitem>
|
|
<para>Force input (when encoding) or output (when decoding)
|
|
to be treated as raw samples (even if filename ends
|
|
in <filename>.wav</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Negative Options</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--no-adaptive-mid-side</option></term>
|
|
<term><option>--no-decode-through-errors</option></term>
|
|
<term><option>--no-delete-input-file</option></term>
|
|
<term><option>--no-escape-coding</option></term>
|
|
<term><option>--no-exhaustive-model-search</option></term>
|
|
<term><option>--no-lax</option></term>
|
|
<term><option>--no-mid-side</option></term>
|
|
<term><option>--no-ogg</option></term>
|
|
<term><option>--no-padding</option></term>
|
|
<term><option>--no-qlp-coeff-precision-search</option></term>
|
|
<term><option>--no-residual-gnuplot</option></term>
|
|
<term><option>--no-residual-text</option></term>
|
|
<term><option>--no-sector-align</option></term>
|
|
<term><option>--no-seektable</option></term>
|
|
<term><option>--no-silent</option></term>
|
|
<term><option>--no-verify</option></term>
|
|
<listitem>
|
|
<para>These flags can be used to invert the sense
|
|
of the corresponding normal option.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</refsect2>
|
|
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>SEE ALSO</title>
|
|
|
|
<para>The programs are documented fully by HTML format
|
|
documentation, available in
|
|
<filename>/usr/share/doc/flac/html</filename> on
|
|
&debian; systems.</para>
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>AUTHOR</title>
|
|
|
|
<para>This manual page was written by &dhusername; &dhemail; for
|
|
the &debian; system (but may be used by others).</para>
|
|
|
|
<!-- <para>Permission is granted to copy, distribute and/or modify
|
|
this document under the terms of the <acronym>GNU</acronym> Free
|
|
Documentation License, Version 1.1 or any later version
|
|
published by the Free Software Foundation; with no Invariant
|
|
Sections, no Front-Cover Texts and no Back-Cover Texts. A copy
|
|
of the license can be found under
|
|
<filename>/usr/share/common-licenses/FDL</filename>.</para> -->
|
|
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:2
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:nil
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|