oggenc

oggenc(1)                        Vorbis Tools                        oggenc(1)



NAME
       oggenc - encode audio into the Ogg Vorbis format


SYNOPSIS
       oggenc [ -hrQ ] [ -B raw input sample size ] [ -C raw input number of
       channels ] [ -R raw input samplerate ] [ -b nominal bitrate ] [ -m
       minimum bitrate ] [ -M maximum bitrate ] [ -q quality ] [ --resample
       frequency ] [ --downmix ] [ -s serial ] [ -o output_file ] [ -n pattern
       ] [ -c extra_comment ] [ -a artist ] [ -t title ] [ -l album ] [ -G
       genre ] [ -L lyrics file ] [ -Y language-string ] input_files ...


DESCRIPTION
       oggenc reads audio data in either raw, Wave, or AIFF format and encodes
       it into an Ogg Vorbis stream.  oggenc may also read audio data from
       FLAC and Ogg FLAC files depending upon compile-time options.  If the
       input file "-" is specified, audio data is read from stdin and the
       Vorbis stream is written to stdout unless the -o option is used to
       redirect the output.  By default, disk files are output to Ogg Vorbis
       files of the same name, with the extension changed to ".ogg" or ".oga".
       This naming convention can be overridden by the -o option (in the case
       of one file) or the -n option (in the case of several files). Finally,
       if none of these are available, the output filename will be the input
       filename with the extension (that part after the final dot) replaced
       with ogg, so file.wav will become file.ogg.
       Optionally, lyrics may be embedded in the Ogg file, if Kate support was
       compiled in.
       Note that some old players mail fail to play streams with more than a
       single Vorbis stream (the so called "Vorbis I" simple profile).


OPTIONS
       -h, --help
              Show command help.

       -V, --version
              Show the version number.

       -r, --raw
              Assume input data is raw little-endian audio data with no header
              information. If other options are not specified, defaults to
              44.1kHz stereo 16 bit. See next three options for how to change
              this.

       -B n, --raw-bits=n
              Sets raw mode input sample size in bits. Default is 16.

       -C n, --raw-chan=n
              Sets raw mode input number of channels. Default is 2.

       -R n, --raw-rate=n
              Sets raw mode input samplerate. Default is 44100.

       --raw-endianness n
              Sets raw mode endianness to big endian (1) or little endian (0).
              Default is little endian.

       --utf8
              Informs oggenc that the Vorbis Comments are already encoded as
              UTF-8.  Useful in situations where the shell is using some other
              encoding.

       -k, --skeleton
              Add a Skeleton bitstream.  Important if the output Ogg is
              intended to carry multiplexed or chained streams.  Output file
              uses .oga as file extension.

       --ignorelength
              Support for Wave files over 4 GB and stdin data streams.

       -Q, --quiet
              Quiet mode.  No messages are displayed.

       -b n, --bitrate=n
              Sets target bitrate to n (in kb/s). The encoder will attempt to
              encode at approximately this bitrate. By default, this remains a
              VBR encoding. See the --managed option to force a managed
              bitrate encoding at the selected bitrate.

       -m n, --min-bitrate=n
              Sets minimum bitrate to n (in kb/s). Enables bitrate management
              mode (see --managed).

       -M n, --max-bitrate=n
              Sets maximum bitrate to n (in kb/s). Enables bitrate management
              mode (see --managed).

       --managed
              Set bitrate management mode. This turns off the normal VBR
              encoding, but allows hard or soft bitrate constraints to be
              enforced by the encoder. This mode is much slower, and may also
              be lower quality. It is primarily useful for creating files for
              streaming.

       -q n, --quality=n
              Sets encoding quality to n, between -1 (very low) and 10 (very
              high). This is the default mode of operation, with a default
              quality level of 3. Fractional quality levels such as 2.5 are
              permitted. Using this option allows the encoder to select an
              appropriate bitrate based on your desired quality level.

       --resample n
              Resample input to the given sample rate (in Hz) before encoding.
              Primarily useful for downsampling for lower-bitrate encoding.

       --downmix
              Downmix input from stereo to mono (has no effect on non-stereo
              streams). Useful for lower-bitrate encoding.

       --advanced-encode-option optionname=value
              Sets an advanced option. See the Advanced Options section for
              details.

       -s, --serial
              Forces a specific serial number in the output stream. This is
              primarily useful for testing.

       --discard-comments
              Prevents comments in FLAC and Ogg FLAC files from being copied
              to the output Ogg Vorbis file.

       -o output_file, --output=output_file
              Write the Ogg Vorbis stream to output_file (only valid if a
              single input file is specified).


       -n pattern, --names=pattern
              Produce filenames as this string, with %g, %a, %l, %n, %t, %d
              replaced by genre, artist, album, track number, title, and date,
              respectively (see below for specifying these). Also, %% gives a
              literal %.

       -X, --name-remove=s
              Remove the specified characters from parameters to the -n format
              string. This is useful to ensure legal filenames are generated.

       -P, --name-replace=s
              Replace characters removed by --name-remove with the characters
              specified. If this string is shorter than the --name-remove
              list, or is not specified, the extra characters are just
              removed. The default settings for this option, and the -X option
              above, are platform specific (and chosen to ensure legal
              filenames are generated for each platform).


       -c comment, --comment comment
              Add the string comment as an extra comment.  This may be used
              multiple times, and all instances will be added to each of the
              input files specified. The argument should be in the form
              "tag=value".


       -a artist, --artist artist
              Set the artist comment field in the comments to artist.


       -G genre, --genre genre
              Set the genre comment field in the comments to genre.


       -d date, --date date
              Sets the date comment field to the given value. This should be
              the date of recording.


       -N n, --tracknum n
              Sets the track number comment field to the given value.


       -t title, --title title
              Set the track title comment field to title.


       -l album, --album album
              Set the album comment field to album.


       -L filename, --lyrics filename
              Loads lyrics from filename and encodes them into a Kate stream
              multiplexed with the Vorbis stream.  Lyrics may be in LRC or SRT
              format, and should be encoded in UTF-8 or plain ASCII. Other
              encodings may be converted using tools such as iconv or recode.
              Alternatively, the same system as for comments will be used for
              conversion between encodings.  So called "enhanced LRC" files
              are supported, and a simple karaoke style change will be saved
              with the lyrics. For more complex karaoke setups, kateenc(1)
              should be used instead.  When embedding lyrics, the default
              output file extention is ".oga".  Note that adding lyrics to a
              stream will automatically enable Skeleton (see the -k option for
              more information about Skeleton).


       -Y language-string, --lyrics-language language-string
              Sets the language for the corresponding lyrics file to language-
              string.  This should be an ISO 639-1 language code (eg, "en"),
              or a RFC 3066 language tag (eg, "en_US"), not a free form
              language name. Players will typically recognize this standard
              tag and display the language name in your own language.  Note
              that the maximum length of this tag is 15 characters.

       Note that the -a, -t, -l, -L, and -Y  options can be given multiple
       times.  They will be applied, one to each file, in the order given.  If
       there are fewer album, title, or artist comments given than there are
       input files, oggenc will reuse the final one for the remaining files,
       and issue a warning in the case of repeated titles.


ADVANCED ENCODER OPTIONS
       Oggenc allows you to set a number of advanced encoder options using the
       --advanced-encode-option option. These are intended for very advanced
       users only, and should be approached with caution. They may
       significantly degrade audio quality if misused. Not all these options
       are currently documented.


       lowpass_frequency=N
              Set the lowpass frequency to N kHz.


       impulse_noisetune=N
              Set a noise floor bias N (range from -15. to 0.) for impulse
              blocks.  A negative bias instructs the encoder to pay special
              attention to the crispness of transients in the encoded audio.
              The tradeoff for better transient response is a higher bitrate.


       bitrate_hard_max=N
              Set the allowed bitrate maximum for the encoded file to N
              kilobits per second.  This bitrate may be exceeded only when
              there is spare bits in the bit reservoir; if the bit reservoir
              is exhausted, frames will be held under this value.  This
              setting must be used with --managed to have any effect.


       bitrate_hard_min=N
              Set the allowed bitrate minimum for the encoded file to N
              kilobits per second.  This bitrate may be underrun only when the
              bit reservoir is not full; if the bit reservoir is full, frames
              will be held over this value; if it impossible to add bits
              constructively, the frame will be padded with zeroes.  This
              setting must be used with --managed to have any effect.


       bit_reservoir_bits=N
              Set the total size of the bit reservoir to N bits; the default
              size of the reservoir is equal to the nominal number of bits
              coded in one second (eg, a nominal 128kbps file will have a bit
              reservoir of 128000 bits by default).  This option must be used
              with --managed to have any effect and affects only minimum and
              maximum bitrate management.  Average bitrate encoding with no
              hard bitrate boundaries does not use a bit reservoir.


       bit_reservoir_bias=N
              Set the behavior bias of the bit reservoir (range: 0. to 1.).
              When set closer to 0, the bitrate manager attempts to hoard bits
              for future use in sudden bitrate increases (biasing toward
              better transient reproduction).  When set closer to 1, the
              bitrate manager neglects transients in favor using bits for
              homogenous passages.  In the middle, the manager uses a balanced
              approach.  The default setting is .2, thus biasing slightly
              toward transient reproduction.


       bitrate_average=N
              Set the average bitrate for the file to N kilobits per second.
              When used without hard minimum or maximum limits, this option
              selects reservoirless Average Bit Rate encoding, where the
              encoder attempts to perfectly track a desired bitrate, but
              imposes no strict momentary fluctuation limits.  When used along
              with a minimum or maximum limit, the average bitrate still sets
              the average overall bitrate of the file, but will work within
              the bounds set by the bit reservoir.  When the min, max and
              average bitrates are identical, oggenc produces Constant Bit
              Rate Vorbis data.


       bitrate_average_damping=N
              Set the reaction time for the average bitrate tracker to N
              seconds.  This number represents the fastest reaction the
              bitrate tracker is allowed to make to hold the bitrate to the
              selected average.  The faster the reaction time, the less
              momentary fluctuation in the bitrate but (generally) the lower
              quality the audio output.  The slower the reaction time, the
              larger the ABR fluctuations, but (generally) the better the
              audio.  When used along with min or max bitrate limits, this
              option directly affects how deep and how quickly the encoder
              will dip into its bit reservoir; the higher the number, the more
              demand on the bit reservoir.

              The setting must be greater than zero and the useful range is
              approximately .05 to 10.  The default is .75 seconds.


       disable_coupling
              Disable use of channel coupling for multichannel encoding.  At
              present, the encoder will normally use channel coupling to
              further increase compression with stereo and 5.1 inputs. This
              option forces the encoder to encode each channel fully
              independently using neither lossy nor lossless coupling.


EXAMPLES
       Simplest version. Produces output as somefile.ogg:
              oggenc somefile.wav

       Specifying an output filename:
              oggenc somefile.wav -o out.ogg

       Specifying a high-quality encoding averaging 256 kbps (but still VBR):
              oggenc infile.wav -b 256 -o out.ogg

       Specifying a maximum and average bitrate, and enforcing these:
              oggenc infile.wav --managed -b 128 -M 160 -o out.ogg

       Specifying quality rather than bitrate (to a very high quality mode):
              oggenc infile.wav -q 6 -o out.ogg

       Downsampling and downmixing to 11 kHz mono before encoding:
              oggenc --resample 11025 --downmix infile.wav -q 1 -o out.ogg

       Adding some info about the track:
              oggenc somefile.wav -t "The track title" -a "artist who
              performed this" -l "name of album" -c "OTHERFIELD=contents of
              some other field not explicitly supported"

       Adding embedded lyrics:
              oggenc somefile.wav --lyrics lyrics.lrc --lyrics-language en -o
              out.oga

       This encodes the three files, each with the same artist/album tag, but
       with different title tags on each one. The string given as an argument
       to -n is used to generate filenames, as shown in the section above.
       This example gives filenames like "The Tea Party - Touch.ogg":
              oggenc -b 192 -a "The Tea Party" -l "Triptych" -t "Touch"
              track01.wav -t "Underground" track02.wav -t "Great Big Lie"
              track03.wav -n "%a - %t.ogg"

       Encoding from stdin, to stdout (you can also use the various tagging
       options, like -t, -a, -l, etc.):
              oggenc -

AUTHORS
       Program Author:
              Michael Smith <msmith@xiph.org>


       Manpage Author:
              Stan Seibert <indigo@aztec.asu.edu>


BUGS
       Reading type 3 Wave files (floating point samples) probably doesn't
       work other than on Intel (or other 32 bit, little endian machines).


SEE ALSO
       vorbiscomment(1), ogg123(1), oggdec(1), flac(1), speexenc(1),
       ffmpeg2theora(1), kateenc(1)



Xiph.Org Foundation             2008 October 05                      oggenc(1)