[docs] Update README.md with name change to OwnTone Server
This commit is contained in:
parent
c7faefe1f8
commit
cf05cd4963
131
README.md
131
README.md
|
@ -1,6 +1,6 @@
|
|||
# forked-daapd
|
||||
# OwnTone Server (previously forked-daapd)
|
||||
|
||||
forked-daapd is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) and
|
||||
OwnTone Server is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) and
|
||||
RSP (Roku) media server.
|
||||
|
||||
It supports AirPlay devices/speakers, Apple Remote (and compatibles),
|
||||
|
@ -11,24 +11,24 @@ It does not support streaming video by AirPlay nor Chromecast.
|
|||
DAAP stands for Digital Audio Access Protocol which is the protocol used
|
||||
by iTunes and friends to share/stream media libraries over the network.
|
||||
|
||||
forked-daapd is a complete rewrite of mt-daapd (Firefly Media Server).
|
||||
OwnTone Server was previously called forked-daapd, which again was a rewrite of
|
||||
mt-daapd (Firefly Media Server).
|
||||
|
||||
|
||||
## Looking for help?
|
||||
|
||||
Before you continue, make sure you know what version of forked-daapd you have,
|
||||
Before you continue, make sure you know what version of OwnTone you have,
|
||||
and what features it was built with (e.g. Spotify support).
|
||||
|
||||
How to find out? Go to the [web interface](http://forked-daapd.local:3689) and
|
||||
check. No web interface? Then check the top of forked-daapd's log file (usually
|
||||
check. No web interface? Then check the top of the log file (usually
|
||||
/var/log/forked-daapd.log).
|
||||
|
||||
Note that you are viewing a snapshot of the instructions that may or may not
|
||||
match the version of forked-daapd that you are using. Go to
|
||||
[references](#references) to find instructions for previous versions of
|
||||
forked-daapd.
|
||||
match the version that you are using. Go to [references](#references) to find
|
||||
instructions for previous versions.
|
||||
|
||||
If you are looking for help on building forked-daapd (not using it), then
|
||||
If you are looking for help on building OwnTone (not using it), then
|
||||
please see the [INSTALL.md](INSTALL.md) file.
|
||||
|
||||
|
||||
|
@ -73,7 +73,7 @@ After installation (see [INSTALL.md](INSTALL.md)) do the following:
|
|||
|
||||
## Supported clients
|
||||
|
||||
forked-daapd supports these kinds of clients:
|
||||
OwnTone supports these kinds of clients:
|
||||
|
||||
- DAAP clients, like iTunes or Rhythmbox
|
||||
- Remote clients, like Apple Remote or compatibles for Android/Windows Phone
|
||||
|
@ -83,11 +83,11 @@ forked-daapd supports these kinds of clients:
|
|||
- MP3 network stream clients, like VLC and almost any other music player
|
||||
- RSP clients, like Roku Soundbridge
|
||||
|
||||
Like iTunes, you can control forked-daapd with Remote and stream your music
|
||||
to AirPlay devices.
|
||||
Like iTunes, you can control OwnTone with Remote and stream your music to
|
||||
AirPlay devices.
|
||||
|
||||
A single forked-daapd instance can handle several clients concurrently,
|
||||
regardless of the protocol.
|
||||
A single OwnTone instance can handle several clients concurrently, regardless of
|
||||
the protocol.
|
||||
|
||||
By default all clients on 192.168.* (and the ipv6 equivalent) are allowed to
|
||||
connect without authentication. You can change that in the configuration file.
|
||||
|
@ -117,7 +117,7 @@ probably obsolete when you read it :-)
|
|||
|
||||
## Web interface
|
||||
|
||||
You can find forked-daapd's web interface at [http://forked-daapd.local:3689](http://forked-daapd.local:3689)
|
||||
You can find the web interface at [http://forked-daapd.local:3689](http://forked-daapd.local:3689)
|
||||
or alternatively at [http://[your_server_address_here]:3689](http://[your_server_address_here]:3689).
|
||||
|
||||
Use the web interface to control playback, trigger manual library rescans, pair
|
||||
|
@ -135,10 +135,10 @@ and all devices on the network we know of that advertise AirPlay: AirPort
|
|||
Express, Apple TV, ... It also includes the local audio output, that is, the
|
||||
sound card on the server (even if there is no soundcard).
|
||||
|
||||
If no output is selected when playback starts, forked-daapd will try to
|
||||
If no output is selected when playback starts, OwnTone will try to
|
||||
autoselect a device.
|
||||
|
||||
forked-daapd remembers your selection and the individual volume for each
|
||||
OwnTone remembers your selection and the individual volume for each
|
||||
output device; selected devices will be automatically re-selected, except if
|
||||
they return online during playback.
|
||||
|
||||
|
@ -149,7 +149,7 @@ they return online during playback.
|
|||
3. Enter the pair code in the web interface (update the page with F5 if it does
|
||||
not automatically pick up the pairing request)
|
||||
|
||||
If Remote doesn't connect to forked-daapd after you entered the pairing code
|
||||
If Remote doesn't connect to OwnTone after you entered the pairing code
|
||||
something went wrong. Check the log file to see the error message. Here are
|
||||
some common reasons:
|
||||
|
||||
|
@ -162,9 +162,9 @@ Solution: Try again.
|
|||
If you see an error in the log with either:
|
||||
- a HTTP response code that is 0
|
||||
- "Empty pairing request callback"
|
||||
it means that forked-daapd could not establish a connection to Remote. This
|
||||
it means that OwnTone could not establish a connection to Remote. This
|
||||
might be a network issue, your router may not be allowing multicast between the
|
||||
Remote device and the host forked-daapd is running on.
|
||||
Remote device and the host OwnTone is running on.
|
||||
Solution 1: Sometimes it resolves the issue if you force Remote to quit, restart
|
||||
it and do the pairing proces again. Another trick is to establish some other
|
||||
connection (eg SSH) from the iPod/iPhone/iPad to the host.
|
||||
|
@ -194,7 +194,7 @@ telnet.
|
|||
|
||||
## AirPlay devices/speakers
|
||||
|
||||
forked-daapd will discover the AirPlay devices available on your network. For
|
||||
OwnTone will discover the AirPlay devices available on your network. For
|
||||
devices that are password-protected, the device's AirPlay name and password
|
||||
must be given in the configuration file. See the sample configuration file
|
||||
for the syntax.
|
||||
|
@ -216,7 +216,7 @@ the Apple Home app > Allow Speakers & TV Access > Anyone On the Same Network
|
|||
|
||||
## Chromecast
|
||||
|
||||
forked-daapd will discover Chromecast devices available on your network, and you
|
||||
OwnTone will discover Chromecast devices available on your network, and you
|
||||
can then select the device as a speaker. There is no configuration required.
|
||||
|
||||
|
||||
|
@ -240,21 +240,21 @@ with some help on that: [README_PULSE.md](https://github.com/owntone/owntone-ser
|
|||
|
||||
Note that if you select Pulseaudio the "card" setting in the config file has
|
||||
no effect. Instead all soundcards detected by Pulseaudio will be listed as
|
||||
speakers by forked-daapd.
|
||||
speakers by OwnTone.
|
||||
|
||||
You can adjust the latency of Pulseaudio playback in the config file.
|
||||
|
||||
|
||||
## MP3 network streaming (streaming to iOS)
|
||||
|
||||
You can listen to audio being played by forked-daapd by opening this network
|
||||
You can listen to audio being played by OwnTone by opening this network
|
||||
stream address in pretty much any music player:
|
||||
|
||||
http://[your hostname/ip address]:3689/stream.mp3
|
||||
|
||||
This is currently the only way of listening to your audio on iOS devices, since
|
||||
Apple does not allow AirPlay receiver apps, and because Apple Home Sharing
|
||||
cannot be supported by forked-daapd. So what you can do instead is install a
|
||||
cannot be supported by OwnTone. So what you can do instead is install a
|
||||
music player app like VLC, connect to the stream and control playback with
|
||||
Remote.
|
||||
|
||||
|
@ -283,7 +283,7 @@ Your library will now appear as 'iTunesServer' in iTunes.
|
|||
|
||||
## Supported formats
|
||||
|
||||
forked-daapd should support pretty much all audio formats. It relies on libav
|
||||
OwnTone should support pretty much all audio formats. It relies on libav
|
||||
(or ffmpeg) to extract metadata and decode the files on the fly when the client
|
||||
doesn't support the format.
|
||||
|
||||
|
@ -303,41 +303,41 @@ added. Currently supported:
|
|||
|
||||
## Playlists and internet radio
|
||||
|
||||
forked-daapd supports M3U and PLS playlists. Just drop your playlist somewhere
|
||||
OwnTone supports M3U and PLS playlists. Just drop your playlist somewhere
|
||||
in your library with an .m3u or .pls extension and it will pick it up.
|
||||
|
||||
If the playlist contains an http URL it will be added as an internet radio
|
||||
station, and the URL will be probed for Shoutcast (ICY) metadata. If the radio
|
||||
station provides artwork, forked-daapd will download it during playback and send
|
||||
station provides artwork, OwnTone will download it during playback and send
|
||||
it to any remotes or AirPlay devices requesting it.
|
||||
|
||||
Instead of downloading M3U's from your radio stations, you can also make an
|
||||
empty M3U file and in it insert links to the M3U's of your radio stations.
|
||||
|
||||
Radio streams can only be played by forked-daapd, so that means they will not be
|
||||
Radio streams can only be played by OwnTone, so that means they will not be
|
||||
available to play in DAAP clients like iTunes.
|
||||
|
||||
Support for iTunes Music Library XML format is available as a compile-time
|
||||
option. By default, metadata from our parsers is preferred over what's in
|
||||
the iTunes DB; use itunes_overrides = true if you prefer iTunes' metadata.
|
||||
|
||||
forked-daapd has support for smart playlists. How to create a smart playlist is
|
||||
OwnTone has support for smart playlists. How to create a smart playlist is
|
||||
documented in
|
||||
[README_SMARTPL.md](https://github.com/owntone/owntone-server/blob/master/README_SMARTPL.md).
|
||||
|
||||
If you're not satisfied with internet radio metadata that forked-daapd shows,
|
||||
If you're not satisfied with internet radio metadata that OwnTone shows,
|
||||
then you can read about tweaking it in
|
||||
[README_RADIO_STREAMS.md](https://github.com/owntone/owntone-server/blob/master/README_RADIO_STREAMS.md).
|
||||
|
||||
|
||||
## Artwork
|
||||
|
||||
forked-daapd has support for PNG and JPEG artwork which is either:
|
||||
OwnTone has support for PNG and JPEG artwork which is either:
|
||||
- embedded in the media files
|
||||
- placed as separate image files in the library
|
||||
- made available online by the radio station
|
||||
|
||||
For media in your library, forked-daapd will try to locate album and artist
|
||||
For media in your library, OwnTone will try to locate album and artist
|
||||
artwork (group artwork) by the following procedure:
|
||||
- if a file {artwork,cover,Folder}.{png,jpg} is found in one of the directories
|
||||
containing files that are part of the group, it is used as the artwork. The
|
||||
|
@ -354,11 +354,11 @@ file artwork (instead of using the same artwork for all tracks in an entire
|
|||
album).
|
||||
|
||||
For playlists in your library, say /foo/bar.m3u, then for any http streams in
|
||||
the list, forked-daapd will look for /foo/bar.{jpg,png}.
|
||||
the list, OwnTone will look for /foo/bar.{jpg,png}.
|
||||
|
||||
You can use symlinks for the artwork files.
|
||||
|
||||
forked-daapd caches artwork in a separate cache file. The default path is
|
||||
OwnTone caches artwork in a separate cache file. The default path is
|
||||
`/var/cache/forked-daapd/cache.db` and can be configured in the configuration
|
||||
file. The cache.db file can be deleted without losing the library and pairing
|
||||
informations.
|
||||
|
@ -391,13 +391,13 @@ directories only.
|
|||
### Pipes (for e.g. multiroom with Shairport-sync)
|
||||
|
||||
Some programs, like for instance Shairport-sync, can be configured to output
|
||||
audio to a named pipe. If this pipe is placed in the library, forked-daapd will
|
||||
audio to a named pipe. If this pipe is placed in the library, OwnTone will
|
||||
automatically detect that it is there, and when there is audio being written to
|
||||
it, playback of the audio will be autostarted (and stopped).
|
||||
|
||||
Using this feature, forked-daapd can act as an AirPlay multiroom "router": You
|
||||
can have an AirPlay source (e.g. your iPhone) send audio Shairport-sync, which
|
||||
forwards it to forked-daapd through the pipe, which then plays it on whatever
|
||||
Using this feature, OwnTone can act as an AirPlay multiroom "router": You can
|
||||
have an AirPlay source (e.g. your iPhone) send audio Shairport-sync, which
|
||||
forwards it to OwnTone through the pipe, which then plays it on whatever
|
||||
speakers you have selected (through Remote).
|
||||
|
||||
The format of the audio being written to the pipe must be PCM16.
|
||||
|
@ -406,7 +406,7 @@ You can also start playback of pipes manually. You will find them in remotes
|
|||
listed under "Unknown artist" and "Unknown album". The track title will be the
|
||||
name of the pipe.
|
||||
|
||||
Shairport-sync can write metadata to a pipe, and forked-daapd can read this.
|
||||
Shairport-sync can write metadata to a pipe, and OwnTone can read this.
|
||||
This requires that the metadata pipe has the same filename as the audio pipe
|
||||
plus a ".metadata" suffix. Say Shairport-sync is configured to write audio to
|
||||
"/foo/bar/pipe", then the metadata pipe should be "/foo/bar/pipe.metadata".
|
||||
|
@ -415,7 +415,7 @@ plus a ".metadata" suffix. Say Shairport-sync is configured to write audio to
|
|||
### Libraries on network mounts
|
||||
|
||||
Most network filesharing protocols do not offer notifications when the library
|
||||
is changed. So that means forked-daapd cannot update its database in real time.
|
||||
is changed. So that means OwnTone cannot update its database in real time.
|
||||
Instead you can schedule a cron job to update the database.
|
||||
|
||||
The first step in doing this is to add two entries to the 'directories'
|
||||
|
@ -431,7 +431,7 @@ Now you can make a cron job that runs this command:
|
|||
touch /some/local/dir/trigger.init-rescan
|
||||
```
|
||||
|
||||
When forked-daapd detects a file with filename ending .init-rescan it will
|
||||
When OwnTone detects a file with filename ending .init-rescan it will
|
||||
perform a bulk scan similar to the startup scan.
|
||||
|
||||
Alternatively, you can force a metadata scan of the library even if the
|
||||
|
@ -442,7 +442,7 @@ files have not changed by creating a filename ending `.meta-rescan`.
|
|||
|
||||
If you place a file with the filename ending .full-rescan in your library,
|
||||
you can trigger a full rescan of your library. This will clear all music and
|
||||
playlists from forked-daapd's database and initiate a fresh bulk scan. Pairing
|
||||
playlists from OwnTone's database and initiate a fresh bulk scan. Pairing
|
||||
and speaker information will be kept. Only use this for troubleshooting, it is
|
||||
not necessary during normal operation.
|
||||
|
||||
|
@ -452,14 +452,14 @@ not necessary during normal operation.
|
|||
You can choose between:
|
||||
|
||||
- a [MPD command line client](#mpd-clients) (easiest) like `mpc`
|
||||
- curl with forked-daapd's JSON API (see [README_JSON_API.md](https://github.com/owntone/owntone-server/blob/master/README_JSON_API.md))
|
||||
- curl with OwnTone's JSON API (see [README_JSON_API.md](https://github.com/owntone/owntone-server/blob/master/README_JSON_API.md))
|
||||
- curl with DAAP/DACP commands (hardest)
|
||||
|
||||
Here is an example of how to use curl with DAAP/DACP. Say you have a playlist
|
||||
with a radio station, and you want to make a script that starts playback of that
|
||||
station:
|
||||
|
||||
1. Run `sqlite3 [your forked-daapd db]`. Use `select id,title from files` to get
|
||||
1. Run `sqlite3 [your OwnTone db]`. Use `select id,title from files` to get
|
||||
the id of the radio station, and use `select id,title from playlists` to get
|
||||
the id of the playlist.
|
||||
2. Convert the two ids to hex.
|
||||
|
@ -478,10 +478,10 @@ curl "http://localhost:3689/logout?session-id=50"
|
|||
|
||||
### Via libspotify
|
||||
|
||||
forked-daapd has support for playback of the tracks in your Spotify library.
|
||||
OwnTone has support for playback of the tracks in your Spotify library.
|
||||
|
||||
1. Go to the [web interface](http://forked-daapd.local:3689) and check that your
|
||||
version of forked-daapd was built with Spotify support.
|
||||
version of OwnTone was built with Spotify support.
|
||||
2. You must have a Spotify premium account. If you normally log into Spotify
|
||||
with your Facebook account you must first go to Spotify's web site where you
|
||||
can get the Spotify username and password that matches your account.
|
||||
|
@ -507,7 +507,7 @@ Spotify no longer automatically notifies clients about playlist updates, so you
|
|||
have to trigger updates manually. You can for instance set up a cron job that
|
||||
runs `/usr/bin/curl http://localhost:3689/api/update`
|
||||
|
||||
forked-daapd will not store your password, but will still be able to log you in
|
||||
OwnTone will not store your password, but will still be able to log you in
|
||||
automatically afterwards, because libspotify saves a login token. You can
|
||||
configure the location of your Spotify user data in the configuration file.
|
||||
|
||||
|
@ -516,20 +516,19 @@ To permanently logout and remove Spotify tracks + credentials make a request to
|
|||
and also delete the contents of `/var/cache/forked-daapd/libspotify`.
|
||||
|
||||
Limitations:
|
||||
You will not be able to do any playlist management through forked-daapd - use
|
||||
You will not be able to do any playlist management through OwnTone - use
|
||||
a Spotify client for that. You also can only listen to your music by letting
|
||||
forked-daapd do the playback - so that means you can't stream from forked-daapd
|
||||
to DAAP clients (e.g. iTunes) and RSP clients.
|
||||
OwnTone do the playback - so that means you can't stream to DAAP clients (e.g.
|
||||
iTunes) and RSP clients.
|
||||
|
||||
### Via librespot/spocon
|
||||
|
||||
You can also use forked-daapd with one of the various incarnations of
|
||||
You can also use OwnTone with one of the various incarnations of
|
||||
[librespot](https://github.com/librespot-org/librespot). This adds librespot as
|
||||
a selectable metaspeaker in Spotify's client, and when you start playback,
|
||||
librespot can be configured to start writing audio to a pipe that you have added
|
||||
to your library. This will be detected by forked-daapd that then starts
|
||||
playback. You can also have a pipe for metadata and playback events, e.g. volume
|
||||
changes.
|
||||
to your library. This will be detected by OwnTone that then starts playback.
|
||||
You can also have a pipe for metadata and playback events, e.g. volume changes.
|
||||
|
||||
The easiest way of accomplishing this may be with [Spocon](https://github.com/spocon/spocon),
|
||||
since it requires minimal configuration. After installing, create two pipes
|
||||
|
@ -547,28 +546,28 @@ metadataPipe = "/srv/music/spotify.metadata"
|
|||
|
||||
## LastFM
|
||||
|
||||
You can have forked-daapd scrobble the music you listen to. To set up scrobbling
|
||||
go to the web interface and authorize forked-daapd with your LastFM credentials.
|
||||
You can have OwnTone scrobble the music you listen to. To set up scrobbling
|
||||
go to the web interface and authorize OwnTone with your LastFM credentials.
|
||||
|
||||
forked-daapd will not store your LastFM username/password, only the session key.
|
||||
OwnTone will not store your LastFM username/password, only the session key.
|
||||
The session key does not expire.
|
||||
|
||||
|
||||
## MPD clients
|
||||
|
||||
You can - to some extent - use clients for MPD to control forked-daapd.
|
||||
You can - to some extent - use clients for MPD to control OwnTone.
|
||||
|
||||
By default forked-daapd listens on port 6600 for MPD clients. You can change
|
||||
By default OwnTone listens on port 6600 for MPD clients. You can change
|
||||
this in the configuration file.
|
||||
|
||||
Currently only a subset of the commands offered by MPD (see [MPD protocol documentation](http://www.musicpd.org/doc/protocol/))
|
||||
are supported by forked-daapd.
|
||||
are supported.
|
||||
|
||||
Due to some differences between forked-daapd and MPD not all commands will act
|
||||
the same way they would running MPD:
|
||||
Due to some differences between OwnTone and MPD not all commands will act the
|
||||
same way they would running MPD:
|
||||
|
||||
- crossfade, mixrampdb, mixrampdelay and replaygain will have no effect
|
||||
- single, repeat: unlike MPD forked-daapd does not support setting single and repeat separately
|
||||
- single, repeat: unlike MPD, OwnTone does not support setting single and repeat separately
|
||||
on/off, instead repeat off, repeat all and repeat single are supported. Thus setting single on
|
||||
will result in repeat single, repeat on results in repeat all.
|
||||
|
||||
|
@ -582,11 +581,11 @@ The following table shows what is working for a selection of MPD clients:
|
|||
|
||||
## References
|
||||
|
||||
The source for this version of forked-daapd can be found here:
|
||||
The source for this version of OwnTone can be found here:
|
||||
|
||||
[https://github.com/owntone/owntone-server.git](https://github.com/owntone/owntone-server.git)
|
||||
|
||||
README's for previous versions of forked-daapd:
|
||||
README's for previous versions of OwnTone (when it was forked-daapd):
|
||||
|
||||
[forked-daapd version 27.4](https://github.com/owntone/owntone-server/blob/27.4/README.md)
|
||||
|
||||
|
|
Loading…
Reference in New Issue