With the Infuse 8.4.7+ tvOS release we finally have a way to programmatically play media with Infuse players over the LAN. I migrated all of my Plex automations over to Infuse since Plex is removing the LAN player API with the new Plex Experience.
Programmatic control is a must for automation heavy users.
The only problem I ran into with launching Infuse media via deep links was that no Plex sessions were being created. The Plex Dashboard didn’t show anything playing, watch history, playback position weren’t tracked, home assistant couldn’t see the playing media, and my logging service (Tautulli) never received playback updates. I also have movie poster displays that rely on Plex sessions to show artwork, and those broke as well.
This isn’t a problem when you start playback normally from within the Infuse app, it only happens when media is launched via deep links.
I’ve now solved that with a middleware service I put together:
Right now it only supports Apple TV + Infuse, but could be expanded to support other devices and media players, or anytime you access media directly via URL with a X-Plex-Token.
The bridge can monitor multiple Apple TVs and create Plex sessions for Infuse media launched via deep links. Plex receives playback updates just like it would from a native client, so all the things I list above work again.
One limitation is that, because it’s middleware, Plex reports the IP address of the machine running the bridge rather than the Apple TV itself. For my case, that’s not a big deal.
This is definitely a niche solution, but I wanted to put it out there in case someone else runs into the same problem and is looking for a solution.