This plugin/app integrates UPnP/DLNA players found on your network and let LMS use them as if they were regular Squeezeboxes (they appear as a modified squeezelite instance).
The stable version is now part of the 3rd party plugin built-in list, so you should find it in the plugins page. If you want to test the development version (there is not always one on-going), just add the following repository
It should provide pretty much all the features of squeezelite, except synchronization that does not and will never work (all you can have is a 2-sec accurate sync start)
Once installed, there is a "UPnP/DLNA Bridge" page added to your "Settings" and you'll have to tweak probably a few parameters there. A list of pre-existing profiles is available as well, but if your player is not included and you manage to have it working, please post here your successful configuration settings so that I can add them to the list of known devices.
You need at least to select one helper binary, the bridge will not run otherwise. For Windows users, please install the Microsoft package whose link is provided. In general, prefer the non-static version if possible. For arm devices, the armv6 is for older CPU (PiZero 1st gen and other early Pi with ARM1176 processor)
There are two processing audio modes
1- Passthrough
2- Full processing
In Passthrough mode, what codec to choose is a frequent question, so here are few tips:
I'd like to really thank PasTim for his numerous suggestions, tests and continuous support and ralphy for patches and builds that allowed this to work on OSX, Windows XP and ARM
!! CHECK YOUR FIREWALL STATUS !!
The Bridge installs a web server on a random port from 49152 (can be configured), up to 32 ports, so your firewall must allow that. If everything seems to work but you have no sound, you probably have these ports blocked so the UPnP/DLNA player cannot get the audio. In Windows, add a rule authorizing squeeze2upnp-win.exe or go into C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\UPnPBridge and launch *once* squeezeupnp-win.exe where you'll be prompted for authorization.
This plugin *requires* SSL to stream HTTPS directly so make sure it's installed on your LMS server. Not a problem for Windows, OSX, most Linux x86, Raspberry pi, Cubie, Odroid and others that use a Debian-based, but can be problematic with some NAS. I don't have a perfect guide, so please refer to your NAS forum, but most of the recent NAS firmware update include SSL as well, so that might be all that is required.
Other than that, Perl must have SSL support enabled, which again is available in all recent distribution and LMS versions (I think). But in case of problem and for Debian-ish Linux, you can try "sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl" at any command prompt. Here is as well the link to the original thread http://forums.slimdevices.com/showth...l=1#post631449
Sonos tips
Sonos players, when grouped, will keep their synchro within the Sonos group. When a group is created, all slave players will disappear from LMS, only the master is kept. They will re-appear when un-doing the group. You must use the Sonos app to create/delete groups.
Other tips
Debug HELP
Folks, if you want help, you must post here the LMS version you're using, the OS and CPU. Then you must take a log of the bridge (go to the plugin's settings in LMS settings, tab advanced, it's self-explanatory).
I won't be able to help and I will not answer dry questions like "it does not work"
Advanced information
The "binary helper" is an independent application that is the *real* bridge. The LMS plugin part does not do much other than offering a UI to edit config files. So you can run that binary helper on *any* computer/Pi on your network, it does not have to run together with LMS. The compromise is that you will have to edit manually the XML config file. A version with detected players can be generated automatically using the -i option, but after that you're on your own. Refer to user guide for more details.
For manual installation, please follow
The stable version is now part of the 3rd party plugin built-in list, so you should find it in the plugins page. If you want to test the development version (there is not always one on-going), just add the following repository
Code:
http://downloads.sourceforge.net/project/lms-plugins-philippe44/dev/repo-sf.xml
Once installed, there is a "UPnP/DLNA Bridge" page added to your "Settings" and you'll have to tweak probably a few parameters there. A list of pre-existing profiles is available as well, but if your player is not included and you manage to have it working, please post here your successful configuration settings so that I can add them to the list of known devices.
You need at least to select one helper binary, the bridge will not run otherwise. For Windows users, please install the Microsoft package whose link is provided. In general, prefer the non-static version if possible. For arm devices, the armv6 is for older CPU (PiZero 1st gen and other early Pi with ARM1176 processor)
There are two processing audio modes
1- Passthrough
- In this mode, the audio tracks are simply passed to the UPnP/DLNA player with almost no modification (except a few tweaks for PCM -uncompressed- and flac).
- Success will vary from track to track, depending on your UPnP/Player characteristics
- Except for PCM tracks, replay gain, fade in/out/in-out will not work
- Gapless works with UPnP/DLNA players that support it, but quite often it's not true gapless
- Codec setup can be complicated, see below note
2- Full processing
- In this mode, the tracks are decoded and resampled (if needed) by the bridge and either sent as uncompressed PCM or re-encoded using flac or mp3
- This mode provides much better compatibility as the same format can be sent to the UPnP/DLNA player
- Replay gain, fade in/out/in-out are supported
- Supported codecs are ogg,mp3,aac,flac,pcm and this is indépendant from what your player support as the Bridge does transcoding
- There is a special option named "flow" to send all the tracks as a long single stream to enable true gapless and crossfade (you'll lose metadata display on the UPnP/DLNA player unless re-encoding uses mp3, icy metadata is enabled and supported by the player)
In Passthrough mode, what codec to choose is a frequent question, so here are few tips:
- Remember that, in passthrough mode, UPnPBridge does not do transcoding, just a few format tweaking. So the "agreement" on supported codecs is between LMS and your player, UPnPBridge just helps the negotiation
- flc,mp3 are very likely to work in all cases - transcode the rest in LMS, do not try sample rate higher than 48kHz
- pcm (and aiff) usually work
- ogg works correctly if your player supports it
- aac might work but there are at least 6 sub-formats and result totally depends of your player, track by track - it's a hit and miss, really. Some player have support but don't report it in their "mimetypes", so you need to add "audio/aac"
- if your player does not support 24 bits samples (Sonos and many others don't) and you have such files, then you *must* use uncompressed codecs format like 'pcm' and/or 'aif'. There is an option in UPnPBridge to then truncate down to 16 bits. You won't know if 24 bits works before you try as players won't say they do or don't (they go silent) and LMS does not offer possibility for the player to feedback its sample size abilities anyway
- These issues go away if you use full processing mode, available since version 1.x
I'd like to really thank PasTim for his numerous suggestions, tests and continuous support and ralphy for patches and builds that allowed this to work on OSX, Windows XP and ARM
!! CHECK YOUR FIREWALL STATUS !!
The Bridge installs a web server on a random port from 49152 (can be configured), up to 32 ports, so your firewall must allow that. If everything seems to work but you have no sound, you probably have these ports blocked so the UPnP/DLNA player cannot get the audio. In Windows, add a rule authorizing squeeze2upnp-win.exe or go into C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\UPnPBridge and launch *once* squeezeupnp-win.exe where you'll be prompted for authorization.
This plugin *requires* SSL to stream HTTPS directly so make sure it's installed on your LMS server. Not a problem for Windows, OSX, most Linux x86, Raspberry pi, Cubie, Odroid and others that use a Debian-based, but can be problematic with some NAS. I don't have a perfect guide, so please refer to your NAS forum, but most of the recent NAS firmware update include SSL as well, so that might be all that is required.
Other than that, Perl must have SSL support enabled, which again is available in all recent distribution and LMS versions (I think). But in case of problem and for Debian-ish Linux, you can try "sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl" at any command prompt. Here is as well the link to the original thread http://forums.slimdevices.com/showth...l=1#post631449
Sonos tips
Sonos players, when grouped, will keep their synchro within the Sonos group. When a group is created, all slave players will disappear from LMS, only the master is kept. They will re-appear when un-doing the group. You must use the Sonos app to create/delete groups.
Other tips
- With docker you must use 'host' mode network
- IGMP snooping is very often a cause of issues with player's discovery / stability - check your router parameters
- Read the User's Guide which is accessible in the Settings
Debug HELP
Folks, if you want help, you must post here the LMS version you're using, the OS and CPU. Then you must take a log of the bridge (go to the plugin's settings in LMS settings, tab advanced, it's self-explanatory).
I won't be able to help and I will not answer dry questions like "it does not work"
Advanced information
The "binary helper" is an independent application that is the *real* bridge. The LMS plugin part does not do much other than offering a UI to edit config files. So you can run that binary helper on *any* computer/Pi on your network, it does not have to run together with LMS. The compromise is that you will have to edit manually the XML config file. A version with detected players can be generated automatically using the -i option, but after that you're on your own. Refer to user guide for more details.
For manual installation, please follow
Comment