oggenc
encode audio into the Ogg Vorbis format
see also :
vorbiscomment - ogg123 - oggdec - flac
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
...
add an example, a script, a trick and tips
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 -
source
wavs=$(ls *.wav)
for file in $wavs
do
basename=`basename "$file" .wav`
oggenc -o $basename.ogg
$file
done
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.
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 ,
ogg123 , oggdec , flac ,
speexenc, ffmpeg2theora,
kateenc
authors
Program
Author:
Michael Smith
<msmith[:at:]xiph[:dot:]org>
Manpage Author:
Stan Seibert
<indigo[:at:]aztec.asu[:dot:]edu>