Thank you for your donation!


UPNP Tidal usage
#11
(04-13-2018, 01:49 PM)TheOldPresbyope Wrote:
(04-13-2018, 10:38 AM)metalrob Wrote:
(04-09-2018, 04:49 PM)TheOldPresbyope Wrote:
(04-09-2018, 10:52 AM)rollinhand Wrote: Many thanks very useful.  I will test at weekend.  I did some further research and given I have a QNAP NAS at home the following guide was useful and had a nice architecture diagram which makes it all a lot clearer:

http://www.hifizine.com/files/2016/06/ar...ture-2.png

@rollinhand

It looks like this is the upmpcli developer's original image edited to name specific products which can fulfill the various UPnP functions. It can be a little misleading with moOde.

There are two different modes of accessing Tidal streams from moOde. 
  • In the first, moOde needs no Tidal credentials and some other software must deal with the Tidal credentials and act as a proxy server for the Tidal streams (the image you posted implies this mode since it names "BubbleUPnP server"). This mode certainly works but it requires the music stream from the Tidal servers to pass through your network several times as it makes its way first to, say, a BubbleUPnP Control Point and then to moOde. It also requires the control point to be on continuously.
  • In the second, moOde deals directly with the Tidal credentials and acts as a proxy server for the Tidal streams. This to me is the more desirable mode because the music stream passes directly from the Tidal servers through your network to moOde. This takes up less bandwidth on the network and the control point does not have to be on continuously once it has told moOde what to play.
From the standpoint of the control point, it's just a matter of choosing the right library (that's what BubbleUPnP calls it; YMMV). To activate the second mode in BubbleUPnP, one chooses (via the hamburger icon) LIBRARY/Local and Cloud/Moode UPNP-mediaserver. To activate the first mode, one chooses LIBRARY/Cloud/TIDAL (and also enters the Tidal credentials).

Tidal and Google Music have worked for me in moOde since Tim first introduced the capability.

Regards,
Kent

Hi Kent!

Just want to question the essence of the following statement of yours:

"In the first, moOde needs no Tidal credentials and some other software must deal with the Tidal credentials and act as a proxy server for the Tidal streams (the image you posted implies this mode since it names "BubbleUPnP server"). This mode certainly works but it requires the music stream from the Tidal servers to pass through your network several times as it makes its way first to, say, a BubbleUPnP Control Point and then to moOde. It also requires the control point to be on continuously."


Experimentally I've tested a very long track chosen in Bubbleupnp (20 min). Library was 'Local&Cloud'. Track started, exit Bubble, shut down Phone. The chosen track played till it's end. Then of course mpd stops playing till it is 'told' what to play next.

This fact to me means, that Bubble upnp obviously manages to bring the stream from the router directly to moode's mpd without any detour.
Additionally I've to say, that I've deactivated using bubble as a proxy in it's settings.

Comparisons in sound between using moode-server or Local&Cloud as the library bring out very slight benefits for using Local&Cloud (minimum more bass impact and a very little bit more air- that is of course all subjective and my very personal impression).

Conclusively I see no disadvantages in using Local and Cloud library mode instead of moode-mediaserver- although there is a bit of better handling in bubble using moode-mediaserver- just one step faster at choosing music.

Greetingz, Robert

Fascinating, Robert. 

It seems to me that at some point in the early stages of Tim's integrating upmpdcli, I tried the same test and got the opposite result. But, hey, I'm old. I still remember to eat breakfast but everything else is up for grabs. 

Now I'll have to do my own experiment with some network sniffing to find out where moOde is getting its stream while playing Tidal tracks via BubbleUPnP in Library/Cloud mode. Once the credentials are accepted by Tidal, it returns stream-URLs in plaintext so it's certainly possible BubbleUPnP just passes them along.

Note that if you create a Tidal account in moOde (via upmpdcli) then you can use BubbleUPnP to send an entire tracklist to moOde, disconnect BubbleUPnP, and continue listening to the entire tracklist. To some extent, you can even manipulate the playlist but at some point the stream-URLs seem to expire.

As an aside, I was an experimental physicist and research engineer my entire life. I tip my hat to you for listening to me blather and then going ahead and doing the test! "Trust but verify."

Regards,
Kent

Hi, Robert.

I haven't had time to dig deeply, but looking at the contents of /var/cache/upmpdcli/metacache while playing Tidal tracks in the two modes (moOde as the proxy server and BubbleUPnP as the proxy server) I see the following difference where my moOde player is on an RPi3B+ with ip=192.168.1.240 and my BubbleUPnP is on a phone with ip=192.168.1.157

1) moOde as the proxy server - a typical track URL is http://192.168.1.240:49149/tidal/track?v...d=86694404


2) BubbleUpnP as the proxy server - a typical track URL is http://192.168.1.157:57645/proxy/tidal/4...CA3E65.m4a

In the first instance, the track is being delivered by upmpdcli in the moOde player and the URL contains GET query strings. (One could use netstat to trace the ports and sockets involved, but I haven't got around to it.) I can select and play any of the tracks in the Tidal playlist.

In the second instance, the track is being delivered by BubbleUPnP on my phone in the form of an MPEG 4 Audio file (which means AAC encoded). It's true, I can shut off my phone and the current track will keep playing for a few minutes (nothing like 20min, though!) but surely that's due to caching of the file contents (haven't had time to trace where that's done). Once the cache is empty, moOde/upmpdcli is done. Whether the track is finished or not, I can't jump around in the Tidal playlist.

With what I see so far, I have to stand by my original statement after all.

Regards,
Kent
Reply


Forum Jump: