At the bottom of this post, I have a link to a support post that I made as a new user trying to get EAC3 sent to my FireStick so that it can pass through to my receiver. As a very experienced (but retired) object oriented programmer, it occurred to me that my problem would be solved with a slightly different object design.
Consider the following attributes of a User in the Server Dashboard
- Allow audio playback that requires transcoding
- Allow video playback that requires transcoding
- Allow video playback that requires conversion without re-encoding
- Force transcoding of remote media sources (like LiveTV)
I can solve my firestick problem by disabling the first two items for my user. It will cause EAC3 to be direct played or direct streamed. However, this will mess up my other 3 Android devices that require transcoding. So I would need to use a different user ID on those devices. With different IDs I lose the ability to stop playback on one device and start it again on another device. Keeping track of played/unplayed episodes is another obvious issue.
However, if those 4 attributes were device attributes (Devices in the dashboard) rather than user attributes, I would not have any of those problems. I could use the same UserID on all my devices and always get the best quality possible.
Also, this type of change should require no changes on the client apps. It’s just a server thing. I imagine that would be a plus as well.
You could even get fancier and eventually provide a list of audio and video codecs that we could mark as “never transcode”. Again, this could just be a server thing, not requiring changes to the clients.
Anyway, I hope this gives you something to think about.
Not sure if I’m ready to make the switch from Plex right now. I frequently stop playback on one device and start up again on another and I would miss that being a seemless action.