Suggestions for the future: Headless RPi support!

Is there an update to v1.1.0 for RPI?

1 Like

yes please!

@elan - this is a great project. I just stumbled across it because I was trying to figure out how to code something myself so I can fling music from android apps. I considered using mpd and saw some nodejs and golang api libraries on github and thought I had a project to work on…somehow while searching for who knows what keywords, this thread showed up and viola the work was already done!

I do have a few questions all centered around TCP port usage / firewalls.

  1. From the log files the plexamp appears to be using 20000, is that a random port or specific to the plexamp app? I was expecting it would listen on 32400.
  2. Is there anyway for the android apps to use a port # I assign? I have a pretty strict firewall between my LAN and wireless. The android apps appear to pick a random port and plexamp sends periodic timeline updates - I really would like to specify a single port like 32400 that the android app is listening on so I can open only that.
  3. plexamp maintains a resources-server.json file, I notice is has various connections and ports of different devices, including the plexamp listening connection. Can that file be changed to adjust ports (like the 20000) or is it just dynamically created/overwritten?
1 Like

PlexAmp can’t listen on port 32400 as it would prevent to run PlexAmp and Plex Media Server on the same machine

20000 is the port the player/server process listens on; we don’t make it 32400 because it would conflict with the server, as @dada051 notes.

I’m not entirely sure what you’re asking here. Plexamp publishes connection information to plex.tv and then the client apps read it and use that to connect to players.

It’s not intended to be editable, no. It reflects the ways Plexamp connects to media servers.

@elan - What I mean is that from what I saw in my firewall logs / log files, the Android apps (not plexamp) are picking/binding to a random port (not sure if this is considered publish/subscribe behavior). Plexamp tries to send periodic timeline updates to any connected android apps/clients. That is used to update the progress bar/state of the currently playing music. The apps are picking a random port to listen on, rather than a defined one, and that port is not open in my firewall. I want to be able to select a port # on the android apps that they use so that I can pick a defined port and open just that port in the firewall between my wired/wireless network. The way it currently it is, requires opening the entire port range, which increases the threat vector.

Ah, gotcha! Sorry, that’s pretty much standard behavior with our players, they pick a random (free) port and then publish that port. There’s unfortunately no way for them to pick a specific port.

cc: @IanDBird

Any hope for 1.10?

The Android app, for it’s internal HTTP server, will try to bind to the port 32500. If this port is unavailable, either because another app has taken it, or sometimes ports are reserved by the OS when running particular chipsets (e.g. I think Qualcomm devices reserve ranges around it), the app falls back to allowing the OS pick one free. When this trial and error happens, you should see something in the logs saying:

[pms] Couldn’t start the media server: …
[pms] Starting Plex Media Server at port:

1 Like

anyone know a reason i couldn’t run the docker image on a rpi 3 A+ (512 MB) with raspbian?

I’m basically wanting a plex-ic (plexy?) chromecast audio to fling my plex music library at.


EDIT: it works just fine.

I was never able to resolve this issue. Elan suggested that I could have a look at the source to their custom MPD build to see if I could figure something out, but I never got access.

1 Like

We’re working on an upgraded version with a brand new player stack (the same player we shipped on iOS and Android), hopefully that’ll be helpful :crossed_fingers:

7 Likes

I got this to work beautifully for my local collection of music. But i cannot play Tidal through this; is there any plans for supporting this?

v2.0, with support for TIDAL and many other improvements, available now :smile:

1 Like

@erlis if you re-do your docker build with v. 2.0, let us know :grin:

BTW: I tried just rebuilding the docker image using the new plexamp v.2.0.0b2. It builds and runs, but is apparently missing some node dependency. I don’t have time to track it down right now.

Logs:

Attaching to plexamp
plexamp    | /root/plexamp/server/node_modules/treble/node_modules/bindings/bindings.js:91
plexamp    |         throw e
plexamp    |         ^
plexamp    |
plexamp    | Error: libbass.so: cannot open shared object file: No such file or directory
plexamp    |     at Object.Module._extensions..node (internal/modules/cjs/loader.js:683:18)
plexamp    |     at Module.load (internal/modules/cjs/loader.js:566:32)
plexamp    |     at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
plexamp    |     at Function.Module._load (internal/modules/cjs/loader.js:498:3)
plexamp    |     at Module.require (internal/modules/cjs/loader.js:598:17)
plexamp    |     at require (internal/modules/cjs/helpers.js:11:18)
plexamp    |     at bindings (/root/plexamp/server/node_modules/treble/node_modules/bindings/bindings.js:84:48)
plexamp    |     at Object.<anonymous> (/root/plexamp/server/node_modules/treble/index.js:1:97)
plexamp    |     at Module._compile (internal/modules/cjs/loader.js:654:30)
plexamp    |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
plexamp exited with code 1

How do we use Tidal on the Plexamp for Pi? When I try to select tidal from the browser with my pi client, I get the “Cannot use tidal with remote player”…

You can use Plexamp desktop, at the very least :sweat_smile:

Those are new native deps, make sure you have the service file updated too, needs these lines:

Environment="PLUGIN_PATH=/home/pi/plexamp/server/node_modules/treble/build/Release/"
Environment="LD_LIBRARY_PATH=/home/pi/plexamp/server/node_modules/treble/build/Release/"
1 Like

Just deleted v1.0.5 and installed v2 on RPi3B+ with hiberry digi+pro HAT and Raspbian Lite. All works although I don’t have a Tidal account so can’t comment on that. I can’t say there is a significant improvement in playback start up, many tracks seem to take about the same time.

Main issue is that it still forces the output to be 44.1kHz even though the server is saying playing direct with, in this case, a 48kHz file. Any ideas on where to look to check out what is going on?

jumping on the discussion since i was googling how to achieve a similar setup, ie have a Plex music player on a headless Intel NUC connected to my speakers.

Is there any official or usable plexamp docker image i could spin on my NUC ?