This squashed commit comprises a long series of improvements, bug fixes, optimizations, and new feature additions:
- 48,000 frames per second operation, - 48k lossless stereo, 5.1 and 7.1 surround sound - Multichannel and multi rate operation on ALSA, PipeWire, PulseAudio, FreeBSD, stdout and unix pipe output backends. Automatic, flexible and controllable output format (rate, sample format and channel count) selection. Full FFmpeg integration to support transcoding, resampling, and new audio formats. Better operation on lower powered devices down to e.g. Raspberry Pi B. Reduced Docker image sizes with a slimmed-down FFmpeg library. Enhanced timestamp handling for better synchronization. Improved the sync error calculation. A new "vernier" resampling and interpolation method for low-power CPUs. Bug fixes and minor enhancements. Note -- there are many breaking changes from previous versions of Shairport Sync!
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
all: shairport-sync.1 shairport-sync.html
|
||||
|
||||
%.1: %.1.xml
|
||||
xmltoman $*.1.xml > $*.tmp && mv $*.tmp $*.1
|
||||
|
||||
%.html: %.1.xml
|
||||
xsltproc xmltoman.xsl $*.1.xml > $*.tmp && mv $*.tmp $*.html
|
||||
|
||||
clean:
|
||||
rm shairport-sync.1
|
||||
rm shairport-sync.html
|
||||
@@ -0,0 +1,17 @@
|
||||
man_MANS = shairport-sync.1
|
||||
|
||||
if USE_XMLTOMAN
|
||||
shairport-sync.1: shairport-sync.1.xml
|
||||
xmltoman $< > $@
|
||||
|
||||
# It seems that xmlmantohtml is not working anymore (20240905)
|
||||
# all-local: shairport-sync.html
|
||||
|
||||
|
||||
# shairport-sync.html: shairport-sync.1.xml
|
||||
# xmlmantohtml $< > $@
|
||||
|
||||
clean:
|
||||
rm -f shairport-sync.1
|
||||
# rm -f shairport-sync.html
|
||||
endif
|
||||
@@ -1,482 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
|
||||
<title>shairport-sync(7)</title>
|
||||
<style type="text/css">
|
||||
body { color: black; background-color: white; }
|
||||
a:link, a:visited { color: #900000; }
|
||||
h1 { text-transform:uppercase; font-size: 18pt; }
|
||||
p { margin-left:1cm; margin-right:1cm; }
|
||||
.cmd { font-family:monospace; }
|
||||
.file { font-family:monospace; }
|
||||
.arg { font-family:monospace; font-style: italic; }
|
||||
.opt { font-family:monospace; font-weight: bold; }
|
||||
.manref { font-family:monospace; }
|
||||
.option .optdesc { margin-left:2cm; }
|
||||
</style>
|
||||
</head>
|
||||
<body><h1>Name</h1><p>shairport-sync - AirPlay and AirPlay 2 Audio Player</p>
|
||||
|
||||
<h1>Synopsis</h1>
|
||||
|
||||
<p class="cmd">shairport-sync <span class="opt">[-djvw]</span>
|
||||
<span class="opt">[-a </span><span class="arg">service-name</span><span class="opt"> | --name=</span><span class="arg">service-name</span><span class="opt">]</span>
|
||||
<span class="opt">[-B </span><span class="arg">command</span><span class="opt"> | --onstart=</span><span class="arg">command</span><span class="opt">]</span>
|
||||
<span class="opt">[-c </span><span class="arg">configurationfile</span><span class="opt"> | --configfile=</span><span class="arg">configurationfile</span><span class="opt">]</span>
|
||||
<span class="opt">[-d | --daemon]</span>
|
||||
<span class="opt">[-E </span><span class="arg">command</span><span class="opt"> | --onstop=</span><span class="arg">command</span><span class="opt">]</span>
|
||||
<span class="opt">[-g | --get-cover-art]</span>
|
||||
<span class="opt">[-j | --justDaemoniseNoPIDFile]</span>
|
||||
<span class="opt">[--logOutputLevel]</span>
|
||||
<span class="opt">[--log-to-syslog]</span>
|
||||
<span class="opt">[-L </span><span class="arg">latency</span><span class="opt"> | --latency=</span><span class="arg">latency</span><span class="opt">]</span>
|
||||
<span class="opt">[-m </span><span class="arg">backend</span><span class="opt"> | --mdns=</span><span class="arg">backend</span><span class="opt">]</span>
|
||||
<span class="opt">[-M | --metadata-enable]</span>
|
||||
<span class="opt">[-o </span><span class="arg">backend</span><span class="opt"> | --output=</span><span class="arg">backend</span><span class="opt">]</span>
|
||||
<span class="opt">[-p </span><span class="arg">port</span><span class="opt"> | --port=</span><span class="arg">port</span><span class="opt">]</span>
|
||||
<span class="opt">[--password=</span><span class="arg">secret</span><span class="opt">]</span>
|
||||
<span class="opt">[-r </span><span class="arg">threshold</span><span class="opt"> | --resync=</span><span class="arg">threshold</span><span class="opt">]</span>
|
||||
<span class="opt">[--statistics]</span>
|
||||
<span class="opt">[-S </span><span class="arg">mode</span><span class="opt"> | --stuffing=</span><span class="arg">mode</span><span class="opt">]</span>
|
||||
<span class="opt">[-t </span><span class="arg">timeout</span><span class="opt"> | --timeout=</span><span class="arg">timeout</span><span class="opt">]</span>
|
||||
<span class="opt">[--tolerance=</span><span class="arg">frames</span><span class="opt">]</span>
|
||||
<span class="opt">[-v | --verbose]</span>
|
||||
<span class="opt">[-w | --wait-cmd]</span>
|
||||
<span class="opt">[-- </span><span class="arg">audio_backend_options</span><span class="opt">]</span>
|
||||
</p>
|
||||
<p class="cmd">shairport-sync <span class="opt">-X | --displayConfig</span></p>
|
||||
<p class="cmd">shairport-sync <span class="opt">-h</span></p>
|
||||
<p class="cmd">shairport-sync <span class="opt">-k</span></p>
|
||||
<p class="cmd">shairport-sync <span class="opt">-V</span></p>
|
||||
|
||||
|
||||
<h1>Description</h1>
|
||||
<p>Shairport Sync plays AirPlay audio.
|
||||
It can be built to stream either from "classic" AirPlay (aka "AirPlay 1")
|
||||
or from AirPlay 2 devices.</p>
|
||||
|
||||
<p>AirPlay 2 support is limited, and AirPlay 2 from iTunes for Windows is not supported.
|
||||
For AirPlay 2 operation, a companion program called <span class="opt">nqptp</span> must be installed.</p>
|
||||
|
||||
<p>Please see <a class="url" href="https://github.com/mikebrady/shairport-sync">https://github.com/mikebrady/shairport-sync</a> for details.</p>
|
||||
|
||||
<p>The name of the Shairport Sync executable is <span class="opt">shairport-sync</span>.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<h1>Configuration File Settings</h1>
|
||||
<p>You should use the configuration file for setting up Shairport Sync because --
|
||||
apart from a few special-purpose commands -- it has a much richer set of options
|
||||
than are available on the command line.
|
||||
This file is usually <span class="file">shairport-sync.conf</span> and is generally located in the
|
||||
System Configuration Directory, which is normally the <span class="file">/etc</span> directory in
|
||||
Linux or the <span class="file">/usr/local/etc</span> directory in BSD unixes.
|
||||
You may need to have root privileges to modify it.</p>
|
||||
|
||||
<p>(Note: Shairport Sync may have been compiled to use a different configuration
|
||||
directory. You can determine which by performing the command <span class="file">$ shairport-sync
|
||||
-V</span>. The last item in the output string is the value of the
|
||||
<span class="opt">sysconfdir</span>, i.e. the System Configuration Directory.)</p>
|
||||
|
||||
<p>Within the configuration file, settings are organised into groups, for
|
||||
example, there is a <span class="opt">general</span> group of
|
||||
standard settings, and there is an <span class="opt">alsa</span> group with settings
|
||||
that pertain to the <span class="opt">ALSA</span> back end.
|
||||
Here is an example of a typical configuration file:</p>
|
||||
|
||||
<p><span class="opt">general = {</span></p>
|
||||
<p><p><span class="opt">name = "Mike's Boombox";</span></p></p>
|
||||
<p><span class="opt">};</span></p>
|
||||
<p><span class="opt"></span></p>
|
||||
<p><span class="opt">alsa = {</span></p>
|
||||
<p><p><span class="opt">output_device = "hw:0";</span></p></p>
|
||||
<p><p><span class="opt">mixer_control_name = "PCM";</span></p></p>
|
||||
<p><span class="opt">};</span></p>
|
||||
|
||||
<p>Users generally only need to set (1) the service name and
|
||||
(2) the output device.
|
||||
|
||||
If the <span class="opt">name</span> setting is omitted, the service name is derived from the system's hostname.
|
||||
|
||||
By default, the <span class="opt">ALSA</span> backend will be chosen if included in the build.
|
||||
|
||||
If the (alsa) output device has a mixer that can be used for volume
|
||||
control, then (3) the mixer name should be specified. It is important
|
||||
to do this if the mixer exists. Otherwise, the
|
||||
maximum output from the output device will be whatever setting the mixer happens to
|
||||
have, which will be a matter of chance and which could be very low or even silent.</p>
|
||||
|
||||
<p>A sample configuration file with all possible settings, but with all of them
|
||||
commented out, is installed at <span class="file">shairport-sync.conf.sample</span>, within the
|
||||
System Configuration Directory -- <span class="file">/etc</span> in Linux,
|
||||
<span class="file">/usr/local/etc</span> in BSD unixes.</p>
|
||||
|
||||
<p>The sample configuration file includes extensive documentation of the settings.
|
||||
and is also available at
|
||||
<a class="url" href="https://github.com/mikebrady/shairport-sync/blob/master/scripts/shairport-sync.conf">https://github.com/mikebrady/shairport-sync/blob/master/scripts/shairport-sync.conf</a>.
|
||||
Please refer to it for the most up-to-date information on configuration file settings.</p>
|
||||
|
||||
|
||||
|
||||
<h1>Options</h1>
|
||||
|
||||
<p>There are two kinds of command-line options for shairport-sync:
|
||||
regular <span class="opt">program options</span> and <span class="opt">audio backend options</span>.
|
||||
Program options are
|
||||
always listed first, followed by any audio backend options, preceded by
|
||||
a <span class="opt">--</span> symbol.</p>
|
||||
|
||||
<p>See the EXAMPLES section for sample usages.</p>
|
||||
|
||||
<h1>Program Options</h1>
|
||||
<p>Program Options are used by shairport-sync itself.</p>
|
||||
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-a </span><span class="arg">service name</span><span class="opt"> | --name=</span><span class="arg">service
|
||||
name</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Use this <span class="arg">service name</span> to identify this player in iTunes, etc.</p>
|
||||
|
||||
<p>The following substitutions are allowed:
|
||||
<span class="opt">%h</span> for the computer's hostname,
|
||||
<span class="opt">%H</span> for the computer's hostname with the first letter capitalised (ASCII
|
||||
only),
|
||||
<span class="opt">%v</span> for the shairport-sync version number, e.g. "3.0.1" and
|
||||
<span class="opt">%V</span> for the shairport-sync version string, e.g.
|
||||
"3.0.1-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc".</p>
|
||||
<p>The default is "%H", which is replaced by the hostname with the first letter
|
||||
capitalised.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-B </span><span class="arg">program</span><span class="opt"> | --on-start=</span><span class="arg">program</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Execute <span class="arg">program</span> when playback is about to begin. Specify the
|
||||
full path to the program, e.g. <span class="file">/usr/bin/logger</span>.
|
||||
Executable scripts can be used, but they must have the appropriate shebang
|
||||
(<span class="file">#!/bin/sh</span>) in the headline.</p>
|
||||
|
||||
<p>If you want shairport-sync to wait until the command has
|
||||
completed before starting to play, select the <span class="opt">-w</span> option as well.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-c </span><span class="arg">filename</span><span class="opt"> | --configfile=</span><span class="arg">filename</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Read configuration settings from <span class="arg">filename</span>. The default is to read them from
|
||||
the <span class="file">shairport-sync.conf</span> in the System Configuration Directory --
|
||||
<span class="file">/etc</span> in Linux, <span class="file">/usr/local/etc</span> in BSD unixes.
|
||||
For information about configuration settings, see the "Configuration File Settings"
|
||||
section above.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-d | --daemon</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Instruct shairport-sync to demonise itself. It will write its
|
||||
Process ID (PID) to a file, usually at
|
||||
<span class="file">/var/run/shairport-sync/shairport-sync.pid</span>, which is used by the
|
||||
<span class="opt">-k</span>, <span class="opt">-D</span> and <span class="opt">-R</span> options to locate
|
||||
the daemon at a later time. See also the <span class="opt">-j</span> option. Only available if
|
||||
shairport-sync has been compiled with libdaemon support.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-E </span><span class="arg">program</span><span class="opt"> | --on-stop=</span><span class="arg">program</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Execute <span class="arg">program</span> when playback has ended. Specify the
|
||||
full path to the program, e.g. <span class="file">/usr/bin/logger</span>.
|
||||
Executable scripts can be used, but they must have the appropriate shebang
|
||||
(<span class="file">#!/bin/sh</span>) in the headline.</p>
|
||||
<p>If you want shairport-sync to wait until the command has
|
||||
completed before continuing, select the <span class="opt">-w</span> option as well.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-g | --get-coverart</span></p>
|
||||
<div class="optdesc"><p>
|
||||
This option requires the <span class="opt">-M | --metadata-enable</span> option to be set, and enables
|
||||
shairport-sync to request cover art from the source and to process it as metadata.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-h | --help</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Print brief help message and exit.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-j | justDaemoniseNoPIDFile</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Instruct shairport-sync to demonise itself. Unlike the <span class="opt">-d</span> option, it will
|
||||
not write a Process ID (PID) to a file -- it will just (hence the "j") demonise
|
||||
itself. Only available if shairport-sync has been compiled with libdaemon support.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-k | --kill</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Kill the shairport-sync daemon and exit. (Requires that the daemon has
|
||||
written its PID to an agreed file -- see the <span class="opt">-d</span> option. Only available if
|
||||
shairport-sync has been compiled with libdaemon support.)
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--logOutputLevel</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Use this to log the volume level when the volume is changed. It may be useful if you
|
||||
are trying to determine a suitable value for the maximum volume level. Not available
|
||||
as a configuration file setting.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--log-to-syslog</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Warnings, error messages and messages are sent, by default, to <span class="file">STDERR</span>.
|
||||
Use this option to route these messages to the <span class="opt">syslog</span> instead.
|
||||
This is intended for use when Shairport Sync is operating as a daemon.
|
||||
</p><p>See also <span class="opt">--displayConfig</span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-L | --latency=</span><span class="arg">latency</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Use this to set the <span class="arg">default latency</span>, in frames, for audio coming from an
|
||||
unidentified source or from an iTunes Version 9 or earlier source. The standard value
|
||||
for the <span class="arg">default latency</span> is 88,200 frames, where there are 44,100
|
||||
frames to the second.
|
||||
</p>
|
||||
<p>Please note that this feature is deprecated and will be removed in a future version
|
||||
of shairport-sync.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-M | --metadata-enable</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Ask the client to send metadata. It will be sent, along with metadata generated
|
||||
by shairport-sync itself, to a pipe and will also be
|
||||
sent as UDP packets.
|
||||
If you add the <span class="opt">-g | --get-cover-art</span>
|
||||
then cover art included, where available. See <a class="url" href="https://github.com/mikebrady/shairport-sync-metadata-reader">https://github.com/mikebrady/shairport-sync-metadata-reader</a>
|
||||
for a sample metadata reader.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--metadata-pipename=</span><span class="arg">pathname</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Specify the path name for the metadata pipe.
|
||||
Note that <span class="opt">shairport-sync</span> will need write permission on that directory and pipe.
|
||||
The default is <span class="file">/tmp/shairport-sync-metadata</span>.
|
||||
If you rename the <span class="opt">shairport-sync</span> executable, the default pipe name will change accordingly.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-m </span><span class="arg">mdnsbackend</span><span class="opt"> | --mdns=</span><span class="arg">mdnsbackend</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Force the use of the specified mDNS backend to advertise the
|
||||
player on the network. The default is to try all mDNS backends in order until one
|
||||
works.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-o </span><span class="arg">outputbackend</span><span class="opt"> |
|
||||
--output=</span><span class="arg">outputbackend</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Force the use of the specified output backend to play the audio.
|
||||
The default is to try the first one.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-p </span><span class="arg">port</span><span class="opt"> | --port=</span><span class="arg">port</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Listen for play requests on <span class="arg">port</span>. The default is to use port
|
||||
5000 for AirPlay and 7000 for AirPlay 2.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--password=</span><span class="arg">secret</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Require the password <span class="arg">secret</span> to be able to connect and stream to the
|
||||
service. (This only works for AirPlay and not for AirPlay 2.)
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-r </span><span class="arg">threshold</span><span class="opt"> | --resync=</span><span class="arg">threshold</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Resynchronise if timings differ by more than <span class="arg">threshold</span> frames.
|
||||
If the output timing differs from the source timing by more than
|
||||
the threshold, output will be muted and a full resynchronisation
|
||||
will occur. The default threshold is 2,205 frames, i.e. 50
|
||||
milliseconds. Specify <span class="opt">0</span> to disable resynchronisation. This setting is
|
||||
deprecated and will be removed in a future version of shairport-sync.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--statistics</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Print some performance information to <span class="file">STDERR</span>, or to <span class="opt">syslog</span> if the <span class="opt">-log-to-syslog</span> command line option is also chosen.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-S </span><span class="arg">mode</span><span class="opt"> | --stuffing=</span><span class="arg">mode</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Interpolate ("stuff") the audio stream using the <span class="arg">mode</span>.
|
||||
"Stuffing" refers to the
|
||||
process of adding or removing frames of audio to or from the
|
||||
stream sent to the output device in order to keep it synchronised
|
||||
with the player.
|
||||
The <span class="opt">basic</span> mode is normally almost completely inaudible.
|
||||
The alternative mode, <span class="opt">soxr</span>, is even less obtrusive but
|
||||
requires much more processing power. For this mode, support for
|
||||
<span class="opt">libsoxr</span>, the SoX Resampler Library, must be selected when
|
||||
<span class="opt">shairport-sync</span> is built.
|
||||
|
||||
The default setting, <span class="opt">auto</span>, allows Shairport Sync to choose
|
||||
<span class="opt">soxr</span> mode if the system is powerful enough.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-t </span><span class="arg">timeout</span><span class="opt"> | --timeout=</span><span class="arg">timeout</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Exit play mode if the stream disappears for more than <span class="arg">timeout</span>
|
||||
seconds.</p>
|
||||
<p>When shairport-sync plays an audio stream, it starts a play
|
||||
session and will return a busy signal to any other sources that
|
||||
attempt to use it. If the audio stream disappears for longer
|
||||
than <span class="arg">timeout</span> seconds, the play session will be terminated.
|
||||
If you specify a timeout time of <span class="opt">0</span>,
|
||||
shairport-sync will never signal that
|
||||
it is busy and will not prevent other sources from "barging in"
|
||||
on an existing play session. The default value is 120 seconds.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">--tolerance=</span><span class="arg">frames</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Allow playback to be up to <span class="arg">frames</span> out of exact synchronization before
|
||||
attempting to correct it.
|
||||
The default is 88 frames, i.e. 2 ms. The smaller the tolerance, the more likely it is
|
||||
that overcorrection will occur.
|
||||
Overcorrection is when more corrections (insertions and deletions) are made than are
|
||||
strictly necessary to keep the stream in sync. Use the <span class="opt">--statistics</span> option
|
||||
to monitor correction levels. Corrections should not greatly exceed net corrections.
|
||||
This setting is deprecated and will be removed in a future version of shairport-sync.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-V | --version</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Print version information and exit.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-v | --verbose</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Print debug information to the <span class="file">STDERR</span>, or to <span class="opt">syslog</span> if the <span class="opt">-log-to-syslog</span> command line option is also chosen.
|
||||
Repeat up to three times (i.e. <span class="opt">-vv</span> or <span class="opt">-vvv</span>) for more detail. You should use <span class="opt">-vvv</span> very sparingly -- it is really noisy.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-w | --wait-cmd</span></p>
|
||||
<div class="optdesc"><p>
|
||||
Wait for commands specified using <span class="opt">-B</span> or <span class="opt">-E</span> to complete before
|
||||
continuing execution.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="option">
|
||||
<p><span class="opt">-X | --displayConfig</span></p>
|
||||
<div class="optdesc"><p>
|
||||
This logs information relating to the configuration of Shairport Sync.
|
||||
It can be very useful for debugging. The information logged is
|
||||
some host OS information, the Shairport Sync version string
|
||||
(which indicates the build options used when <span class="opt">shairport-sync</span> was built),
|
||||
the contents of the command line that invoked Shairport Sync,
|
||||
the name of the configuration file and the active settings therein.</p>
|
||||
<p>If this is the only option on the command line, <span class="opt">shairport-sync</span> will
|
||||
terminate after displaying the information.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>Audio Backend Options</h1>
|
||||
<p>Audio Backend Options are command-line options that are passed to the chosen audio backend.
|
||||
They are always preceded by the <span class="opt">--</span> symbol to introduce them and to separate them from
|
||||
any preceding program options. In this way, option letters can be used as program
|
||||
options and reused as audio backend options without ambiguity.</p>
|
||||
|
||||
<p>Audio backends are listed with their corresponding Audio Backend Options in the help text provided by the help (<span class="opt">-h</span> or <span class="opt">--help</span>) option.</p>
|
||||
|
||||
|
||||
|
||||
<h1>Examples</h1>
|
||||
<p>Here is a slightly contrived example:</p>
|
||||
<p class="cmd">shairport-sync
|
||||
<span class="opt">-a "Joe's Stereo"</span>
|
||||
<span class="opt">-o alsa</span>
|
||||
<span class="opt">--</span>
|
||||
<span class="opt">-d hw:1,0</span>
|
||||
<span class="opt">-m hw:1</span>
|
||||
<span class="opt">-c PCM</span>
|
||||
</p>
|
||||
<p>The program will be visible as
|
||||
"Joe's Stereo" ( <span class="opt">-a "Joe's Stereo"</span> ).
|
||||
The program option <span class="opt">-o alsa</span> specifies that the <span class="opt">alsa</span> backend be used, thus that audio should be output into the <span class="opt">ALSA</span> audio subsystem.
|
||||
The audio backend options following the <span class="opt">--</span> separator are passed to the <span class="opt">alsa</span> backend and specify
|
||||
that the audio will be output on subdevice 0 of soundcard 1
|
||||
( <span class="opt">-d hw:1,0</span> ) and will take advantage of the same sound card's mixer
|
||||
( <span class="opt">-m hw:1</span> ) using the level control named "PCM" ( <span class="opt">-c "PCM"</span> ).
|
||||
</p>
|
||||
<p>The example above is slightly contrived:
|
||||
Firstly, if the <span class="opt">alsa</span> backend has been included in the build, it will be the default, so it doesn't need to be specified and the <span class="opt">-o alsa</span> option could be omitted.
|
||||
Secondly, subdevice 0 is the default for a soundcard, so the output device could simply be written <span class="opt">-d hw:1</span>.
|
||||
Thirdly, when a mixer name is given ( <span class="opt">-c "PCM"</span> ), the default is that the mixer is on the output device, so the <span class="opt">-m hw:1</span> is unnecessary here.
|
||||
Using these defaults and simplifications gives the following command:</p>
|
||||
<p class="cmd">shairport-sync
|
||||
<span class="opt">-a "Joe's Stereo"</span>
|
||||
<span class="opt">--</span>
|
||||
<span class="opt">-d hw:1</span>
|
||||
<span class="opt">-c PCM</span>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h1>Credits</h1>
|
||||
<p>Mike Brady (<a class="url" href="https://github.com/mikebrady">https://github.com/mikebrady</a>) developed Shairport Sync from Shairport by James Wah (<a class="url" href="https://github.com/abrasive">https://github.com/abrasive</a>).</p>
|
||||
|
||||
|
||||
<h1>Comments</h1>
|
||||
<p>This man page was written using <a class="manref" href="http://masqmail.cx/xml2man/">xml2man(1)</a> by Oliver Kurth.</p>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user