Blame man1/mpg123.1

Packit c32a2d
.TH mpg123 1 "29 Feb 2016"
Packit c32a2d
.SH NAME
Packit c32a2d
mpg123 \- play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)
Packit c32a2d
.SH SYNOPSIS
Packit c32a2d
.B mpg123
Packit c32a2d
[
Packit c32a2d
.B options
Packit c32a2d
]
Packit c32a2d
.IR file-or-URL ...
Packit c32a2d
.SH DESCRIPTION
Packit c32a2d
.B mpg123
Packit c32a2d
reads one or more
Packit c32a2d
.IR file\^ s
Packit c32a2d
(or standard input if ``\-'' is specified) or
Packit c32a2d
.IR URL\^ s
Packit c32a2d
and plays them on the audio device (default) or
Packit c32a2d
outputs them to stdout.
Packit c32a2d
.IR file\^ / URL
Packit c32a2d
is assumed to be an MPEG audio bit stream.
Packit c32a2d
.SH OPERANDS
Packit c32a2d
The following operands are supported:
Packit c32a2d
.TP 8
Packit c32a2d
.IR file (s)
Packit c32a2d
The path name(s) of one or more input files.  They must be
Packit c32a2d
valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams.
Packit c32a2d
If a dash ``\-'' is specified, MPEG data will
Packit c32a2d
be read from the standard input.  Furthermore, any name
Packit c32a2d
starting with ``http://'' is recognized as
Packit c32a2d
.I URL
Packit c32a2d
(see next section).
Packit c32a2d
.SH OPTIONS
Packit c32a2d
.B mpg123
Packit c32a2d
options may be either the traditional POSIX one letter options,
Packit c32a2d
or the GNU style long options.  POSIX style options start with a
Packit c32a2d
single ``\-'', while GNU long options start with ``\-\^\-''.
Packit c32a2d
Option arguments (if needed) follow separated by whitespace (not ``='').
Packit c32a2d
Note that some options can be absent from your installation when disabled in the build process.
Packit c32a2d
.SH INPUT OPTIONS
Packit c32a2d
.TP
Packit c32a2d
\fB\-k \fInum\fR, \fB\-\^\-skip \fInum
Packit c32a2d
Skip first
Packit c32a2d
.I num
Packit c32a2d
frames.  By default the decoding starts at the first frame.
Packit c32a2d
.TP
Packit c32a2d
\fB\-n \fInum\fR, \fB\-\^\-frames \fInum
Packit c32a2d
Decode only
Packit c32a2d
.I num
Packit c32a2d
frames.  By default the complete stream is decoded.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-fuzzy
Packit c32a2d
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC).
Packit c32a2d
Without that, seeks need a first scan through the file before they can jump at positions.
Packit c32a2d
You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.
Packit c32a2d
.TP
Packit c32a2d
.BR \-y ", " \-\^\-no\-resync
Packit c32a2d
Do NOT try to resync and continue decoding if an error occurs in
Packit c32a2d
the input file. Normally, 
Packit c32a2d
.B mpg123
Packit c32a2d
tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong.
Packit c32a2d
With this switch you can make it bail out on data errors
Packit c32a2d
(and perhaps spare your ears a bad time). Note that this switch has been renamed from \-\-resync.
Packit c32a2d
The old name still works, but is not advertised or recommened to use (subject to removal in future).
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^-resync\-limit \fIbytes\fR
Packit c32a2d
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream.
Packit c32a2d
If you know there are huge chunks of invalid data in your files... here is your hammer.
Packit c32a2d
Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.
Packit c32a2d
.TP
Packit c32a2d
\fB\-p \fIURL \fR| \fBnone\fR, \fB\-\^\-proxy \fIURL \fR| \fBnone
Packit c32a2d
The specified
Packit c32a2d
.I proxy
Packit c32a2d
will be used for HTTP requests.  It
Packit c32a2d
should be specified as full URL (``http://host.domain:port/''),
Packit c32a2d
but the ``http://'' prefix, the port number and the trailing
Packit c32a2d
slash are optional (the default port is 80).  Specifying
Packit c32a2d
.B none
Packit c32a2d
means not to use any proxy, and to retrieve files directly
Packit c32a2d
from the respective servers.  See also the
Packit c32a2d
``HTTP SUPPORT'' section.
Packit c32a2d
.TP
Packit c32a2d
\fB\-u \fIauth\fR, \fB\-\^\-auth \fIauth
Packit c32a2d
HTTP authentication to use when recieving files via HTTP.
Packit c32a2d
The format used is user:password.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-ignore\-mime
Packit c32a2d
Ignore MIME types given by HTTP server. If you know better and want mpg123
Packit c32a2d
to decode something the server thinks is image/png, then just do it.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-no\-seekbuffer
Packit c32a2d
Disable the default micro-buffering of non-seekable streams that gives the
Packit c32a2d
parser a safer footing.
Packit c32a2d
.TP
Packit c32a2d
\fB\-@ \fIfile\fR, \fB\-\^\-list \fIfile
Packit c32a2d
Read filenames and/or URLs of MPEG audio streams from the specified
Packit c32a2d
.I file
Packit c32a2d
in addition to the ones specified on the command line (if any).
Packit c32a2d
Note that
Packit c32a2d
.I file
Packit c32a2d
can be either an ordinary file, a dash ``\-'' to indicate that
Packit c32a2d
a list of filenames/URLs is to be read from the standard input,
Packit c32a2d
or an URL pointing to a an appropriate list file.  Note: only
Packit c32a2d
one
Packit c32a2d
.B \-@
Packit c32a2d
option can be used (if more than one is specified, only the
Packit c32a2d
last one will be recognized).
Packit c32a2d
.TP
Packit c32a2d
\fB\-l \fIn\fR, \fB\-\^\-listentry \fIn
Packit c32a2d
Of the playlist, play specified entry only. 
Packit c32a2d
.I n
Packit c32a2d
is the number of entry starting at 1. A value of 0 is the default and means playling the whole list,  a negative value means showing of the list of titles with their numbers...
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-continue
Packit c32a2d
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book).
Packit c32a2d
The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later).
Packit c32a2d
Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\-loop \fItimes\fR
Packit c32a2d
for looping track(s) a certain number of times, < 0 means infinite loop (not with \-\-random!).
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-keep\-open
Packit c32a2d
For remote control mode: Keep loaded file open after reaching end.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\-timeout \fIseconds\fR
Packit c32a2d
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).
Packit c32a2d
.TP
Packit c32a2d
.BR \-z ", " \-\^\-shuffle
Packit c32a2d
Shuffle play.  Randomly shuffles the order of files specified on the command
Packit c32a2d
line, or in the list file.
Packit c32a2d
.TP
Packit c32a2d
.BR \-Z ", " \-\-random
Packit c32a2d
Continuous random play.  Keeps picking a random file from the command line
Packit c32a2d
or the play list.  Unlike shuffle play above, random play never ends, and
Packit c32a2d
plays individual songs more than once.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-no\-icy\-meta
Packit c32a2d
Do not accept ICY meta data.
Packit c32a2d
.TP
Packit c32a2d
\fB\-i, \-\^-index
Packit c32a2d
Index / scan through the track before playback.
Packit c32a2d
This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\-index\-size \fIsize\fR
Packit c32a2d
Set the number of entries in the seek frame index table.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\-preframes \fInum\fR
Packit c32a2d
Set the number of frames to be read as lead-in before a seeked-to position.
Packit c32a2d
This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position.
Packit c32a2d
Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).
Packit c32a2d
Packit c32a2d
.SH OUTPUT and PROCESSING OPTIONS
Packit c32a2d
.TP
Packit c32a2d
\fB\-o \fImodule\fR, \-\^\-output \fImodule\fR
Packit c32a2d
Select audio output module. You can provide a comma-separated list to use the first one that works.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-list\-modules
Packit c32a2d
List the available modules.
Packit c32a2d
.TP
Packit c32a2d
\fB\-a \fIdev\fR, \fB\-\^\-audiodevice \fIdev
Packit c32a2d
Specify the audio device to use.  The default is
Packit c32a2d
system-dependent (usually /dev/audio or /dev/dsp).
Packit c32a2d
Use this option if you have multiple audio devices and
Packit c32a2d
the default is not what you want.
Packit c32a2d
.TP
Packit c32a2d
.BR \-s ", " \-\^\-stdout
Packit c32a2d
The decoded audio samples are written to standard output,
Packit c32a2d
instead of playing them through the audio device.  This
Packit c32a2d
option must be used if your audio hardware is not supported
Packit c32a2d
by
Packit c32a2d
.BR mpg123 .
Packit c32a2d
The output format per default is raw (headerless) linear PCM audio data,
Packit c32a2d
16 bit, stereo, host byte order (you can force mono or 8bit).
Packit c32a2d
.TP
Packit c32a2d
\fB\-O \fIfile\fR, \fB\-\^\-outfile
Packit c32a2d
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).
Packit c32a2d
.TP
Packit c32a2d
\fB\-w \fIfile\fR, \fB\-\^\-wav
Packit c32a2d
Write output as WAV file. This will cause the MPEG stream to be decoded 
Packit c32a2d
and saved as file
Packit c32a2d
.I file
Packit c32a2d
, or standard output if
Packit c32a2d
.I -
Packit c32a2d
is used as file name. You can also use
Packit c32a2d
.I --au
Packit c32a2d
and
Packit c32a2d
.I --cdr
Packit c32a2d
for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-au \fIfile
Packit c32a2d
Does not play the MPEG file but writes it to
Packit c32a2d
.I file
Packit c32a2d
in SUN audio format.  If \- is used as the filename, the AU file is
Packit c32a2d
written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-cdr \fIfile
Packit c32a2d
Does not play the MPEG file but writes it to
Packit c32a2d
.I file
Packit c32a2d
as a CDR file.  If \- is used as the filename, the CDR file is written
Packit c32a2d
to stdout.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-reopen
Packit c32a2d
Forces reopen of the audiodevice after ever song
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-cpu\ \fIdecoder\-type
Packit c32a2d
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX.
Packit c32a2d
The list of available decoders can vary; depending on the build and what your CPU supports.
Packit c32a2d
This options is only availabe when the build actually includes several optimized decoders.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-test\-cpu
Packit c32a2d
Tests your CPU and prints a list of possible choices for \-\-cpu.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-list\-cpu
Packit c32a2d
Lists all available decoder choices, regardless of support by your CPU.
Packit c32a2d
.TP
Packit c32a2d
\fB\-g \fIgain\fR, \fB\-\^\-gain \fIgain
Packit c32a2d
[DEPRECATED] Set audio hardware output gain (default: don't change). The unit of the gain value is hardware and output module dependent.
Packit c32a2d
(This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)
Packit c32a2d
.TP
Packit c32a2d
\fB\-f \fIfactor\fR, \fB\-\^\-scale \fIfactor
Packit c32a2d
Change scale factor (default: 32768).
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-rva-mix,\ \-\-rva-radio
Packit c32a2d
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness.
Packit c32a2d
The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-rva-album,\ \-\-rva-audiophile
Packit c32a2d
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album.
Packit c32a2d
The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.
Packit c32a2d
.TP
Packit c32a2d
.BR \-0 ", " \-\^\-single0 "; " \-1 ", " \-\^\-single1
Packit c32a2d
Decode only channel 0 (left) or channel 1 (right),
Packit c32a2d
respectively.  These options are available for
Packit c32a2d
stereo MPEG streams only.
Packit c32a2d
.TP
Packit c32a2d
.BR \-m ", " \-\^\-mono ", " \-\^\-mix ", " \-\^\-singlemix
Packit c32a2d
Mix both channels / decode mono. It takes less
Packit c32a2d
CPU time than full stereo decoding.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-stereo
Packit c32a2d
Force stereo output
Packit c32a2d
.TP
Packit c32a2d
\fB\-r \fIrate\fR, \fB\-\^\-rate \fIrate
Packit c32a2d
Set sample rate (default: automatic).  You may want to
Packit c32a2d
change this if you need a constant bitrate independent of
Packit c32a2d
the mpeg stream rate. mpg123 automagically converts the
Packit c32a2d
rate. You should then combine this with \-\-stereo or \-\-mono.
Packit c32a2d
.TP
Packit c32a2d
.BR \-2 ", " \-\^\-2to1 "; " \-4 ", " \-\^\-4to1
Packit c32a2d
Performs a downsampling of ratio 2:1 (22 kHz) or 4:1 (11 kHz) 
Packit c32a2d
on the output stream, respectively. Saves some CPU cycles, but 
Packit c32a2d
at least the 4:1 ratio sounds ugly.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-pitch\ \fIvalue
Packit c32a2d
Set hardware pitch (speedup/down, 0 is neutral; 0.05 is 5%). This changes the output sampling rate, so it only works in the range your audio system/hardware supports.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-8bit
Packit c32a2d
Forces 8bit output
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-float
Packit c32a2d
Forces f32 encoding
Packit c32a2d
.TP
Packit c32a2d
\fB\-e \fIenc\fR, \fB\-\^\-encoding \fIenc
Packit c32a2d
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit.
Packit c32a2d
See the output of mpg123's longhelp for actually available encodings.
Packit c32a2d
.TP
Packit c32a2d
\fB\-d \fIn\fR, \fB\-\^\-doublespeed \fIn
Packit c32a2d
Only play every
Packit c32a2d
.IR n 'th
Packit c32a2d
frame.  This will cause the MPEG stream
Packit c32a2d
to be played
Packit c32a2d
.I n
Packit c32a2d
times faster, which can be used for special
Packit c32a2d
effects.  Can also be combined with the
Packit c32a2d
.B \-\^\-halfspeed
Packit c32a2d
option to play 3 out of 4 frames etc.  Don't expect great
Packit c32a2d
sound quality when using this option.
Packit c32a2d
.TP
Packit c32a2d
\fB\-h \fIn\fR, \fB\-\^\-halfspeed \fIn
Packit c32a2d
Play each frame
Packit c32a2d
.I n
Packit c32a2d
times.  This will cause the MPEG stream
Packit c32a2d
to be played at
Packit c32a2d
.IR 1 / n 'th
Packit c32a2d
speed (n times slower), which can be
Packit c32a2d
used for special effects. Can also be combined with the
Packit c32a2d
.B \-\^\-doublespeed
Packit c32a2d
option to double every third frame or things like that.
Packit c32a2d
Don't expect great sound quality when using this option.
Packit c32a2d
.TP
Packit c32a2d
\fB\-E \fIfile\fR, \fB\-\^\-equalizer
Packit c32a2d
Enables equalization, taken from
Packit c32a2d
.IR file .
Packit c32a2d
The file needs to contain 32 lines of data, additional comment lines may
Packit c32a2d
be prefixed with
Packit c32a2d
.IR # .
Packit c32a2d
Each data line consists of two floating-point entries, separated by
Packit c32a2d
whitespace.  They specify the multipliers for left and right channel of
Packit c32a2d
a certain frequency band, respectively.  The first line corresponds to the
Packit c32a2d
lowest, the 32nd to the highest frequency band.
Packit c32a2d
Note that you can control the equalizer interactively with the generic control interface.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-gapless
Packit c32a2d
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it.
Packit c32a2d
This is enabled per default beginning with mpg123 version 1.0.0 .
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-no\-gapless
Packit c32a2d
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123's decoder delay.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-no\-infoframe
Packit c32a2d
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player.
Packit c32a2d
This implies disabling of gapless playback as the necessary information is in said metadata frame.
Packit c32a2d
.TP
Packit c32a2d
\fB\-D \fIn\fR, \fB\-\-delay \fIn
Packit c32a2d
Insert a delay of \fIn\fR seconds before each track.
Packit c32a2d
.TP
Packit c32a2d
.BR "\-o h" ", " \-\^\-headphones
Packit c32a2d
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).
Packit c32a2d
.TP
Packit c32a2d
.BR "\-o s" ", " \-\^\-speaker
Packit c32a2d
Direct audio output to the speaker  (some hardware only; AIX, HP, SUN).
Packit c32a2d
.TP
Packit c32a2d
.BR "\-o l" ", " \-\^\-lineout
Packit c32a2d
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).
Packit c32a2d
.TP
Packit c32a2d
\fB\-b \fIsize\fR, \fB\-\^\-buffer \fIsize
Packit c32a2d
Use an audio output buffer of
Packit c32a2d
.I size
Packit c32a2d
Kbytes.  This is useful to bypass short periods of heavy
Packit c32a2d
system activity, which would normally cause the audio output 
Packit c32a2d
to be interrupted.  
Packit c32a2d
You should specify a buffer size of at least 1024 
Packit c32a2d
(i.e. 1 Mb, which equals about 6 seconds of audio data) or more; 
Packit c32a2d
less than about 300 does not make much sense.  The default is 0, 
Packit c32a2d
which turns buffering off.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-preload \fIfraction
Packit c32a2d
Wait for the buffer to be filled to
Packit c32a2d
.I fraction
Packit c32a2d
before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio.
Packit c32a2d
Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-devbuffer \fIseconds
Packit c32a2d
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the
Packit c32a2d
application and the audio backend, possibly directly related to hardware buffers.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-smooth
Packit c32a2d
Keep buffer over track boundaries -- meaning, do not empty the buffer between tracks for possibly some added smoothness.
Packit c32a2d
Packit c32a2d
.SH MISC OPTIONS
Packit c32a2d
Packit c32a2d
.TP
Packit c32a2d
.BR \-t ", " \-\^\-test
Packit c32a2d
Test mode.  The audio stream is decoded, but no output occurs.
Packit c32a2d
.TP
Packit c32a2d
.BR \-c ", " \-\^\-check
Packit c32a2d
Check for filter range violations (clipping), and report them for each frame
Packit c32a2d
if any occur.
Packit c32a2d
.TP
Packit c32a2d
.BR \-v ", " \-\^\-verbose
Packit c32a2d
Increase the verbosity level.  For example, displays the frame
Packit c32a2d
numbers during decoding.
Packit c32a2d
.TP
Packit c32a2d
.BR \-q ", " \-\^\-quiet
Packit c32a2d
Quiet.  Suppress diagnostic messages.
Packit c32a2d
.TP
Packit c32a2d
.BR \-C ", " \-\^\-control
Packit c32a2d
Enable terminal control keys. This is enabled automatically if a terminal is detected.
Packit c32a2d
By default use 's' or the space bar to stop/restart (pause, unpause) playback, 'f' to jump forward to the next song, 'b' to jump back to the
Packit c32a2d
beginning of the song, ',' to rewind, '.' to fast forward, and 'q' to quit.
Packit c32a2d
Type 'h' for a full list of available controls.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-no\-control
Packit c32a2d
Disable terminal control even if terminal is detected.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-title
Packit c32a2d
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window's title to the name of song currently
Packit c32a2d
playing.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-name \fIname
Packit c32a2d
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-long\-tag
Packit c32a2d
Display ID3 tag info always in long format with one line per item (artist, title, ...)
Packit c32a2d
.TP
Packit c32a2d
.BR \-\-utf8
Packit c32a2d
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you'll get ASCII stripdown).
Packit c32a2d
.TP
Packit c32a2d
.BR \-R ", " \-\^\-remote
Packit c32a2d
Activate generic control interface.
Packit c32a2d
.B mpg123
Packit c32a2d
will then read and execute commands from stdin. Basic usage is ``load <filename> '' to play some file and the obvious ``pause'', ``command.
Packit c32a2d
``jump <frame>'' will jump/seek to a given point (MPEG frame number).
Packit c32a2d
Issue ``help'' to get a full list of commands and syntax.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\^\-remote\-err
Packit c32a2d
Print responses for generic control mode to standard error, not standard out.
Packit c32a2d
This is automatically triggered when using 
Packit c32a2d
.B -s
Packit c32a2d
N.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\-fifo \fIpath
Packit c32a2d
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.
Packit c32a2d
.TP
Packit c32a2d
\fB\-\^\-aggressive
Packit c32a2d
Tries to get higher priority
Packit c32a2d
.TP
Packit c32a2d
.BR \-T ", " \-\-realtime
Packit c32a2d
Tries to gain realtime priority.  This option usually requires root
Packit c32a2d
privileges to have any effect.
Packit c32a2d
.TP
Packit c32a2d
.BR \-? ", " \-\^\-help
Packit c32a2d
Shows short usage instructions.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\^\-longhelp
Packit c32a2d
Shows long usage instructions.
Packit c32a2d
.TP
Packit c32a2d
.BR \-\^\-version
Packit c32a2d
Print the version string.
Packit c32a2d
.SH HTTP SUPPORT
Packit c32a2d
In addition to reading MPEG audio streams from ordinary
Packit c32a2d
files and from the standard input,
Packit c32a2d
.B mpg123
Packit c32a2d
supports retrieval of MPEG audio files or playlists via the HTTP protocol, 
Packit c32a2d
which is used in the World Wide Web (WWW).  Such files are
Packit c32a2d
specified using a so-called URL, which starts with ``http://''.  When a file with
Packit c32a2d
that prefix is encountered,
Packit c32a2d
.B mpg123
Packit c32a2d
attempts to open an HTTP connection to the server in order to
Packit c32a2d
retrieve that file to decode and play it.
Packit c32a2d
.P
Packit c32a2d
It is often useful to retrieve files through a WWW cache or
Packit c32a2d
so-called proxy.  To accomplish this,
Packit c32a2d
.B mpg123
Packit c32a2d
examines the environment for variables named
Packit c32a2d
.BR MP3_HTTP_PROXY ", " http_proxy " and " HTTP_PROXY ,
Packit c32a2d
in this order.  The value of the first one that is set will
Packit c32a2d
be used as proxy specification.  To override this, you can
Packit c32a2d
use the
Packit c32a2d
.B \-p
Packit c32a2d
command line option (see the ``OPTIONS'' section).  Specifying
Packit c32a2d
.B "\-p none"
Packit c32a2d
will enforce contacting the server directly without using
Packit c32a2d
any proxy, even if one of the above environment variables
Packit c32a2d
is set.
Packit c32a2d
.P
Packit c32a2d
Note that, in order to play MPEG audio files from a WWW
Packit c32a2d
server, it is necessary that the connection to that server
Packit c32a2d
is fast enough.  For example, a 128 kbit/s MPEG file
Packit c32a2d
requires the network connection to be at least 128 kbit/s
Packit c32a2d
(16 kbyte/s) plus protocol overhead.  If you suffer from
Packit c32a2d
short network outages, you should try the
Packit c32a2d
.B \-b
Packit c32a2d
option (buffer) to bypass such outages.  If your network
Packit c32a2d
connection is generally not fast enough to retrieve MPEG
Packit c32a2d
audio files in realtime, you can first download the files
Packit c32a2d
to your local harddisk (e.g. using
Packit c32a2d
.BR wget (1))
Packit c32a2d
and then play them from there.
Packit c32a2d
.P
Packit c32a2d
If authentication is needed to access the file it can be
Packit c32a2d
specified with the 
Packit c32a2d
.BR "\-u user:pass".
Packit c32a2d
.SH INTERRUPT
Packit c32a2d
When in terminal control mode, you can quit via pressing the q key, 
Packit c32a2d
while any time you can abort
Packit c32a2d
.B mpg123
Packit c32a2d
by pressing Ctrl-C. If not in terminal control mode, this will
Packit c32a2d
skip to the next file (if any). If you want to abort playing immediately
Packit c32a2d
in that case, press Ctrl-C twice in short succession (within about one second).
Packit c32a2d
.P
Packit c32a2d
Note that the result of quitting
Packit c32a2d
.B mpg123
Packit c32a2d
pressing Ctrl-C might not be audible
Packit c32a2d
immediately, due to audio data buffering in the audio device.
Packit c32a2d
This delay is system dependent, but it is usually not more
Packit c32a2d
than one or two seconds.
Packit c32a2d
Packit c32a2d
.SH PLAYBACK STATUS LINE
Packit c32a2d
In verbose mode, mpg123 updates a line with various information centering around
Packit c32a2d
the current playback position. On any decent terminal, the line also works
Packit c32a2d
as a progress bar in the current file by reversing video for a fraction of the
Packit c32a2d
line according to the current position. An example for a full line is this:
Packit c32a2d
Packit c32a2d
	> 0291+0955  00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s  576 B acc   18 clip p+0.014
Packit c32a2d
Packit c32a2d
The information consists of, in order:
Packit c32a2d
.TP
Packit c32a2d
.BR >
Packit c32a2d
single-character playback state (``>'' for playing, ``='' for pausing/looping, ``_'' for stopped)
Packit c32a2d
.TP
Packit c32a2d
.BR 0291+0955
Packit c32a2d
current frame offset and number of remaining frames after the plus sign
Packit c32a2d
.TP
Packit c32a2d
.BR 00:01.68+00:28.22
Packit c32a2d
current position from and remaining time in human terms
Packit c32a2d
(hours, minutes, seconds)
Packit c32a2d
.TP
Packit c32a2d
.BR [00:05.30]
Packit c32a2d
fill of the output buffer in terms of playback time, if the buffer is enabled
Packit c32a2d
.TP
Packit c32a2d
.BR mix
Packit c32a2d
selected RVA mode (possible values: mix, alb (album), and \-\^\-\^\- (neutral, off))
Packit c32a2d
.TP
Packit c32a2d
.BR 100=085
Packit c32a2d
set volume and the RVA-modified effective volume after the equal sign
Packit c32a2d
.TP
Packit c32a2d
.BR 192\ kb/s
Packit c32a2d
current bitrate
Packit c32a2d
.TP
Packit c32a2d
.BR 576\ B
Packit c32a2d
size of current frame in bytes
Packit c32a2d
.TP
Packit c32a2d
.BR acc
Packit c32a2d
if positions are accurate, possible values are ``acc'' for accurate positions or ``fuz'' for fuzzy
Packit c32a2d
(with guessed byte offsets using mean frame size)
Packit c32a2d
.TP
Packit c32a2d
.BR 18\ clip
Packit c32a2d
amount of clipped samples, non-zero only if decoder reports that
Packit c32a2d
(generic does, some optimized ones not)
Packit c32a2d
.TP
Packit c32a2d
.BR p+0.014
Packit c32a2d
pitch change (increased/decreased playback sampling rate on user request)
Packit c32a2d
Packit c32a2d
.SH NOTES
Packit c32a2d
MPEG audio decoding requires a good deal of CPU performance,
Packit c32a2d
especially layer-3.  To decode it in realtime, you should
Packit c32a2d
have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent
Packit c32a2d
processor.  You can also use the
Packit c32a2d
.B -m
Packit c32a2d
option to decode mono only, which reduces the CPU load
Packit c32a2d
somewhat for layer-3 streams.  See also the
Packit c32a2d
.BR \-2 " and " \-4
Packit c32a2d
options.
Packit c32a2d
.P
Packit c32a2d
If everything else fails, have mpg123 decode to a file
Packit c32a2d
and then use an appropriate utility to play that file with less CPU load.
Packit c32a2d
Most probably you can configure mpg123 to produce a format suitable
Packit c32a2d
for your audio device (see above about encodings and sampling rates).
Packit c32a2d
.P
Packit c32a2d
If your system is generally fast enough to decode in 
Packit c32a2d
realtime, but there are sometimes periods of heavy 
Packit c32a2d
system load (such as cronjobs, users logging in remotely, 
Packit c32a2d
starting of ``big'' programs etc.) causing the 
Packit c32a2d
audio output to be interrupted, then you should use
Packit c32a2d
the
Packit c32a2d
.B \-b
Packit c32a2d
option to use a buffer of reasonable size (at least 1000 Kbytes).
Packit c32a2d
.SH BUGS
Packit c32a2d
.P
Packit c32a2d
Mostly MPEG-1 layer 2 and 3 are tested in real life.
Packit c32a2d
Please report any issues and provide test files to help fixing them.
Packit c32a2d
.P
Packit c32a2d
No CRC error checking is performed.
Packit c32a2d
.P
Packit c32a2d
Some platforms lack audio hardware support; you may be able to use the
Packit c32a2d
.B -s
Packit c32a2d
switch to feed the decoded data to a program that can play it on your audio device.
Packit c32a2d
.SH AUTHORS
Packit c32a2d
.TP
Packit c32a2d
Maintainer:
Packit c32a2d
.br
Packit c32a2d
Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org>
Packit c32a2d
.TP
Packit c32a2d
Original Creator:
Packit c32a2d
.br
Packit c32a2d
Michael Hipp
Packit c32a2d
.PP
Packit c32a2d
Uses code or ideas from various people, see the AUTHORS file accompanying the source code.
Packit c32a2d
.SH LICENSE
Packit c32a2d
.B mpg123
Packit c32a2d
is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .
Packit c32a2d
.SH WEBSITE
Packit c32a2d
http://www.mpg123.org
Packit c32a2d
.br
Packit c32a2d
http://sourceforge.net/projects/mpg123