As Plexamp have now released a new endpoint software for raspberry pi (see: https://forums.plex.tv/t/future-of-plexamp-on-raspberry-pi/717577/161 ), is there a possibility of this being integrated into Hifiberry OS?
Many thanks,
Jonathan
As Plexamp have now released a new endpoint software for raspberry pi (see: https://forums.plex.tv/t/future-of-plexamp-on-raspberry-pi/717577/161 ), is there a possibility of this being integrated into Hifiberry OS?
Many thanks,
Jonathan
While it MIGHT be interesting this would require a 64bit installation. Today, HiFiBerryOS is still 32bit (we don't need any 64bit stuff). At some point we will probably switch to 64bit, but I can't say when this might happen.
I recommend to post a feature request here:
https://github.com/hifiberry/hifiberry-os/issues
No problem, I'll post a feature request on Github.
Thanks for the info about HBOS being 32-bit, and on GitHub for explaining how the closed source nature of PlexAmp doesn't fit into the design of HBOS even if it were 64-bit.
Would anyone be able to suggest a HiFiBerryDAC compatible 64-bit OS that would be systemd and lightweight so that I could curl in a Node 12 and a PlexAmp-headless-rPi release?
EDIT: After getting PlexAmp running on my Pi 4B and BerryDAC2 Pro, I thought I'd mention how easy it was with Raspbian Lite once I found three things.
fyi: Plexamp is now 32/64-bit and is running fine in HiFiBerryOS, even though not integrated. I'm using it on a daily basis.
Do you run it in a docker container?
nope, directly in HiFiBerryOS
On the same Node.JS or did you install a seperate one? If you can provide more information, there's a chance we can better integrate it.
I had to install Node.JS v12 for Plexamp to run, then I curled Plexamp, install it and adjusted the settings to match the Unix user, set it to run as a service and that's it. I'm using it against my PMS installed in a NAS.
I'm using HiFiBerryOS UI for the sound settings/filters, I also use the optical input of my DAC + DSP that I have set to not Auto-Stop other sources as I think that would kill Plexamp like when I start a HiFiBerryOS integrated source such as radio. Pausing/stopping Plexamp let the Optical Input sound go through which is good enough for me.
What kind of other information are you looking for, bearing in mind that I'm a basic unix user?
fyi: Node.JS v16 is now required to run Plexamp. Still works fine in HFBOS
Hey Jerome Le Luyer
You would be the hero of the year if you could create a step by step from the beginning exactly how to get a working hifiBerryOS+plexamp installation. It looks like there are so many people that like to be able to cast both tidal and plexamp to the same device and I think you have more linux knowledge than many of them, so at a copy/paste level.
I know it is a lot of work, but who knows, maybe you just drank 3 cups of coffee and is in the zone
Hey joggs - I already have kind of step by step for my own use as these Plexamp steps must be re-ran each time HFBOS is updated. Sharing it here would maybe pollute the thread, but I definitely can share it with you via PM as a first pass if you wish?
If you add it here, it might be possible to use this to create a docker image for this. This way, it would be automatically re-created after an update.
We're happy to look into this to create a dockerfile
HiFiBerry team That would be incredible! Jerome Le Luyer I suppose you feel the same? :-)
Unfortunately I don't think a docker can easily do the job as each Plexamp instance is linked to a Plex account that is configured during the initial installation, unless there is a "docker" way to manage this scenario?
Also, a docker layer may have an impact on the performance in RPI without enough memory/cpu.
Without going into much details for now, here are the steps I used to install it in HFBOS (prerequisite: HFBOS installed and tested, ssh enabled in HFBOS, Valid Plex account + Plex Pass (TBC), Web browser):
Whenever a new Plexamp version is available, downloading and extracting it in place of the running one are the only required steps.
Docker has a very small impact on memory/CPU, that shouldn't be a problem.
However, the "claim token" definitely is. With this concept, an automated installation is simply not possible. I don't really get why they do this. It would be easy to import this token from a web session as there is already a web server running anyway. Maybe there is some way to import this later via the WebUI?
Ok - i just created an account to leave that here.... I run hifiberry os with plexamp 4.6.0 headless (native plex build) with node v16 (installed via nvm). A little fiddling with plexamp.service and works like a charm.
The claim token is done by just calling the .js with node manually once.
Is there any chance to get the integrated in hifiberry os out of the box? After every upgrade of the os I need to do the whole procedure again...
As long as there is no way to install it without having to run some command line tool to install tokens or similar, we won't start looking into this.
The software needs to have a way to be configured automatically without the user having to do command line stuff.
If you want your stuff to survive an upgrade, you need to install it in a docker container. Docker containers will be re-created after every reboot. Installing any additional software directly onto the system is not recommended.
We might move even exiting players to docker containers in the future to allow independent updates of players from the base system.
Which is a brilliant idea! Containers are fun. I tried those things before installing directly - had some issues with using DAC2HD nativ os and from the docker container. Wouldn't work in parallel. But if this is the way to go there will be solutions for that (connecting "virtual" sound cards from around different containers....)
In HiFiBerryOS a player has exclusive access to the sound card. There is no audio-middleware layer that allows to have multiple programs to access the sound card at the same time.
This allows every player to use the native sample rate and sample format of the source material without software resampling.
A player needs to have a way to be paused, otherwise it will be killed by the integrated players. This is done by /opt/hifiberry/bin/pause-all
This script is not available from a docker-container, we first need to add docker support for this (e.g. using a named pipe or similar).
Also a player that is not active should NOT open the sound card for playback.
Guys - this really is a refreshing discussion! I didn't expect to get that kind of deep knowledge within that timeline. Congrats!
fyi: today, with the help of a Plexamp/docker specialist, I managed to install a Plexamp docker container in HFBOS. The claim token input process is still manual, has to be run once, which is less pain than having to re-install Plexamp at each HFBOS update assuming docker containers and /data are confirmed persistent.
Jerome Le Luyer Really happy for you! Could you post the docker yaml/container repo to get that working for the community?
Christian Brückner, here are the notes I took. Some may be incomplete or incorrect, please shout in such case!
Note: there is more work to do to manage Plexamp code updates, but our friend @gitlab is working on it.
Jerome Le Luyer This is exactly what I was looking for. Some thoughts/recommendations:
1. network_mode: "host" - wouldn't use that - just substitute with '- ports 32500:32500' to only use that specific port for the mapping outside - more secure
2. I would change 'restart: always' to 'restart:unless-stopped'
Rest of that works like supposed to!
Thanks for sharing
Christian Brückner, I received the following comments to your comments:
1. network_mode: host
is needed for multi-cast discovery and the mesh functionality. When don't use that docker puts the container on a private network and uses NAT to map the ports from the host to the container.Hi Christian Brückner and Jerome Le Luyer
Thanks a lot for keeping this going!!! Got my plexamp installed and can now finally listen to my Plex library via HiFiBerry :). I have been waiting for this for years!
One thing though: when raising the volume via the plexamp app (casting to my HiFiBerry) on my phone, I noticed that the quality deteriorated but when instead I increased the volume directly via the HiFiBerry UI webpage, it did not. So unsure why the plexamp app just doesn't increase the volume on the HiFiBerry and avoid the quality loss.
EDIT 2023-04-23: removed instructions describing POST requests to get plex claim via cli. I tried it recently again and script no longer worked so not a fan of keeping not working code online.
Best regards,
Diederik
Hi Diederik,
You are welcome!!!
Regarding the volume control, I could not reproduce your issue, changing the volume either with a smartphone remotely controlling Plexamp Headless or using HiFiBerry OS UI does not make a difference, both are working well and smooth.
That said, on a daily basis, I'm not controlling the volume this way but through the sound system directly, both Plexamp and HiFiBerry volumes being set at their max.
Also on my phone I have deactivated "Use Hardware Volume" in Plexamp/Settings/Advanced/Remote Control
Kind regards
Hi Jerome Le Luyer
Ok will try that out. I did notice that when I used my phone's volume up that even though the visual on my Android reached the max visually, it seemed to still augment the volume. So the indicator could not increase any further on the 'casted device' but when pressing the button, it did "increase" it somehow.
Just checked that hardware volume setting on my phone, that indeed avoided the issue. Thanks!
Have a nice weekend!
Diederik
Jerome Le Luyer - Many thanks for posting this. I received my DAC+ DSP and was able to follow your instructions to get Plexamp up and running in less than 10 minutes!
I had the same issue as you, having to cancel out of the claim token procedure the first time.
Also, in case it helps anyone, once you have installed version 461, you can update to the latest version (462 at the moment) by executing the update_plexamp script: "docker exec -it plexamp /usr/local/bin/update_plexamp" which is listed on the GitLab site.
Bob Moss - Merci and welcome to the club! It works very well indeed, I'm using and enjoying this setup on a daily basis, controlling Plexamp in HiFiBerry from any device running Plexamp (smartphone, tablet or computer).
Also, my TV is using the optical input of the DAC + DSP so both sources, Plexamp and TV, leverage the same hifi end system, and this way Plexamp always has the priority over the TV which is a + for me.