Jump to content

Emby UpnP browse and play by Sonos APP


music1980
Go to solution Solved by Luke,

Recommended Posts

music1980

Hi everyone,

Thank you for your hard work.

I have Emby on RPi running Ubuntu Server (fresh installation).

Emby works perfectly with SONOS. I can stream music from the Emby App (Android) to my two paired Ikea Symphonics Sonos Speakers, as shown in Figure 1.

Additionally, I can browse and play songs directly through UPnP without any issues using any client (VLC on my Mac, my Sony TV, etc.).

My goal now is to browse and play songs from the SONOS App instead of using the Emby App.

Unfortunately, the Sonos App can detect the Emby UPnP server, but the songs are unreachable. They lack album art and are not playable. Please see Figures 2 and 3.

Please would anyone be able to offer some suggestions? Does anyone have a Sonos setup that works in this way?

 

Regards,

Figure 1.jpg

Figure 3.jpg

Figure 2.jpg

Link to comment
Share on other sites

HI, yea I'm not sure what the issue is. I tested personally with a Sonos and saw the same result.

Sonos has something wrong with their upnp support. It only works with a very limited number of Dlna servers. 

 

Link to comment
Share on other sites

music1980

Hi @Luke,

Thank you for your reply.

Yes, Sonos can be buggy at times. I think it prefers to see a server that is set up as a UPnP Windows server or something similar. Indeed, in your app, I can find a DLNA profile that has the model name "Windows Media Player Sharing." With Emby, I can see the UPnP server in the Sonos app, but not with Plex or other UPnP/DLNA servers that I have tested.

Furthermore, during my recent downtime, I was able to test the Asset UPnP server running on an Ubuntu server. It was recognized properly by the Sonos app, showing songs with cover art and playable from the Sonos app. However, I was not able to play entire albums with Asset UPnP; I could only play one song at a time.

I also attempted to examine the embyserver.txt log file during the attempt to connect do emby server from the Sonos app. It appears that the server does not recognize a profile for Sonos, but I could be wrong. I attempted to create a dedicated profile for Sonos, but it was unsuccessful.

After reading various forums and discussions, I gathered some information and formed an opinion. DLNA and UPnP are standards, but they sometimes require adjustments for different clients. Additionally, I believe that Sonos recognizes UPnP servers that use protocol 1.1 or something similar, but I could be mistaken. I'm sure you know these concepts much better than I do!!!

Does your app use that protocol (UPnP 1.1 or similar) as well?

Perhaps by understanding how Asset UPnP works and how it handles albums, you can gain a better understanding of the issue. I am not too familiar with the technical details.

This modification would make it a truly Sonos-compatible server.

Please let me know what you think.

 

Finally, I can confirm that Emby is the only DLNA/UPnP server that I have tested that is compatible with Sonos speakers using the dedicated Emby app on my smartphone.

Thank you for your time and assistance!

Edited by music1980
Link to comment
Share on other sites

I tested AssetUpnp extensively, and it does work with Sonos. I personally tested this to confirm it, and then I went through all of our upnp/dlna communications and made them match AssetUpnp's output exactly and I still couldn't get Sonos to play.

So at this point I don't know what the answer is. However, Emby is not alone in this. I tested other popular Dlna servers to compare with, and the only one I can get Sonos to play from is AssetUpnp. 

I also want to point out that Sonos does not have generalized upnp support. I discovered that simply by adjusting the manufacturer field of the initial dlna response, this determines whether Sonos will even detect the server at all. What this tells me is they are only supporting the specific servers that they've tested with, and their code is specifically checking for them and excluding everything else. That's why it didn't even detect Emby Server at all until I changed one of these values to essentially disguise the server.

Link to comment
Share on other sites

music1980

Dear Luke,

Thank you for your clear and informative response. I found your explanation to be both fascinating and interesting. While I'm unable to contribute to your project, I'm grateful for the insights you've provided. It's true that Sonos doesn't have general UPnP support and isn't DLNA certified.

In an old post on the Sonos Forum https://en.community.sonos.com/controllers-and-music-services-228995/asset-upnp-queue-entire-album-6844161 , I came across a response from a Sonos staff member who indicated that they've never encountered Asset UPnP. Despite this, Asset seemed to be working effectively.

Based on this and your response, would it be technically feasible to masquerade the server to appear as something else (e.g. a Windows server) when contacted by a Sonos app?

Cheers

Link to comment
Share on other sites

  • Solution
3 minutes ago, music1980 said:

Dear Luke,

Thank you for your clear and informative response. I found your explanation to be both fascinating and interesting. While I'm unable to contribute to your project, I'm grateful for the insights you've provided. It's true that Sonos doesn't have general UPnP support and isn't DLNA certified.

In an old post on the Sonos Forum https://en.community.sonos.com/controllers-and-music-services-228995/asset-upnp-queue-entire-album-6844161 , I came across a response from a Sonos staff member who indicated that they've never encountered Asset UPnP. Despite this, Asset seemed to be working effectively.

Based on this and your response, would it be technically feasible to masquerade the server to appear as something else (e.g. a Windows server) when contacted by a Sonos app?

Cheers

Right the manufacturer field that I was referring to wasn't anything specific about assetupnp. It was windows media something or other. That's how I was able to get the Sonos to detect Emby Server and display content, but you still get an error when trying to play. I spent a couple days trying to get it work, even testing making our streaming urls identical to assetupnp but didn't get farther than that. I think the problem is on Sonos's side. It's either a defect they need to fix or they need to expand on what it can handle so that it can work with more software.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...