mirror of
https://github.com/owntone/owntone-server.git
synced 2025-04-01 02:03:45 -04:00
Add documentation
This commit is contained in:
parent
bbc4dba39f
commit
fab023085b
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,7 +10,6 @@ Makefile
|
|||||||
|
|
||||||
# autofoo stuff
|
# autofoo stuff
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
INSTALL
|
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
compile
|
compile
|
||||||
config.guess
|
config.guess
|
||||||
|
5
ChangeLog
Normal file
5
ChangeLog
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
ChangeLog for forked-daapd
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
version 0.10:
|
||||||
|
- initial release.
|
46
INSTALL
Normal file
46
INSTALL
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
Installation instructions for forked-daapd
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Required tools:
|
||||||
|
- ANTLR v3 is required to build forked-daapd, along with its C runtime
|
||||||
|
(libantlr3c). Use at least version 3.1.x of ANTLR v3 and the matching
|
||||||
|
C runtime version.
|
||||||
|
|
||||||
|
The configure script will look for a wrapper called antlr3 in the PATH to
|
||||||
|
invoke ANTLR. If it doesn't exist, it'll try to invoke ANTLR directly with
|
||||||
|
'java org.antlr.Tool'; make sure your CLASSPATH is set properly, and if it
|
||||||
|
doesn't work, just create the wrapper somewhere in your PATH.
|
||||||
|
|
||||||
|
Libraries:
|
||||||
|
- glibc 2.9+ (for signalfd)
|
||||||
|
- Avahi client libraries, 0.6.24 minimum
|
||||||
|
- sqlite3
|
||||||
|
- ffmpeg
|
||||||
|
- confuse
|
||||||
|
- libevent 1.4+
|
||||||
|
- libavl
|
||||||
|
- MiniXML
|
||||||
|
- libflac (optional)
|
||||||
|
- taglib (optional)
|
||||||
|
|
||||||
|
libavl is not the GNU libavl. There doesn't seem to be an upstream website
|
||||||
|
anymore, but you can fetch it from any Debian mirror for instance (it'll be
|
||||||
|
in /debian/pool/main/liba/libavl).
|
||||||
|
|
||||||
|
FLAC and Musepack support are optional. If not enabled, metadata extraction
|
||||||
|
will fail on these files.
|
||||||
|
|
||||||
|
Recommended build settings:
|
||||||
|
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-flac --enable-musepack
|
||||||
|
|
||||||
|
After installation, edit the configuration file, /etc/forked-daapd.conf and
|
||||||
|
adjust the values at your convenience.
|
||||||
|
|
||||||
|
forked-daapd will drop privileges to any user you'll specify in the
|
||||||
|
configuration file if it's started as root. It's recommended to create a
|
||||||
|
dedicated user without login privileges. That user must have read permissions
|
||||||
|
on your library.
|
||||||
|
|
||||||
|
You'll need an init script if you want to start forked-daapd at boot. A simple
|
||||||
|
init script will do, forked-daapd daemonizes all by itself and creates a
|
||||||
|
pidfile under /var/run.
|
5
NEWS
Normal file
5
NEWS
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
forked-daapd NEWS
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
version 0.10:
|
||||||
|
It's released, and that's news. Yup.
|
85
README
Normal file
85
README
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
forked-daapd
|
||||||
|
------------
|
||||||
|
|
||||||
|
forked-daapd is a DAAP and RSP media server for Linux. It is a complete
|
||||||
|
rewrite of mt-daapd (Firefly Media Server).
|
||||||
|
|
||||||
|
DAAP stands for Digital Audio Access Protocol, and is the protocol used
|
||||||
|
by iTunes and friends to share/stream media libraries over the network.
|
||||||
|
|
||||||
|
RSP is Roku's own media sharing protocol. Roku are the makers of the
|
||||||
|
SoundBridge devices. See <http://www.roku.com>.
|
||||||
|
|
||||||
|
forked-daapd is a temporary name that should change to something else if
|
||||||
|
someone can come up with a good name for it.
|
||||||
|
|
||||||
|
|
||||||
|
Supported clients
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
forked-daapd supports iTunes clients as well as a number of devices similar
|
||||||
|
to the SoundBridge.
|
||||||
|
|
||||||
|
It should be able to serve your media library to any client supporting DAAP
|
||||||
|
or RSP.
|
||||||
|
|
||||||
|
A single forked-daapd instance can handle several clients concurrently,
|
||||||
|
regardless of the protocol.
|
||||||
|
|
||||||
|
|
||||||
|
Supported formats
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
forked-daapd should support pretty much all media formats. It uses ffmpeg to
|
||||||
|
extract metadata and decode the files on the fly when the client doesn't
|
||||||
|
support the format.
|
||||||
|
|
||||||
|
However, ffmpeg is not necessarily very good at extracting metadata, so some
|
||||||
|
formats may cause problems. FLAC, Musepack and WMA use custom metadata
|
||||||
|
extractors to work around that.
|
||||||
|
|
||||||
|
Formats are attributed a code, so any new format will need to be explicitely
|
||||||
|
added. Currently supported:
|
||||||
|
- MPEG4: mp4a, mp4v
|
||||||
|
- AAC: alac
|
||||||
|
- MP3 (and friends): mpeg
|
||||||
|
- FLAC: flac
|
||||||
|
- OGG VORBIS: ogg
|
||||||
|
- Musepack: mpc
|
||||||
|
- WMA: wma (WMA Pro), wmal (WMA Lossless), wmav (WMA video)
|
||||||
|
- AIFF: aif
|
||||||
|
- WAV: wav
|
||||||
|
|
||||||
|
|
||||||
|
Playlists
|
||||||
|
---------
|
||||||
|
|
||||||
|
forked-daapd supports M3U playlists. Just drop your playlist somewhere in
|
||||||
|
your library with an .m3u extension and it will pick it up.
|
||||||
|
|
||||||
|
Smart playlists are not supported at the moment.
|
||||||
|
|
||||||
|
|
||||||
|
Library
|
||||||
|
-------
|
||||||
|
|
||||||
|
The library is scanned in bulk mode at startup, but the server will be
|
||||||
|
available even while this scan is in progress. Of course, if files have gone
|
||||||
|
missing while the server was not running a request for these files will
|
||||||
|
produce an error until the scan has completed and the file is no longer
|
||||||
|
offered. Similarly, new files added while the server was not running won't
|
||||||
|
be offered until they've been scanned.
|
||||||
|
|
||||||
|
Changes to the library are reflected in real time after the initial scan. The
|
||||||
|
directories are monitored for changes and rescanned on the fly.
|
||||||
|
|
||||||
|
Symlinks are supported and dereferenced. This does interact in tricky ways
|
||||||
|
with the above monitoring and rescanning, so you've been warned. Changes to
|
||||||
|
symlinks themselves won't be taken into account, or not the way you'd expect.
|
||||||
|
|
||||||
|
If you use symlinks, do not move around the target of the symlink. Avoid
|
||||||
|
linking files, as files themselves aren't monitored for changes individually,
|
||||||
|
so changes won't be noticed unless the file happens to be in a directory that
|
||||||
|
is monitored.
|
||||||
|
|
||||||
|
Bottom line: symlinks are for directories only.
|
Loading…
x
Reference in New Issue
Block a user