Skip to content

Commit

Permalink
added new section about the configuration (config.xml) of AirConnect.…
Browse files Browse the repository at this point in the history
… Also added the player specific settings, hints and tips to the readme
  • Loading branch information
eizedev committed Apr 20, 2020
1 parent dfd1c3d commit d4473bf
Showing 1 changed file with 67 additions and 6 deletions.
73 changes: 67 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ It allows you to use AirPlay to stream to UPnP/Sonos & Chromecast devices that d
- [Install via GUI (Package Center)](#install-via-gui-package-center)
- [Install via command line](#install-via-command-line)
- [How it works](#how-it-works)
- [Configuration](#configuration)
- [Player specific settings, hints and tips](#player-specific-settings-hints-and-tips)
- [Sonos](#sonos)
- [Bose SoundTouch](#bose-soundtouch)
- [Pioneer/Phorus/Play-Fi](#pioneerphorusplay-fi)
- [Build](#build)
- [Run shellcheck (optional)](#run-shellcheck-optional)
- [Build packages for all architectures](#build-packages-for-all-architectures)
Expand All @@ -22,11 +27,12 @@ It allows you to use AirPlay to stream to UPnP/Sonos & Chromecast devices that d
## Information

Since the [original repository](https://github.com/bandesz/AirConnect-Synology) from [@bandesz](https://github.com/bandesz) was archived, I will try to provide the latest releases here regularly and have updated the scripts and just provided the current release.
I have also updated the scripts, readme, releases and a few other files with more validation and error handling.
I own multiple Synology NAS Systems and the current Synology Router, as long as that is the case, I will also update the releases regularly.

If a release is missing, please open an [issue](https://github.com/eizedev/AirConnect-Synology/issues), then I will deliver it to.

The credit goes of course still to [@bandesz](https://github.com/bandesz) and [philippe44](https://github.com/philippe44).
The credit goes of course still to [@bandesz](https://github.com/bandesz) for the inital work and [philippe44](https://github.com/philippe44) for the AirConnect application.

## How to install

Expand Down Expand Up @@ -61,10 +67,13 @@ You can see the logs by clicking on **View Log** on the packages page, or, if no
- Copy over or download your release for [your architecture](#download-the-pre-built-synology-package)
- Run the following command based on your architecture and version `sudo synopkg install AirConnect-${ARCH}-${VERSION}.spk`
- Example: `sudo synopkg install AirConnect-arm-0.2.24.7-20200417.spk`
- Start the **AirConnect** package with `/usr/syno/bin/synopkg start AirConnect` or trough the Package Center
- Check the status of AirConnect with `/usr/syno/bin/synopkg status AirConnect`
- Start the **AirConnect** package with `sudo /usr/syno/bin/synopkg start AirConnect` or trough the Package Center
- Check the status of AirConnect with `sudo /usr/syno/bin/synopkg status AirConnect`
- The default installation directory is located here: `/var/packages/AirConnect/`
- The binaries can be found in: `/var/packages/AirConnect/target/`

You can find the logfile with `/usr/syno/bin/synopkg log AirConnect` (Default: `/tmp/airconnect.log`)
You can find the synology dsm package logfile at `/var/log/packages/AirConnect.log`.
You can find the application logfile with `sudo /usr/syno/bin/synopkg log AirConnect` (Default: `/var/log/airconnect.log`).

You could also clone this repository on your synology device and build your package for your architecture locally, check [Build](#build) for more details.

Expand All @@ -73,9 +82,9 @@ You could also clone this repository on your synology device and build your pack
It runs the AirConnect processes with the following options tuned for sonos:

```bash
airupnp -b [synology device local ip]:49154 -z -l 1000:2000 -f /tmp/airupnp.log -d all=error -d main=info
/volume1/@appstore/AirConnect/airupnp -b [synology device local ip]:49154 -l 1000:2000 -x /volume1/@appstore/AirConnect/config.xml -z -f /var/log/airconnect.log -d all info -d main info

aircast -b [synology device local ip] -z -l 1000:2000 -f /tmp/aircast.log -d all=error -d main=info
/volume1/@appstore/AirConnect/aircast -b [synology device local ip] -l 1000:2000 -x /volume1/@appstore/AirConnect/config-cast.xml -z -f /var/log/airconnect.log -d all info -d main info
```

The process is running with a low-privilege user.
Expand All @@ -100,6 +109,58 @@ Look for the following lines:

Alternatively you can open an issue and include your network interface list and your local IP and i will extend the default network interfaces filter with your list.

### Configuration

If you would like to tweak the AirConnect configuration you can also use the AirConnect configuration file.
> Before continuing please check [official readme](https://github.com/philippe44/AirConnect#config-file-parameters) for more information. I'm not going to explain how it generally works here.
By default the config file will **not** being used as long as the file is not created. The file are **not** created by default.

- Config File for airupnp
- `/volume1/@appstore/AirConnect/config.xml`
- Config File for aircast
- `/volume1/@appstore/AirConnect/config-cast.xml`

You can create each of these file manually or a reference version can be generated using the `-i [config file name]` command line parameter.
For this example i am using the default configuration you can find above in the [How it works](#how-it-works) section. I am just change the `-x` paramter with the `-i` parameter.
Change the ip and parameters for your needs:

Example:

```bash
/volume1/@appstore/AirConnect/airupnp -b 192.168.1.249:49154 -l 1000:2000 -i /volume1/@appstore/AirConnect/config.xml -z -f /var/log/airconnect.log -d all info -d main info
```

After running this command, the airupnp will be started until all needed information and devices are gathered and written to the defined config file.

### Player specific settings, hints and tips

See the original [Player specific hints and tips](https://github.com/philippe44/AirConnect#player-specific-hints-and-tips) from [philippe44](https://github.com/philippe44) for more information.

#### Sonos

The upnp version is often used with Sonos players. When a Sonos group is created, only the master of that group will appear as an AirPlay player and others will be removed if they were already detected. If the group is later split, then individual players will re-appear.

You need to use the Sonos native application for grouping / ungrouping.

When changing volume of a group, each player's volume is changed trying to respect the relative values. It's not perfect and stil under test now. To reset all volumes to the same value, simply move the cursor to 0 and then to the new value. All players will have the same volume then. You need to use the Sonos application to change individual volumes.

To identify your Sonos players, pick an identified IP address, and visit the Sonos status page in your browser, like `http://192.168.1.126:1400/support/review`. Click `Zone Players` and you will see the identifiers for your players in the `UUID` column.

#### Bose SoundTouch

[@chpusch](https://github.com/chpusch) has found that Bose SoundTouch work well including synchonisation (as for Sonos, you need to use Bose's native application for grouping / ungrouping). I don't have a SoundTouch system so I cannot do the level of slave/master detection I did for Sonos

#### Pioneer/Phorus/Play-Fi

Check the [Configuration](#configuration) section on how to apply the below tuning to the configuration.

Some of these speakers only support mp3 and require a modified `ProtocolInfo` to stream correctly. This can be done by editing the [config file](#configuration) and changing `<codec>flac</codec>` to `<codec>mp3</codec>` and replacing the `<mp3>..</mp3>` line with:

```html
<mp3>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=0d500000000000000000000000000000</mp3>
```

## Build

You need to install the following packages on your distribution:
Expand Down

0 comments on commit d4473bf

Please sign in to comment.