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
title ] [ -l album ] [ -G genre
] input_files ...
DESCRIPTION
oggenc reads audio data in either raw,
WAV, 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". 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
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.
- -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,
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
- -t title, --title title
- Set the track title comment field to title.
- Set the track title comment field to title.
- -l album, --album album
- Set the album comment field to album.
Note that the -a, -t, and -l 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
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.
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 bits
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 bits
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 bits 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.
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 out.ogg
Specifying a maximum and average bitrate, and enforcing these.
- oggenc infile.wav --managed -b 128 -M 160 out.ogg
Specifying quality rather than bitrate (to a very high quality
mode)
- oggenc infile.wav -q 6 out.ogg
Downsampling and downmixing to 11 kHz mono before encoding.
- oggenc --resample 11025 --downmix infile.wav -q 1 out.ogg
Adding some info about the track:
- oggenc somefile.wav -t "The track title" -a "artist who
- oggenc somefile.wav -t "The track title" -a "artist who
performed this" -l "name of album" -c "OTHERFIELD=contents of some
other field not explictly supported"
This encodes the three files, each with the same artist/album
tag, but with different title tags on each one. The string given as
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 <
BUGS
Reading type 3 wav files (floating point samples)
probably doesn't work other than on intel (or other 32 bit, little
endian machines).
SEE ALSO
ogg123(1)