I've been using it since the fork from Emby and it works well for what I use it for.
That said, they're right IMO to redirect funds to the clients. The Android TV app is in a really rough state. The regular Android and Web interfaces work great, Roku as far as I recall works well...but the Android TV one is really not good.
The other thing to check is your transcoding setup. Sometimes the settings are not optimal and can cause playback issues.
Sync play is TERRIBLE with android TV. We tried watching a show over sync play on the LAN in two different rooms and it just constantly lost sync, commands didn't go through, etc. It was so bad we only tried it once.
Controlling the Android TV app from Jellyfin Mobile or web is awkward at best, basically unusable.
Jellyfin android works fine on firetv. The only thing you might struggle with if you run the server on a pi is transcoding, especially if you have 4k media files.
Jellyfin integrates really well with other services like Radarr, Sonarr, and Jellyseer so you can request media, have it downloaded, indexed, and available automatically.
Client-wise it's a mixed bag, Infuse is probably the best one out there, but it's only available for Apple TV / iOS.
So yeah, there are a lot of rough edges, but I think this is the best on offer if you want a true self-hosted media library that mostly works out of the box across various platforms.
The diverse client support is awesome. In addition to streaming video content to various house devices, my favorite is my "jukebox" music listening setup consisting of a RPi 3B+ with ALLO Piano 2.1 DAC hat feeding separate speaker and subwoofer amps with desired crossover frequency. Running on the Pi is Mopidy with the Mopidy-Jellyfin extension to access Jellyfin's libraries along with the Mopidy-mowecl extension which provides a slick web front end for the DAC (you can also queue music from the Jellyfin GUI and "play to" the DAC). Highly configurable and fun to tinker with. For example, I have a USB numberpad keyboard plugged into the Pi with assigned hotkeys by way of the triggerhappy service. I love being able to keep the music playing if my desktop workstation is off or rebooting.
https://github.com/jellyfin/mopidy-jellyfin https://github.com/sapristi/mopidy-mowecl
The best thing is it's all FLOSS, so I don't have to worry about the rug being pulled out from under me!
Beware though that if any transcoding is needed, the RPi probably won't be up to it. Instead I shelled out a little bit for a small Intel NUC thing that can do hardware conversion.
[edit] I use the download links in the browser UI and then VLC playback on an iPad for kids’ movies on long road trips. It even (with an assist from VLC) fills that use case.
I use folders to separate out TV shows / Movies on the Nas and then set a collection for each one.
Identifying the media was 80% automatic, the last 20% I had to do via identify and imdb searches, but that was a small hassle.
I've had a few videos not play due to formatting issues. When that happens I fire up handbrake and re-encode for mp4 web playback and ~20 minutes later I'm in business.
Any Jellyfin users here that can vouch for it? I currently have a SMB share on a Raspberry Pi 4 and I connect to that on my Amazon Fire Stick using the VLC SMB features. It works ok but the VLC UI leaves much to be desired. Would Jellyfin be better for this? Is there a client that works on the Fire TV stick? (This one I think? https://github.com/jellyfin/jellyfin-androidtv)