Mopidy Discourse

Is this a typical use case?

I have a question about a use case. I am a life long end user and not in IT so there is a good chance I am asking the wrong question.

I have been directed to mopidy from the Jellyfin crowd, after asking a question about a 3 part client server model, which I am told is better known as ‘casting’. Say I have a Jellyfin server at home. It has music on it. I want to stream it to a client. I have a repurposed hifi from the 90s, now driven by (something like) an rpi. I want to use a phone to browse the music on the server, then when you press play it comes over the repurposed hifi.

To make this work I think I would have the mopidy-jellyfin back end and then two mopidy clients, one a phone like M.A.L.P. or browse a web page client like Mopidy-http, and have it play out another headless (?rpi?) client (what would that be?). Is this within scope of Mopidy or am I just getting over-imaginative?

By doing this I don’t have to put a whole head on the rpi/other, and my wife can stop walking round with her favourite music pouring out of the rubbish mobile phone speakers in her pocket; streaming what we have from our server, not what she can search off YouTube with all the ads.

Is what I am suggesting achievable/ beyond scope for mopidy?

If the Pi running Mopidy is what’s connected to the hi-fi, then I would say that sounds like s pretty standard setup. It streams from the Jellyfin server (or whatever other backend you want), and is controlled by some client on a phone or PC.

Ah thanks. So I understand: you would use a browser on the phone (not a mopidy app) to browse webpages on the mopidy-jellyfin server. You would run a client on the pi (I can’t tell which), and any instruction to the server from the phone would play on the pi+hifi. OK got that.

Which client would you recommend for pi?
Can anyone then log on with any phone an change the music? or is there user accounts?
Can you readily redirect the output to a different pi/room?

No, not exactly. The Pi that’s outputting the sound to the hi-fi just runs Mopidy and Mopidy-jellyfin. You would then use a client to control Mopidy, not Jellyfin. Jellyfin will just serve the audio that Mopidy requests from it.

There are a few options for controlling Mopidy.

  • You can install a phone app. I like Mopidy Mobile.
  • You can install a web frontend on the Pi and access that via a browser. Iris is probably the most popular, but works best with the Spotify backed.
  • You can install the Mopidy-mpd extension and use anything that speaks MPD to control it (eg MALP).

I would probably just install a load of things and see which works best for you.

There aren’t any user accounts in Mopidy, so anyone with access to a client can control it by default. I expect there are ways to limit access by putting a reverse proxy in front of it or something. There should probably be a tutorial for doing that somewhere, but I haven’t seen one.

You’ll need a more complex setup if you want to switch the output to a different room. You can do that use Snapcast. You would run Snapserver on the same Pi that runs Mopidy, then have other Pis running the Snapclient and connected to different hifis.