Before I get into the heart of this let me preface my comments. I’m a big fan of plex. I’ve been a user for, well, longer than I can remember. We use Plex every day to watch video and we love it.
Until recently I’ve pretty much ignored music on plex but decided to give it another try. I want to like it. It’s so close to being perfect that its shortcomings make it even more frustrating because most of them seem to be long standing errors that just indicate that Plex doesn’t care.
I’m not a plex basher. I really like Plex and just want an even better Plex. Especially since the problems it has for music are so fixable. With that out of the way…
My latest problem is Plexamp and airplay. This happens from both an iPad and and iPhone. It also happens from MacOS. In all cases I’m trying to airplay to one of two sets of stereo linked HomePod minis.
First…no airplay button in the app? It’s not especially friendly to make me head out to the control panel to adjust airplay. But that’s the minor problem.
The major usability issue is Plexamp frequently stutters or completely drops out when using airplay. This happens to the point of being unusable.
I know @elan has frequently said Plexamp has no part in the airplay process so it can’t be their fault but Plexamp is the only app I’ve had this happen with. I downloaded Prism to try and it airplays just fine (and has a more responsive UI when airplaying). No other app I’ve used airplay with has an issue like this. Just Plexamp. I really prefer to the Plexamp UI to Prism’s though so this makes the problem especially frustrating.
Is this ever going to be addressed? If not, that’s fine, just make a commitment to fixing or ignoring it so we can all make decisions about what to do. I’d really like to make Plex my primary way of listening to music but currently it’s an exercise in frustration.
If there is any info I can provide to help, let me know.
I don’t generally have issues with AirPlay when using it along with my Sonos system. Not to say you aren’t having a problem but just that it might be more of a specific troubleshooting path for your situation rather than system-wide bug to be “addressed”.
AirPlay is much easier to use with Sonos and iOS than going into the Sonos app so I use it a lot with PlexAmp, Spotify and Apple Music. When I’ve had AirPlay problems casting to Sonos on any of those platforms… pretty rare actually but occasionally I’ll get playback hiccups … it’s often fixed by rebooting my dedicated AirPlay Sonos speaker.
For triggering AirPlay with PlexAmp, I don’t go to Control Center on iOS. I click the “cast” icon located in multiple places on PlexAmp GUI and then click the AirPlay icon in the player select window that comes up. It’s not entirely intuitive but it does work for me without having to leave PlexAmp. To be fair… I sometimes have to flip it back and forth to get it to trigger but that’s happened on Spotify and Apple Music too.
If you provide a bit more about your specific setup and issues - maybe the log files after drops happen - some of the engineers\techs in these forums might be able to help track down a solution for you.
I hadn’t noticed the airplay icon in the cast dialog. I’ll try that and see what happens. I wouldn’t expect that to make a difference but it’s worth verifying that.
As to logs…does Plexamp provide any logs? I doubt server logs would make a difference here.
As to my setup, there are iPhones and iPads all on the latest version of the OS. There are two sets of stereo-paired HomePod minis, also on the latest OS.
The phones and pads are all making 5GHz Wifi 6 connections to the access points and the HomePod minis are making 5GHz Wifi 4 connections to the access points. The access points of Unify access points and the network is otherwise stable.
Given the stuttering (or sometimes the speakers just stop playing completely though PlexAmp says its streaming) only happens with this one app it seems most likely it’s an app issue and not a network issue. However, if there is a way to get logs out of PlexAmp I’m happy to provide them.
In PlexAmp on iOS you can go to Settings and then Advanced and then Debugging and that’ll let you grab the logs from the app itself. That combined with the server logs are at least references that can help so I’d definitely try adding those to this thread. Might be best to post those shortly after it happens so you can give a timeframe that’s easier to look over.
Your wifi\network setup sounds pretty typical but you might hit up the Unify forums or subreddits and see if anybody has noticed any issues there with homepods or airplay. Eero and Sonos didn’t play well together for example and there were tweaks to help. Unify being a managed network environment might have some tweaks to help with the casting quality in general as well.
As expected, using the in-app link to airplay made no difference in the dropouts. For what it’s worth, it happens much more frequently from my (admittedly old) iPhone 11 Pro Max than it does from my 2nd generation iPad Pro. But neither device has any issues with other apps.
I ran a quick test and there were three dropouts:
16:09. short audio dropout
16:10 short audio dropout
16:11 total audio dropout for the last 30-ish seconds of the song which persisted into the next song.
There is an AirPlay button in the app. Inside the cast dialog, we show one next to “This Device”. And if you long press the cast button, we bring you right there as a shortcut.
That is 100% down to AirPlay/iOS, we don’t have any visibility besides “the audio route switched to AirPlay”.
I know that sounds like a cop out, but it’s the truth. I’ve experienced flaky AirPlay behavior with the official Apple apps as well.
Personally, I’ve moved to using Headless Plexamp as it is rock solid, zero latency, bit-perfect, and offers other advantages such as not needing the mobile device to be sending over audio the whole time.
I do see errors like this in the Plexamp log that happen at around the time the dropouts happen:
Mar 24, 2023 16:09:05.972 [Javascript] INFO - ViewState: Sending partial view a2a5de5b619115fc33c5ed0105faa3f40f9fd3cd/1194250 (success: true).
Mar 24, 2023 16:09:05.973 [0x7092b000] DEBUG - Networking: Create request 731: (GET https://10-1-10-240.ea86f94ee2004a638b6136d6360fed48.plex.direct:32400/:/timeline?offline=1&ratingKey=1194250&state=stopped&updatedAt=1679679742&time=25080&includeFields=thumbBlurHash&X-Plex-Device-Name=iPhone).
Mar 24, 2023 16:09:05.977 [0x70327000] DEBUG - Networking: Completed request 731: (GET https://10-1-10-240.ea86f94ee2004a638b6136d6360fed48.plex.direct:32400/:/timeline?offline=1&ratingKey=1194250&state=stopped&updatedAt=1679679742&time=25080&includeFields=thumbBlurHash&X-Plex-Device-Name=iPhone) with code 404 (have 85 bytes) in 3 ms.
Mar 24, 2023 16:09:05.978 [Javascript] INFO - Networking: Error parsing JSON from request 731: 404 JSON Parse error: Unexpected token: <
Mar 24, 2023 16:09:05.978 [Javascript] INFO - Error loading: get https://10-1-10-240.ea86f94ee2004a638b6136d6360fed48.plex.direct:32400/:/timeline?offline=1&ratingKey=1194250&state=stopped&updatedAt=1679679742&time=25080&includeFields=thumbBlurHash&X-Plex-Device-Name=iPhone: HTTP status 404
@elan, I respect that you are giving the best answer you currently can, but the difference between every other app I have used and PlexAmp with respect to airplay is a night and day difference. The others all work fine. PlexAmp, especially on the phone is unusably bad. Something is happening for those of us experiencing this that is beyond “flakiness” (something I don’t experience with other apps). I’ve used Apple Music and Overcast extensively with airplay and never had a single dropout and certainly never had the audio just stop completely while blithely thinking it was streaming.
@elan beat me to it, but i’ll go ahead and post anyway (already had most of it written out) …
one thing to keep in mind, at least some of the apps you’re describing as not acting flaky are using airplay 2 …
if i’m not mistaken, Plexamp uses airplay 1 (as do other audio apps such as spotify, amazon, deezer, roon) … the slower response (~ 2 sec between pressing play/pause and the corresponding action) is needed for buffering and is just part of how airplay 1 works … airplay 1 has a limited buffer and tends to be less tolerant of varying wifi and device conditions, which can lead to dropouts
airplay 2 is better in some ways, but i have read that it can be more difficult/burdensome for app developers to implement, which is likely why many high profile audio apps still use airplay 1
As a developer I can understand that some API’s are more onerous to work with. But, as an end user, all I care about is the user experience. Prism Music (which does appear to use Airplay 2) works fine with plex (but with a UI that isn’t as nice). I don’t care what Spotify uses. I don’t use Spotify. I don’t use amazon. I use plex. I care about my experience with plex.
If airplay 2 will make the user experience better for iOS users then plex needs to head in that direction instead of telling us, “It’s hard”. Other apps don’t seem to have that problem. If Plex wants to keep its users then make the apps useable for the users and stop making excuses for not wanting to devote development resources to the problem.
Don’t get me wrong, I really like Plex. As I said, my family uses it every day for video. Airplay is so fundamental to iOS interaction that not supporting it properly makes the user (or at least this user) feel that you just don’t care about supporting the platform properly.
Or we have to provide you with an alternative which provides as good or better experience, which we’re doing.
AirPlay 2 is buggy, hard to implement, and suffers from limitations we don’t like (the 30 second buffering ahead is battery expensive to render out that long, the device needs to stay present and be connected).
AirPlay 1 works reliably for many people (myself included), with the exception of the latency described above.
Not the case, and the fact that many other platforms have chosen not to support AirPlay 2 should give you a hint that the decision is not as cut and dry as you make it out to be.
@elan, I don’t mean to be argumentative. I really don’t. If anything, it is my passion for Plex that makes me so strident.
I make no claims to know what’s involved in supporting airplay 2. But I do claim to know that the current user experience is bad for some people for reasons that nobody seems to understand and that Plex doesn’t seem to want to understand why. What I’m hearing is “airplay 1 sucks but airplay 2 is too onerous to implement so users with problems are either screwed or forced to spend more money to implement a workaround”. Given that I’ve never used headless Plexamp, I’lm not sure how hard it will be to train nontechnical family to use it.
It’s a bit ridiculous that I need a $70 Pi because my $1000 phone won’t stream music properly. I get that development resources are always in short supply. I know things take time to implement. But lots of people use airplay and lots of people aren’t going to buy a pi to do what their phone ought to be able to do (and can do with other apps). Again, what Spotify does or doesn’t do is meaningless to me. I don’t use that app. I care about Plex and I care about it a lot. I’ve been a plex user for a looooooong time. I’ve evangelized Plex to friends. I’m on your side. I just want us to have the best possible experience using plex and right now airplay is essentially unusable.
I don’t think you’re being argumentative, I enjoy the discussion.
The bottom line is that not everyone is having a bad experience with AirPlay 1. I have no visibility into why it’s working so poorly for you, but it’s not something in our control.
In the future we might try to get AirPlay 2 working again. I fought with it for a couple weeks and it was super flaky, I was able to get it to act crazy just by quickly tapping on a bunch of different speakers. I thought “hey, this is our bug” but then reproduced with Apple Music. So I just wasn’t sold on it being solid or stable, and I disliked it for the other reasons above which translate into user experience issues too.
curious if the dropouts etc would get any better if streaming to only a single speaker (as opposed to their current configuration as a stereo pair, which i think is only an airplay 2 feature?)
just interested for the sake of troubleshooting (not suggesting you change your setup), as the airplay 1 experience you’re describing sounds significantly worse than what others are reporting here … have searched online (without luck) for info on how an airplay 1 stream is supposed to work with a left/right stereo pair
@tgp-2 may be on to something. I ungrouped the speakers in my office and there was one brief dropout shortly after I started streaming and it’s been stable since. That’s only been about six minutes so far but as a stereo pair the dropouts happened within a few minutes.
I regrouped them as a pair and…dropouts recurred though it took a while for them to show back up. I’ll need to go back and do a longer ungrouped test to be sure though.
Well, that didn’t take long. I ungrouped again and on the first song it dropped the audio and it hasn’t come back after more than 10 seconds so it isn’t related to having a stereo pair.
@elan I understand there may be compromises related to airplay2 and you are clearly not a fan of the API. I totally get that. However, for at least some users, the current airplay1 implementation is unusable.
I’m willing to do whatever I can to help make Plex better whether tha’s getting more info to you or testing airplay2 versions or whatever I can do to help. I do hope you’ll take another look at airplay2. For me, at least, the power consumption issues are moot. When I’m using airplay I’m usually plugged into power. And having a more responsive UI would be nice when using airplay. But, most of all I just want something that works.
Earlier, @elan mentioned headless Plexamp as a solution but it’s not clear to me how that helps here. Isn’t headless Plexamp just providing a web-based interface that then needs to cast to another plex player? Or does it implement airplay itself?
headless works great as an airplay alternative, but there’s no airplay so it probably won’t help if you still want the homepod minis as your endpoint
typical headless setup is something like a Pi → audio from usb dac or built-in headphone jack → out to stereo or powered speakers … playback can be remote controlled from the iOS (or any other) Plexamp app or a browser
@tgp-2 Thanks for the explanation. That certainly doesn’t help in my case. I’m not sure why Elan was suggesting it as an airplay solution.
Hopefully something will change to improve the situation. PlexAmp is terrific when it can be used, but for me, with airplay, it is totally unusable. Prism Music streaming from the same plex server is (in admittedly limited testing) rock solid airplaying to the same AirPods. I’d prefer PlexAmp but at least this works. And if this works then Plexamp could work. It might not be elegant code and it might have other compromises but as an end user I’ll take something that works over something that doesn’t. Granted that others have no problems but since it seems not to be possible to identify what is different at my end. AirPlay is an important part of being an audio app on an apple device. I think there are strong arguments for supporting it. Hopefully Elan and Plex will reconsider their current stance.
I’ll reiterate my offer to help in whatever way I can to help find a solution but at the moment I’m not sure what else I can do.