Noticed that Jellyfin had inched out Plex when sorting by popularity on the TrueNAS app catalogue the other day (45,178 installs vs Plex's 42,225). The existance of this project seems to confirm that the dev ecosystem around it is getting stronger!
What more does Plex need? I would consider myself a power user of Plex and it does everything I need it to do. I would think the only thing I can think of is fully self-hosted login instead of their cloud option, but I'm glad we have that option because I don't want to handle the authentication of my friends and family
* IPTV support (xtream codes etc.) yes proxies exist like Dispatcharr but first class support would be better
* Better iOS/tvOS/OSX video playback (just buy Infuse because it can play so many titles the Plex player cannot)
* Add full context menus everywhere. Playlists are virtually useless for anything other than playback in order or randomly. Why can't I multi-select items on a playlist and move them to another playlist?
* Subtitle settings turn off between episodes
* Let me sort by file size so I can watch the disk gobbling files first
Thank God for python-plexapi and a bunch of scripts I use to organize an unwieldy library.
Let me sort by file size so I can watch the disk gobbling files first
you can kinda deduce that if you sort by bitrate.
it sounds like you figured out a solution for yourself, already, but there's a lot of existing utilities like tinyMediaManager, WebTools-NG, Raddarr, Sonarr, etc. for doing media management. Plex is just a media server/player.
Adding to the list: postgres (or any real db) support. I’ve had to repair their SQLite db so many times. It’s so common they have a help guide on it too and folks have made automated scripts to do it for you.
I'm guessing incomplete migrations or similar problems where stuff is just partially written, or out of sync. The Plex db is kinda complex under the hood.
Highly recommend Infuse on Apple TV. Since I was running Plex on my NAS it would often be very buggy and slow with buffering. One day I got fed up and tried infuse, pointed it at the same network share, and bam- instant playback that worked consistently, and way better native controls for subtitles etc.
I’m sure there are good reasons to use Plex, I did so for years, but honestly streaming has been so much easier since moving off it.
It needs more of the feature that makes it a networked player for the media I already have (which works great -- once a person gets to it), and less of the misfeature that is the sideshow also-ran ad-supported and rental live streaming and on-demand offerings (which I will never, ever use -- and that Jellyfin lacks altogether).
Plex been swinging in the wrong direction for a number of years now.
I don't even consider it an option anymore. I just turn to other software that sends the original file to me. It would be great to have Plex transcode my high res movies on the fly and send me smaller copies tailored for my device. I could save space on my mobile devices while having my progress synced back to Plex.
The poster you're asking this to is probably talking about plug-ins. Plex, very long ago, supported plug-ins, but it no longer does. Plug-ins were usually for adding in support for other media scrapers (porn and anime), or even other media types, like audiobooks.
Additionally, Plex tends to revise their UI and inner workings in a way that favors everything but the core media sharing platform. They add TV stations, they mix in their streaming ad-supported channels with your search results, and push them before the friends and family stuff, making it tough to help other navigate to shared libraries.
I think, overall, Plex is a good shepherd for their product, but everyone knows the enshitificaiton process is inevitable. It's just a question of how long the timeline between "Plex is usable" and "Plex is sold to private equity and is now utter shit." I've been pleasantly surprised with the length, so far. But having an escape hatch is always a good idea, and Jellyfin seems to be nearing a parity.
They removed plugins which severely hamstrung their ecosystem. They quickly lost a ton of useful features and started to lock everything into their preferences.
Having mobile downloads work in any kind of same way. Honestly just offering a download file with quality drop downs would solve the issue for most people
The last time I was involved in a thread like this, I was banned from r/plex.
I pointed out that Plex should do ebooks. It is a natural fit. They keep track of how far in a series or a show you are, they could keep track of where you are in a book. Many of the Plex idioms transfer well. It has a clear visual style that helps you to pick out the shows you might try, or shows like those you've already watched.
BUT IT'S NOT EVEN MEDIA, YOU'RE STUPID
Books were the first media, you must be illiterate.
WHY WOULD I WANT TO READ BOOKS ON MY BIGSCREEN TV!
Plex runs on my iPhone. And on yours too.
[banhammered]
But if you need more than one feature, I'm sure that in 10 or 15 minutes I could come up with a 90 page list of features. Without even trying.
>I would think the only thing I can think of is fully self-hosted login instead of their cloud option
Well shit. Even you can come up with one thing. Plex was awesome, and then Plex wanted to be the shittiest version of whatever CBS is calling their streaming service.
I just want to throw out that you might like Kavita for a comic/book server. It's built to feel like Plex. https://www.kavitareader.com/
I do agree that Plex doesn't seem like a good fit for books and comics. The first major hurdle is the lack of a singular metadata source that Plex can hook into for metadata - although this year has shifted with Hardcover and MangaBaka. Plex also uses a filename parsing mechanism (like Kavita does) which has drawbacks since books and comics have an extremely wide variety of naming conventions and lack of good tooling.
Thanks for this. First I've heard of it. I'd prefer something more general for books (though there are comics too). I have about 22,000 titles, filenames well-constructed, that I don't have anything to serve them up remotely. I was using Nextcloud for awhile, but it's subpar.
>which has drawbacks since books and comics have an extremely wide variety of naming conventions
I actually have that part figured out. For periodicals too, like comics. The real trick with those is that it's often not that easy to find the ISSNs for them, they mostly don't list them on the inside cover.
Have you checked out Audiobookshelf? Relatively easy to self-host, can do podcasts, audiobooks, ebooks, comics. A few different clients you can use (https://abstoolbox.vito0912.de/clients has some of the more popular ones - Plappa is pretty nice).
An even easier fit would be comic books. They already let you steam libraries of photos. I have never used that feature, but I would definitely stream some comics.
Also, they could handle audiobooks since they already stream music.
Instead, they want to sell me on streaming services when I started using Plex because I pirate my media.
I do see one issue with books that other media doesn't have. That is the ability to interact. When I use my e-reader, I like features like highlighting, taking notes, dictionaries, and other features that are more complicated that just streaming rendered images from a book.
That's just a book format issue, but I'm on board.
>They already let you steam libraries of photos.
Well, about that... they're kind of shit at it. Photos have always been their least favorite supported media. Not much in the way of metadata support, unable to organize them. But it brings me to another problem... they don't understand what media types are.
They support audio, but call it music. This means, just for instance, that there's a shitty icon for the library... I made a comedy album library, Plex. Steve Martin the banjo player and Steven Martin the comedian are the same human, but I don't want one album recommended as related to the other. And I don't want to see the little music note icon for the library either. Think of audio as "audio that can have many types" rather than music. It's the same with images... what if I want to have a library full of van Gogh's works? Why are you trying to mix these in with pictures of my nieces?
>Also, they could handle audiobooks since they already stream music.
But they can't, not really. Because they think all audio is music, their interface doesn't handle it... no one wants to randomize the play order of the chapters of a book. And they'd actually like to keep a bookmark of where they stopped listening. But because "all audio is music" their model is fundamentally broken.
>When I use my e-reader, I like features like highlighting, taking notes, dictionaries, and other features that are more complicated that just streaming rendered images from a book.
Well, if they implemented it correctly, it wouldn't be exactly "streaming images from a book". And they already do stuff with related media in a sophisticated fashion. If you want to see the trailers and making-ofs for a a movie, those are available right from the menu. Dictionaries or highlighting or note-taking just isn't that big of a deal. They could do it, they don't want to. They'd rather be a streaming service.
Can anyone comment on the security of Jellyfin? When I had last looked into it, it seemed like Jellyfin had a somewhat weak security model that made me question switching family members to it from Plex.
That's no different from how just about any other webapp works.
"Bothering" with client-side password hashing, in the absence of TLS, is security theater. It provides only the most trivial protection against eavesdroppers.
If someone can steal an unhashed password, then they can also steal whatever hash you send instead. If you try to fix this with some kind of ad-hoc challenge-response protocol, then the attacker can just steal your session cookie after login.
There shouldn't even be a question of using insecure HTTP for anything that requires authentication.
I put mine behind caddy on a long unguessable path prefix. So that acts as a sort of password that you need to know before you can access it at all. So far it's seemed to work great. The advantage to using a path prefix vs like caddy basic auth is that its compatible with all the normal jellyfin clients.
Get your elderly mother an Apple TV and infuse, then connect with Tailscale. It’s pretty friggin’ smooth in daily operation. Apple TV’s UI is no easier to get lost in than Roku, and actually has fewer pitfalls if you toggle one setting (the one that makes one home tap open the Apple TV app, and a second press while in that app actually go home, by default; switch that to always go home on any press of that button no matter what)
I dunno if Tailscale works on Roku but otherwise that would indeed be entirely viable too, last I saw Jellyfin’s app on there is really good. Likely need a server powerful enough to transcode, though, lots of (all?) Roku devices don’t have hardware decoding for newer codecs like h.265. That’s one big benefit of an Apple TV, it can hardware decode damn near everything.
But she likes the Roku. She's even got silicone skins for the remotes (plural; spares!), and two of them are tethered near the chairs that her and dad tend to sit in.
Also: The Roku stuff already exists, and is paid for, and it works with Plex (without a VPN, because my local Plex container didn't come with the caveat to avoid exposing it to the world).
Buying them one or more Apple TV devices to use instead seems expensive and likely to fail somehow.
Switching them to (cheap? linux?) PCs also sounds expensive and bad, particularly with my dad. He's certainly had more years to learn how to use a computer than I have, but he's spent most of the recent decades deliberately avoiding them. He hates them, and he doesn't want to learn them. He'd fall apart and give up on television entirely if I gave him a PC with a slick Logitech K400 to run it with. (He can drive a Roku with Youtube TV and Plex like a pro, but that's mostly only a D-pad and a back button.)
---
But since you and others have mentioned it: Transcoding. That's really not a big problem for many vaguely-recent PCs. With Plex, at least: The quite old i7-6700k desktop box I use for this transcodes to h.264 like a beast using its paltry iGPU, and does h.265 just fine with an old nVidia RTX 2080 if I elect to use that instead. Either way works well and never breaks a sweat.
It may have been a powerful machine a decade ago, but a used computer with a 6700k (or so) to serve media with is cheap these days. (And a brand-new power-sipping N150 box does transcoding waaaay better, even in credit-card form factor.)
Sad to hear about people getting stuck in weak ecosystems.
By the way, I switched from Jellyfin to plain SMB + Nova Player (Android), which has basically the same interface, but no user profiles, and works over SMB, obviously. No transcoding, best format support, and best performance for large files I've found yet for my TCL Android TV.
I use Jellyfin and when it works it’s great but a few small things make it totally unusable for a non-technical family member.
One thing is when it can’t see the server it doesn’t just say it can’t see it, it acts like the issue is you’re not logged in and then when you log in (having to type your password manually each time, on a TV) it then fails.
This is only really diagnosable if you can access both the client and server and is a complete failure and very tedious experience if you only have client access.
Feels like I experience this at least once a month so couldn’t ever set this up for family members remotely.
I set my dad up with a Linux box as a daily driver for him - he keeps the desktop on , and the roku jellyfin now has a clean proxy into jellyfin over the tailscale network. Giving him a desktop I can remote into was a great decision that paid dividends for him :)
You can point Tailscale toward a $5 exit-node VPS and Caddy/nginx through a cheapo-but-memorable-domain to get a Jellyfin Dashboard up in a browser. I assume running the domain and port through the Jellyfin Roku app would work fine (can't be sure as I've never used a Roku).
I run it in a docker container behind traefik in another container. Getting that wired up and working in podman was quite the challenge. Docker container mounts my media as read only.
my wife logs into the seerr ui with her jellyfin account, makes requests, they get grabbed by sonarr/radarr, which in turn place them in the correct library, and they're identified & labeled correctly on import
Yea its pretty bad, there are pages of non-fixed confirmed exploits, you really shouldnt let it face the net.
VPN is one solution, and actually the only real solution for app-based jellyfin (TV, phone apps) I found so far.
Another is to host Jellyfin behind reverse proxy, and have a completely independent authgatein front of it (authentik, authelia). Jellyfin even supports LDAP (trough plugin), so you dont have to login twice per visit. The downside is only web interface can be hidden this way, as apps will break expecting jellyfin auth page and finding something else.
It’s still a mess and any suggestions to fix it are met with hostility which is a shame because I’d love to use it. Last I checked there were still endpoints not behind auth that exposed stuff you’d probably not want exposed.
For whatever reason people here and on Reddit will tell you that you need to have Jellyfin pass through five VPNs, otherwise nasty things will happen. Meanwhile the actual devs suggests simply setting up a reverse proxy, which you can do in two lines with Caddy:
https://jellyfin.org/docs/general/post-install/networking/re...
Reverse proxy itself will do barely any defense, what you need in combination is an authgate (authentik, authelia), and here we are moving from "simple reverse proxy" to fun weekend activity and then some getting it to work as expected. + it kills the app auth flow, so only web interface is suitable for this.
You can use a reverse proxy and still have working app auth, I have set this up via Authelia with the OIDC Jellyfin plugin.
However:
- This is EVEN MORE complex than "just" a reverse proxy.
- I'm not really sure it wins much security, because...
- at least I'm not relying on Jellyfin's built-in auth but I'm now relying on its/the plugin's OIDC implementation to not be completely broken.
- attackers can still access unauthenticated endpoints.
Overall I really wish I could just do dumb proxy auth which would solve all these issues. But I dunno how that would work with authing from random clients like Wii (and more importantly for me, WebOS).
If you expose Jellyfin on 443, have HTTPS properly set up (which Caddy handles automatically), your admin password is not pswd1234 (or you straight up disable remote admin logins), and use a cheap .com domain rather than your IP--what is the actual attack surface in that case?
As far as I can remember that is more or less what is usually suggested by Jellyfin's devs, and I have yet to see something that convinces me about its inadequacy.
The absolute worst thing I can see in there is that an third party who somehow managed to get a link to one of your library items (either directly from you or from one of your users--or by spending the next decade bruteforcing it I guess) could stream said item:
https://github.com/jellyfin/jellyfin/issues/5415#issuecommen...
Everything else looks to me like unimportant issues, that would provide someone who's already logged in as a user minor details about your server.
With a reverse proxy, I don't see how this would work. The whole way the reverse proxy works is you use a subdomain name ("jellyfin.yourdomain.org") to access Jellyfin, rather than some other service on your server. The reverse proxy sees the subdomain name that was used in the HTTP request, and routes the traffic based on that. Scanning only the IP address and port won't get attackers to Jellyfin; they need to know the subdomain name as well.
The only tricky part here would be to make sure you’re doing a wildcard certificate, so that your subdomain doesn’t appear in Certificate Transparency logs.
When I had to decide between Plex and Jellyfin, I noticed that with Plex it was mandatory to have an account even when self-hosting (!) so I'm not sure whether it's better or worse than Jellyfin, I just didn't bother trying it out because of that.
I was camping without service last year. I wanted to watch some House MD I had downloaded in the plex app before I left. I fire up plex ...it can't connect. Why does it need to connect? Bye Plex. Hello Jellyfin.
Plex is aimed for a simple ease-of-use experience, so if you aren't technical enough to setup a reverse proxy, Plex offers all the authentication and proxying for you.
It's not a true self-hosted software. It just depends on what matters most to you.
I started out my home server journey with Plex but it just kept getting worse, forcing me to switch to Jellyfin, which imo works just as well and seems to not fall into the whole pay us to stream your media business practice yet. Paywalling such a core feature was pretty harsh
It may seem "harsh", but this is simply the reality of using proprietary software. You don't have any control over it, and unless you stick with a particular version, it can change at any time (sometimes called a "rugpull"). And with anything internet-connected, it's not usually a good idea to stick with an old version because of security issues.
With open-source software, this just isn't a problem. Even if the company behind it decides to turn evil, the community can fork it and continue on. Just look at Emby for example: it did a rugpull and changed to a proprietary license, so the community forked it and made Jellyfin.
I built a little Jellyfin plugin for KOReader [1] so I can access my books from my Kindle. Jellyfin proved really nice to work with (though there was some poorly documented auth stuff they were in the process of deprecating).
If anyone has been thinking of building something in the Jellyfin ecosystem, I very much recommend it.
The one trick is to make sure your file naming & organization is good. They have good documentation on it. Everything's pretty much automatic then, almost zero further work. The naming conventions aren't too bad, and the resulting file tree would be a reasonable way to organize your files regardless.
Yeah in my case it mostly just encouraged me to clean up some nonsense I’d been meaning to anyway.
I think some folks who have strong opinions about things like organizing their files under folders by director or something find it grating, but it did nothing but help my structure.
I love it mostly as well so far, the only sticking point on both my TVs is constantly having to re-enter my server IP address. It sticks around for a couple days, then it's gone again.
I gave Jellyfin up and went back to upnp/dlna after the Android and iOS clients would keep losing sync, or wouldn't show me some season of a show, or would pick a white background on white text for a show.
The pain just kept adding up. It was quite nice most of the time. But every single time I reached for my phone, I was wondering how badly it was going to go. Quitting Jellyfin seemed like an excellent choice.
Upnp/dlna is much cruder; very direct raw BubbleUPnP client. But it works so well for me. Their transcoding server also is quite good and I can run it on any machine I want, isn't coupled to anything, can switch between them easily.
Bubbleupnp is also great because it lets me turn tablets into cast screens. I love that so much. Good general protocols rock; having media server, media renderer, then separate control points was a great model, good job UPnP.
Agreed. I honestly chose Jellyfin over plex because I preferred the branding, not sure what I’m missing. I really enjoy Jellyfin, and thy seemingly have support for most devices in some way.
My GF has it set up on her iPad, phone, computer. App is on our TV and has no issues. We have Netflix at home. She’s non technical and hasn’t had any trouble once I gave her a login.
The only hiccup was when she tried to watch during one of her lectures. I had to explain that Jellyfin is only at home ;) (for now)
> The only hiccup was when she tried to watch during one of her lectures. I had to explain that Jellyfin is only at home ;) (for now)
Tailscale got me outside-the-home Jellyfin with a grand total of maybe 30 minutes of effort, including signing up, getting my server connected, and getting it on my MacBook, AppleTV, and phone. I'd never used it before.
How's the bandwidth and transfer limits on that $5 VPS, would be my next concern? One approximately-perfect-Bluray-quality 4K movie can be north of 50GB, decent quality, still 20+GB. Very-high-quality 1080p is gonna be like 8-12GB for a movie, OK quality, 4.5-6GB.
Damn, that's decent, yeah that'd get you a ways. Imma stick with free peer-to-peer VPN via Tailscale because it's already working for me, but I can see the appeal of that.
There was just another one recently actually. It was the final straw that convinced me to stop making my Jellyfin server publicly accessible (for my family abroad) and move to a VPN based solution instead (WireGuard or Tailscale I haven’t set it up yet).
Heh, I just spent 15 minutes debugging a Jellyfin bug where my WebOS client thought that the startup wizard had not been completed yet (I tried restarting it several times, but the thing that did the trick was enabling debug logging and _then_ it started working properly--probably a coincidence). Jellyfin is the best in class, but the bar is in hell. It can't be run in any kind of a high availability configuration, so if your only instance goes down or has any kind of issue, you have to jump on and fix it immediately or you can't use it. When something goes wrong, some of the logs show up in stderr, but most are just written as plain files to a directory. It's free software, so you get what you pay for, but it's pretty buggy.
Yeah, I’ve been beta testing the Streamyfin tvOS app. it’s now about on par with the official tvOS client, but feels like it’s making more progress regularly
I watched a backup of a [480p24] DVD movie with a (hacked) Wii quite a long time ago, as a fallback after the PS3 I was using got tripped up on that film's Cinavia[1] watermarks.
The Wii worked OK-ish, but it was evident that it was barely keeping up with decoding the MPEG 2 video from the disc and putting it on the screen. Perhaps there is or was better software for that job, but there were some glitches and brief hangs.
I love this kind of project. I am pretty sure the developer had a Wii console sitting around somewhere and thought about how to make it useful again. Wait, I have a PS2 sitting around somewhere…
Speak of the devil, I was just looking for something just like this earlier this week. I may have even have ran into this exact project, but it didn't have functioning playback until now. I have a spare CRT in my office that I use for some old consoles, and thought it would be neat to stream some 4:3 media onto it, but didn't want to bother with getting some client box and HDMI to composite converter. If this works well, it would solve that problem nicely.
You can disable transcoding in the server settings or at the user level. Your client device would have to support the file being directly played of course.
The Wii is just barely within the last 2 decades but it does very much struggle with 480p decoding of most anything (and even sweats a decent amount on 240p) as it was pretty low end for even 20 years ago.
The jellyfin DB itself is unfortunately sqlite instead of being DB agnostic. Maybe you could hack together something such that only one node handles writes and everyone else handles reads... if getting multiple cheap nodes gets your more bandwidth. I have to imagine that jellyfin fairly quickly stops being in charge of the media stream directly.
But yeah I think the transcoding and the size of your data pipe is the only "hard" part. The DB read/writes themselves are going to not be an issue (I think)
If Jellyfin ever fixes the mountain of bugs from the "upgrade". They aren't even acknowledging major bugs that make Jellyfin unusable for like 20% of users.
Do not upgrade Jellyfin if you have a sizeable library. Backup first if you do.
I only have an cpu with hardware acceleration that is used for transcoding and even that can handle a couple of streams transcoding simultaneously. The biggest thing is getting people to use clients that support direct play.
Yes, it was annoying, SQLite sucks as single source of truth for clusters, and it cost less than $100 to just buy hardware that can handle multiple high res transcoding sessions at once, but not 20 households' worth.
You could probably have your Wii computer boot directly into Jellyfin using a startup shortcut with 'dolphin-emu -e WiiFin.dol', then switch out of the app to play Wii games using the better menu app.
Then you can your Wiimote for both media + gaming with out needing a keyboard / mouse.
Noticed that Jellyfin had inched out Plex when sorting by popularity on the TrueNAS app catalogue the other day (45,178 installs vs Plex's 42,225). The existance of this project seems to confirm that the dev ecosystem around it is getting stronger!
Plex could reverse this trend in a week if they decided to prioritize work on any feature that their core market actually wanted.
What more does Plex need? I would consider myself a power user of Plex and it does everything I need it to do. I would think the only thing I can think of is fully self-hosted login instead of their cloud option, but I'm glad we have that option because I don't want to handle the authentication of my friends and family
* IPTV support (xtream codes etc.) yes proxies exist like Dispatcharr but first class support would be better
* Better iOS/tvOS/OSX video playback (just buy Infuse because it can play so many titles the Plex player cannot)
* Add full context menus everywhere. Playlists are virtually useless for anything other than playback in order or randomly. Why can't I multi-select items on a playlist and move them to another playlist?
* Subtitle settings turn off between episodes
* Let me sort by file size so I can watch the disk gobbling files first
Thank God for python-plexapi and a bunch of scripts I use to organize an unwieldy library.
> Subtitle settings turn off between episodes
There is actually a way to fix this! Log in and navigate to: https://app.plex.tv/desktop/#!/settings/account
On this page, scroll down past the Security section to Audio & Subtitle Settings under Settings, and edit the account-wide language settings there.
One caveat; any movies or shows you’ve already watched with subtitles not enabled will still have subtitles not enabled.
Subtitle settings turn off between episodes
you can enable global subtitles in settings.
Let me sort by file size so I can watch the disk gobbling files first
you can kinda deduce that if you sort by bitrate.
it sounds like you figured out a solution for yourself, already, but there's a lot of existing utilities like tinyMediaManager, WebTools-NG, Raddarr, Sonarr, etc. for doing media management. Plex is just a media server/player.
Adding to the list: postgres (or any real db) support. I’ve had to repair their SQLite db so many times. It’s so common they have a help guide on it too and folks have made automated scripts to do it for you.
How do they manage to get their sqlite database in such a state where it would need "repair"? how would psql fix this?
> or any real db
sqlite is literally the state of the art database. I suspect you mean "database server" or something
I'm guessing incomplete migrations or similar problems where stuff is just partially written, or out of sync. The Plex db is kinda complex under the hood.
Highly recommend Infuse on Apple TV. Since I was running Plex on my NAS it would often be very buggy and slow with buffering. One day I got fed up and tried infuse, pointed it at the same network share, and bam- instant playback that worked consistently, and way better native controls for subtitles etc. I’m sure there are good reasons to use Plex, I did so for years, but honestly streaming has been so much easier since moving off it.
It needs more of the feature that makes it a networked player for the media I already have (which works great -- once a person gets to it), and less of the misfeature that is the sideshow also-ran ad-supported and rental live streaming and on-demand offerings (which I will never, ever use -- and that Jellyfin lacks altogether).
Plex been swinging in the wrong direction for a number of years now.
Here's an easy one: working downloads on mobile. Plex offline downloads are notoriously buggy.
I don't even consider it an option anymore. I just turn to other software that sends the original file to me. It would be great to have Plex transcode my high res movies on the fly and send me smaller copies tailored for my device. I could save space on my mobile devices while having my progress synced back to Plex.
Plex offline simply does not work. If it does work, it'll stop working when you get service/connectivity. It is wild how bad it is.
The poster you're asking this to is probably talking about plug-ins. Plex, very long ago, supported plug-ins, but it no longer does. Plug-ins were usually for adding in support for other media scrapers (porn and anime), or even other media types, like audiobooks.
Additionally, Plex tends to revise their UI and inner workings in a way that favors everything but the core media sharing platform. They add TV stations, they mix in their streaming ad-supported channels with your search results, and push them before the friends and family stuff, making it tough to help other navigate to shared libraries.
I think, overall, Plex is a good shepherd for their product, but everyone knows the enshitificaiton process is inevitable. It's just a question of how long the timeline between "Plex is usable" and "Plex is sold to private equity and is now utter shit." I've been pleasantly surprised with the length, so far. But having an escape hatch is always a good idea, and Jellyfin seems to be nearing a parity.
They removed plugins which severely hamstrung their ecosystem. They quickly lost a ton of useful features and started to lock everything into their preferences.
Having mobile downloads work in any kind of same way. Honestly just offering a download file with quality drop downs would solve the issue for most people
The last time I was involved in a thread like this, I was banned from r/plex.
I pointed out that Plex should do ebooks. It is a natural fit. They keep track of how far in a series or a show you are, they could keep track of where you are in a book. Many of the Plex idioms transfer well. It has a clear visual style that helps you to pick out the shows you might try, or shows like those you've already watched.
BUT IT'S NOT EVEN MEDIA, YOU'RE STUPID
Books were the first media, you must be illiterate.
WHY WOULD I WANT TO READ BOOKS ON MY BIGSCREEN TV!
Plex runs on my iPhone. And on yours too.
[banhammered]
But if you need more than one feature, I'm sure that in 10 or 15 minutes I could come up with a 90 page list of features. Without even trying.
>I would think the only thing I can think of is fully self-hosted login instead of their cloud option
Well shit. Even you can come up with one thing. Plex was awesome, and then Plex wanted to be the shittiest version of whatever CBS is calling their streaming service.
I just want to throw out that you might like Kavita for a comic/book server. It's built to feel like Plex. https://www.kavitareader.com/
I do agree that Plex doesn't seem like a good fit for books and comics. The first major hurdle is the lack of a singular metadata source that Plex can hook into for metadata - although this year has shifted with Hardcover and MangaBaka. Plex also uses a filename parsing mechanism (like Kavita does) which has drawbacks since books and comics have an extremely wide variety of naming conventions and lack of good tooling.
Thanks for this. First I've heard of it. I'd prefer something more general for books (though there are comics too). I have about 22,000 titles, filenames well-constructed, that I don't have anything to serve them up remotely. I was using Nextcloud for awhile, but it's subpar.
>which has drawbacks since books and comics have an extremely wide variety of naming conventions
I actually have that part figured out. For periodicals too, like comics. The real trick with those is that it's often not that easy to find the ISSNs for them, they mostly don't list them on the inside cover.
Have you checked out Audiobookshelf? Relatively easy to self-host, can do podcasts, audiobooks, ebooks, comics. A few different clients you can use (https://abstoolbox.vito0912.de/clients has some of the more popular ones - Plappa is pretty nice).
An even easier fit would be comic books. They already let you steam libraries of photos. I have never used that feature, but I would definitely stream some comics.
Also, they could handle audiobooks since they already stream music.
Instead, they want to sell me on streaming services when I started using Plex because I pirate my media.
I do see one issue with books that other media doesn't have. That is the ability to interact. When I use my e-reader, I like features like highlighting, taking notes, dictionaries, and other features that are more complicated that just streaming rendered images from a book.
>An even easier fit would be comic books.
That's just a book format issue, but I'm on board.
>They already let you steam libraries of photos.
Well, about that... they're kind of shit at it. Photos have always been their least favorite supported media. Not much in the way of metadata support, unable to organize them. But it brings me to another problem... they don't understand what media types are.
They support audio, but call it music. This means, just for instance, that there's a shitty icon for the library... I made a comedy album library, Plex. Steve Martin the banjo player and Steven Martin the comedian are the same human, but I don't want one album recommended as related to the other. And I don't want to see the little music note icon for the library either. Think of audio as "audio that can have many types" rather than music. It's the same with images... what if I want to have a library full of van Gogh's works? Why are you trying to mix these in with pictures of my nieces?
>Also, they could handle audiobooks since they already stream music.
But they can't, not really. Because they think all audio is music, their interface doesn't handle it... no one wants to randomize the play order of the chapters of a book. And they'd actually like to keep a bookmark of where they stopped listening. But because "all audio is music" their model is fundamentally broken.
>When I use my e-reader, I like features like highlighting, taking notes, dictionaries, and other features that are more complicated that just streaming rendered images from a book.
Well, if they implemented it correctly, it wouldn't be exactly "streaming images from a book". And they already do stuff with related media in a sophisticated fashion. If you want to see the trailers and making-ofs for a a movie, those are available right from the menu. Dictionaries or highlighting or note-taking just isn't that big of a deal. They could do it, they don't want to. They'd rather be a streaming service.
I disagree personally and feel there are better solutions already out there
I was furious when they removed podcasts as they are a fit for the platform and it seems like they just didn't want to maintain them anymore.
Can anyone comment on the security of Jellyfin? When I had last looked into it, it seemed like Jellyfin had a somewhat weak security model that made me question switching family members to it from Plex.
Don't expose it to the internet unless you know what you're doing, or put it on a VPS you don't care about.
Ideally keep it behind a VPN and give your family members access to it that way, and let local devices on your LAN connect to it without a VPN.
TLS is a must-have. They don't bother doing any kind of password hashing on login. It's sent in cleartext.
That's no different from how just about any other webapp works.
"Bothering" with client-side password hashing, in the absence of TLS, is security theater. It provides only the most trivial protection against eavesdroppers.
If someone can steal an unhashed password, then they can also steal whatever hash you send instead. If you try to fix this with some kind of ad-hoc challenge-response protocol, then the attacker can just steal your session cookie after login.
There shouldn't even be a question of using insecure HTTP for anything that requires authentication.
I put mine behind caddy on a long unguessable path prefix. So that acts as a sort of password that you need to know before you can access it at all. So far it's seemed to work great. The advantage to using a path prefix vs like caddy basic auth is that its compatible with all the normal jellyfin clients.
Those are fine ideas.
But I'm not all about getting something like Tailscale to work with my elderly mother's Roku device, nor teaching her how to use it.
Get your elderly mother an Apple TV and infuse, then connect with Tailscale. It’s pretty friggin’ smooth in daily operation. Apple TV’s UI is no easier to get lost in than Roku, and actually has fewer pitfalls if you toggle one setting (the one that makes one home tap open the Apple TV app, and a second press while in that app actually go home, by default; switch that to always go home on any press of that button no matter what)
I dunno if Tailscale works on Roku but otherwise that would indeed be entirely viable too, last I saw Jellyfin’s app on there is really good. Likely need a server powerful enough to transcode, though, lots of (all?) Roku devices don’t have hardware decoding for newer codecs like h.265. That’s one big benefit of an Apple TV, it can hardware decode damn near everything.
Perhaps.
Y'all (collectively) have some good ideas.
But she likes the Roku. She's even got silicone skins for the remotes (plural; spares!), and two of them are tethered near the chairs that her and dad tend to sit in.
Also: The Roku stuff already exists, and is paid for, and it works with Plex (without a VPN, because my local Plex container didn't come with the caveat to avoid exposing it to the world).
Buying them one or more Apple TV devices to use instead seems expensive and likely to fail somehow.
Switching them to (cheap? linux?) PCs also sounds expensive and bad, particularly with my dad. He's certainly had more years to learn how to use a computer than I have, but he's spent most of the recent decades deliberately avoiding them. He hates them, and he doesn't want to learn them. He'd fall apart and give up on television entirely if I gave him a PC with a slick Logitech K400 to run it with. (He can drive a Roku with Youtube TV and Plex like a pro, but that's mostly only a D-pad and a back button.)
---
But since you and others have mentioned it: Transcoding. That's really not a big problem for many vaguely-recent PCs. With Plex, at least: The quite old i7-6700k desktop box I use for this transcodes to h.264 like a beast using its paltry iGPU, and does h.265 just fine with an old nVidia RTX 2080 if I elect to use that instead. Either way works well and never breaks a sweat.
It may have been a powerful machine a decade ago, but a used computer with a 6700k (or so) to serve media with is cheap these days. (And a brand-new power-sipping N150 box does transcoding waaaay better, even in credit-card form factor.)
A couple of other options:
If their router supports it, configure the VPN there so it's available for the entire network.
Set up a Raspberry Pi (or similar) on their network that is configured with the VPN and runs a reverse proxy to expose the Jellyfin instance.
But yeah, either of those is going to increase your support burden.
Sad to hear about people getting stuck in weak ecosystems.
By the way, I switched from Jellyfin to plain SMB + Nova Player (Android), which has basically the same interface, but no user profiles, and works over SMB, obviously. No transcoding, best format support, and best performance for large files I've found yet for my TCL Android TV.
I use Jellyfin and when it works it’s great but a few small things make it totally unusable for a non-technical family member.
One thing is when it can’t see the server it doesn’t just say it can’t see it, it acts like the issue is you’re not logged in and then when you log in (having to type your password manually each time, on a TV) it then fails.
This is only really diagnosable if you can access both the client and server and is a complete failure and very tedious experience if you only have client access.
Feels like I experience this at least once a month so couldn’t ever set this up for family members remotely.
I set my dad up with a Linux box as a daily driver for him - he keeps the desktop on , and the roku jellyfin now has a clean proxy into jellyfin over the tailscale network. Giving him a desktop I can remote into was a great decision that paid dividends for him :)
You can point Tailscale toward a $5 exit-node VPS and Caddy/nginx through a cheapo-but-memorable-domain to get a Jellyfin Dashboard up in a browser. I assume running the domain and port through the Jellyfin Roku app would work fine (can't be sure as I've never used a Roku).
Just mind your ACLs
I run it in a docker container behind traefik in another container. Getting that wired up and working in podman was quite the challenge. Docker container mounts my media as read only.
i didn't have much trouble
the device and group_add were for integrated graphics passthrough for transcoding (very highly recommend if you're containerized)i also recommend seerr to pair with jellyfin: https://seerr.dev/
my wife logs into the seerr ui with her jellyfin account, makes requests, they get grabbed by sonarr/radarr, which in turn place them in the correct library, and they're identified & labeled correctly on import
Yea its pretty bad, there are pages of non-fixed confirmed exploits, you really shouldnt let it face the net.
VPN is one solution, and actually the only real solution for app-based jellyfin (TV, phone apps) I found so far.
Another is to host Jellyfin behind reverse proxy, and have a completely independent authgatein front of it (authentik, authelia). Jellyfin even supports LDAP (trough plugin), so you dont have to login twice per visit. The downside is only web interface can be hidden this way, as apps will break expecting jellyfin auth page and finding something else.
It’s still a mess and any suggestions to fix it are met with hostility which is a shame because I’d love to use it. Last I checked there were still endpoints not behind auth that exposed stuff you’d probably not want exposed.
For whatever reason people here and on Reddit will tell you that you need to have Jellyfin pass through five VPNs, otherwise nasty things will happen. Meanwhile the actual devs suggests simply setting up a reverse proxy, which you can do in two lines with Caddy: https://jellyfin.org/docs/general/post-install/networking/re...
Reverse proxy itself will do barely any defense, what you need in combination is an authgate (authentik, authelia), and here we are moving from "simple reverse proxy" to fun weekend activity and then some getting it to work as expected. + it kills the app auth flow, so only web interface is suitable for this.
You can use a reverse proxy and still have working app auth, I have set this up via Authelia with the OIDC Jellyfin plugin.
However:
- This is EVEN MORE complex than "just" a reverse proxy.
- I'm not really sure it wins much security, because...
- at least I'm not relying on Jellyfin's built-in auth but I'm now relying on its/the plugin's OIDC implementation to not be completely broken.
- attackers can still access unauthenticated endpoints.
Overall I really wish I could just do dumb proxy auth which would solve all these issues. But I dunno how that would work with authing from random clients like Wii (and more importantly for me, WebOS).
> Reverse proxy itself will do barely any defense, what you need in combination is an authgate
What’s your threat model?
Same as anyones: random bots scanning IP/ports to find established services and trying exploits from the book.
If you expose Jellyfin on 443, have HTTPS properly set up (which Caddy handles automatically), your admin password is not pswd1234 (or you straight up disable remote admin logins), and use a cheap .com domain rather than your IP--what is the actual attack surface in that case?
As far as I can remember that is more or less what is usually suggested by Jellyfin's devs, and I have yet to see something that convinces me about its inadequacy.
He claims there are known exploits. Though I also want to know if this is really true.
https://github.com/jellyfin/jellyfin/issues/5415
The absolute worst thing I can see in there is that an third party who somehow managed to get a link to one of your library items (either directly from you or from one of your users--or by spending the next decade bruteforcing it I guess) could stream said item: https://github.com/jellyfin/jellyfin/issues/5415#issuecommen...
Everything else looks to me like unimportant issues, that would provide someone who's already logged in as a user minor details about your server.
With a reverse proxy, I don't see how this would work. The whole way the reverse proxy works is you use a subdomain name ("jellyfin.yourdomain.org") to access Jellyfin, rather than some other service on your server. The reverse proxy sees the subdomain name that was used in the HTTP request, and routes the traffic based on that. Scanning only the IP address and port won't get attackers to Jellyfin; they need to know the subdomain name as well.
The only tricky part here would be to make sure you’re doing a wildcard certificate, so that your subdomain doesn’t appear in Certificate Transparency logs.
To alleviate your concerns, I have a public facing Jellyfin instance hosted on a subdomain for almost a year now. So far zero pwns or bot activity.
And that plex really pissed off the community by changing its pricing model.
When I had to decide between Plex and Jellyfin, I noticed that with Plex it was mandatory to have an account even when self-hosting (!) so I'm not sure whether it's better or worse than Jellyfin, I just didn't bother trying it out because of that.
I was camping without service last year. I wanted to watch some House MD I had downloaded in the plex app before I left. I fire up plex ...it can't connect. Why does it need to connect? Bye Plex. Hello Jellyfin.
Plex is aimed for a simple ease-of-use experience, so if you aren't technical enough to setup a reverse proxy, Plex offers all the authentication and proxying for you.
It's not a true self-hosted software. It just depends on what matters most to you.
I started out my home server journey with Plex but it just kept getting worse, forcing me to switch to Jellyfin, which imo works just as well and seems to not fall into the whole pay us to stream your media business practice yet. Paywalling such a core feature was pretty harsh
It may seem "harsh", but this is simply the reality of using proprietary software. You don't have any control over it, and unless you stick with a particular version, it can change at any time (sometimes called a "rugpull"). And with anything internet-connected, it's not usually a good idea to stick with an old version because of security issues.
With open-source software, this just isn't a problem. Even if the company behind it decides to turn evil, the community can fork it and continue on. Just look at Emby for example: it did a rugpull and changed to a proprietary license, so the community forked it and made Jellyfin.
I built a little Jellyfin plugin for KOReader [1] so I can access my books from my Kindle. Jellyfin proved really nice to work with (though there was some poorly documented auth stuff they were in the process of deprecating).
If anyone has been thinking of building something in the Jellyfin ecosystem, I very much recommend it.
[1]: https://github.com/DeclanChidlow/KOReader-Jellyfin-Plugin/
Jellyfin is great in that it just works. I managed to install it on Samsung TV with Tizen OS and it has been just solid experience for many years now.
The one trick is to make sure your file naming & organization is good. They have good documentation on it. Everything's pretty much automatic then, almost zero further work. The naming conventions aren't too bad, and the resulting file tree would be a reasonable way to organize your files regardless.
I actually like the conventions. Movie name and a year in parentheses and then it can be whatever. E.g.
Movie (2016).whatever.zzz/whatever.mkv
Yeah in my case it mostly just encouraged me to clean up some nonsense I’d been meaning to anyway.
I think some folks who have strong opinions about things like organizing their files under folders by director or something find it grating, but it did nothing but help my structure.
I love it mostly as well so far, the only sticking point on both my TVs is constantly having to re-enter my server IP address. It sticks around for a couple days, then it's gone again.
I gave Jellyfin up and went back to upnp/dlna after the Android and iOS clients would keep losing sync, or wouldn't show me some season of a show, or would pick a white background on white text for a show.
The pain just kept adding up. It was quite nice most of the time. But every single time I reached for my phone, I was wondering how badly it was going to go. Quitting Jellyfin seemed like an excellent choice.
Upnp/dlna is much cruder; very direct raw BubbleUPnP client. But it works so well for me. Their transcoding server also is quite good and I can run it on any machine I want, isn't coupled to anything, can switch between them easily.
Bubbleupnp is also great because it lets me turn tablets into cast screens. I love that so much. Good general protocols rock; having media server, media renderer, then separate control points was a great model, good job UPnP.
Yeah the poor Jellyfin clients (on xbox) are what's keeping me on Plex despite all the accumulating paper cuts...
Agreed. I honestly chose Jellyfin over plex because I preferred the branding, not sure what I’m missing. I really enjoy Jellyfin, and thy seemingly have support for most devices in some way.
My GF has it set up on her iPad, phone, computer. App is on our TV and has no issues. We have Netflix at home. She’s non technical and hasn’t had any trouble once I gave her a login.
The only hiccup was when she tried to watch during one of her lectures. I had to explain that Jellyfin is only at home ;) (for now)
> The only hiccup was when she tried to watch during one of her lectures. I had to explain that Jellyfin is only at home ;) (for now)
Tailscale got me outside-the-home Jellyfin with a grand total of maybe 30 minutes of effort, including signing up, getting my server connected, and getting it on my MacBook, AppleTV, and phone. I'd never used it before.
Combine with a $5 VPS and nginix reverse proxy to make this true for any device, even ones without tailscale!
Or Cloudflare Argo tunnels for $0/mo :)
That's against their ToS.
I’d not put Jellyfin on a public IP, even indirectly. I’d be surprised if it’s not full of exploits.
I whitelist my friends IP blocks, seems to work well enough.
No way in hell I'm convincing them to install tailscale or similar on their TV / router.
How's the bandwidth and transfer limits on that $5 VPS, would be my next concern? One approximately-perfect-Bluray-quality 4K movie can be north of 50GB, decent quality, still 20+GB. Very-high-quality 1080p is gonna be like 8-12GB for a movie, OK quality, 4.5-6GB.
Only for outgoing - 2TB included, each additional TB is $1. It was 20TB included when I set this up in 2024, but they've since changed their policies.
If I used their servers in the EU it's still be 20TB, but I prefer having the server 10 miles from my house.
Plenty fine with that pricing since I also use it to un-CGNAT services on my home server (I'd run this through Tunnels if it was significant)
Generally ~22GB 4k hdr muxes or ~8gb 1080p.
Damn, that's decent, yeah that'd get you a ways. Imma stick with free peer-to-peer VPN via Tailscale because it's already working for me, but I can see the appeal of that.
There was just another one recently actually. It was the final straw that convinced me to stop making my Jellyfin server publicly accessible (for my family abroad) and move to a VPN based solution instead (WireGuard or Tailscale I haven’t set it up yet).
Heh, I just spent 15 minutes debugging a Jellyfin bug where my WebOS client thought that the startup wizard had not been completed yet (I tried restarting it several times, but the thing that did the trick was enabling debug logging and _then_ it started working properly--probably a coincidence). Jellyfin is the best in class, but the bar is in hell. It can't be run in any kind of a high availability configuration, so if your only instance goes down or has any kind of issue, you have to jump on and fix it immediately or you can't use it. When something goes wrong, some of the logs show up in stderr, but most are just written as plain files to a directory. It's free software, so you get what you pay for, but it's pretty buggy.
We really got a client for the Nintendo Wii before a usable one for tvOS.
Yeah, I’ve been beta testing the Streamyfin tvOS app. it’s now about on par with the official tvOS client, but feels like it’s making more progress regularly
I can't believe the wifi got a client before ps5
Honestly surprised it took this long. I guess it's less than ideal, since the wii doesn't support modern tv resolutions.
The Wii supports 240p, though, which is very hard to replicate these days.
Or 480i if you want to watch classic anime on a CRT.
It can't really decode 480p/i very well.
The fact that it has component video out makes it a swiss army knife for everything else 240p/480i/480p.
Indeed.
I watched a backup of a [480p24] DVD movie with a (hacked) Wii quite a long time ago, as a fallback after the PS3 I was using got tripped up on that film's Cinavia[1] watermarks.
The Wii worked OK-ish, but it was evident that it was barely keeping up with decoding the MPEG 2 video from the disc and putting it on the screen. Perhaps there is or was better software for that job, but there were some glitches and brief hangs.
[1]: https://en.wikipedia.org/wiki/Cinavia
It absolutely should be ported to GameCube and be called DolFin (the GameCube's codename is Dolphin)
I love this kind of project. I am pretty sure the developer had a Wii console sitting around somewhere and thought about how to make it useful again. Wait, I have a PS2 sitting around somewhere…
Speak of the devil, I was just looking for something just like this earlier this week. I may have even have ran into this exact project, but it didn't have functioning playback until now. I have a spare CRT in my office that I use for some old consoles, and thought it would be neat to stream some 4:3 media onto it, but didn't want to bother with getting some client box and HDMI to composite converter. If this works well, it would solve that problem nicely.
Forced server transcoding for everything. Ouch. Thought maybe at least mpeg2 or something would play directly.
You can disable transcoding in the server settings or at the user level. Your client device would have to support the file being directly played of course.
it's 480p. every box i've used in the last two decades could do that on the fly without breaking a sweat.
The Wii is just barely within the last 2 decades but it does very much struggle with 480p decoding of most anything (and even sweats a decent amount on 240p) as it was pretty low end for even 20 years ago.
Intel ARC 380's are ideal at 4k realtime transcoded streams. And theyre cheap as well.
You could probably do a sticky round robin reverse proxy with a few backends doing transcode.
The biggest issue is bandwidth, but you probably knew that.
Even better is a passive cooled GPU like the Palit 3050 KalmX https://www.palit.com/palit/vgapro.php?id=5147 Too bad they are not producing them anymore
Absolutely not.
Nvidia arbitrarily locks number of encodes between 2 to 5 streams, depending if you're willing to run hacked firmware and drivers.
Multi-encoding on nvidia is a "professional card option" only.
Intel's ARC line has no such arbitrary encode/decode limit. And they are significantly cheaper as well.
https://jellyfin.org/docs/general/post-install/transcoding/h...
It would be great to get one of these that supports the OpenSubsonic API, which has become a defacto standard for opensource music servers.
Would be music-only, which is sometimes ideal for older devices.
Never realised Wii had a .WAD format. I guess it can run doom though :)
Has anyone tried to horizontally scale jellyfin to running on a multi node cluster?
I'm wanting to set it up for around 20 households to share, and with transcoding that exceeds a single (cheap) node.
For hardware acceleration you might be interested in the remote hardware acceleration strategy...
https://jellyfin.org/docs/general/post-install/transcoding/h...
The jellyfin DB itself is unfortunately sqlite instead of being DB agnostic. Maybe you could hack together something such that only one node handles writes and everyone else handles reads... if getting multiple cheap nodes gets your more bandwidth. I have to imagine that jellyfin fairly quickly stops being in charge of the media stream directly.
But yeah I think the transcoding and the size of your data pipe is the only "hard" part. The DB read/writes themselves are going to not be an issue (I think)
The database changes late last year is laying the grounds for other database engines[1].
[1] https://jellyfin.org/posts/jellyfin-release-10.11.0/#the-lib...
If Jellyfin ever fixes the mountain of bugs from the "upgrade". They aren't even acknowledging major bugs that make Jellyfin unusable for like 20% of users.
Do not upgrade Jellyfin if you have a sizeable library. Backup first if you do.
FWIW, I have managed 10 simultaneous live transcoded streams on a ARC B580 and it could have managed a few more. With couple of them you cold be fine.
The other aspect is you could share the media storage over NFS and have multiple jellyfin instances running for different houeshold groups.
With 2 or 3 nodes like that I think you could make it work.
I only have an cpu with hardware acceleration that is used for transcoding and even that can handle a couple of streams transcoding simultaneously. The biggest thing is getting people to use clients that support direct play.
Yes, it was annoying, SQLite sucks as single source of truth for clusters, and it cost less than $100 to just buy hardware that can handle multiple high res transcoding sessions at once, but not 20 households' worth.
Jellyfin isn't designed to be clustered.
For your use case, deploying multiple instances would be the way to go.
But can it still play Wii games?
Really looking forward to a Jellyfin client on PS5
Man what can’t you do with a Wii? Didn’t someone post an article the other detailing how they booted Mac OS X on it?
https://news.ycombinator.com/item?id=47691730
Love it
If you're using Dolphin, it may be worth testing Better-Wii-Menu-DE (https://github.com/Gavin-S-Dev/Better-Wii-Menu-DE).
You could probably have your Wii computer boot directly into Jellyfin using a startup shortcut with 'dolphin-emu -e WiiFin.dol', then switch out of the app to play Wii games using the better menu app.
Then you can your Wiimote for both media + gaming with out needing a keyboard / mouse.
Now we just need a tvOS client that can play music...