WiiFin – Jellyfin Client for Nintendo Wii

(github.com)

176 points | by throwawayk7h 12 hours ago

14 comments

  • shrinks99 10 hours ago
    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!
    • tengbretson 9 hours ago
      Plex could reverse this trend in a week if they decided to prioritize work on any feature that their core market actually wanted.
      • zythyx 8 hours ago
        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
        • QGQBGdeZREunxLe 5 hours ago
          * 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.

        • ssl-3 8 hours ago
          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.

        • necessary 7 hours ago
          Here's an easy one: working downloads on mobile. Plex offline downloads are notoriously buggy.
          • saturnite 5 hours ago
            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.
        • VonGuard 8 hours ago
          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.

        • NoMoreNicksLeft 7 hours ago
          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.

          • saturnite 5 hours ago
            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.

            • NoMoreNicksLeft 4 hours ago
              >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.

    • tech234a 9 hours ago
      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.
      • vachina 14 minutes ago
        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.
      • heavyset_go 8 hours ago
        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.

        • ssl-3 8 hours ago
          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.

          • whywhywhywhy 1 hour ago
            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.

          • lamasery 7 hours ago
            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.

            • ssl-3 6 hours ago
              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.)

              • dmos62 4 hours ago
                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.

          • ray_v 7 hours ago
            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 :)
          • asixicle 6 hours ago
            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

      • MaxikCZ 6 hours ago
        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.

      • random_human_ 6 hours ago
        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...
        • MaxikCZ 6 hours ago
          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.
          • bjackman 39 minutes ago
            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).

          • notpushkin 5 hours ago
            > Reverse proxy itself will do barely any defense, what you need in combination is an authgate

            What’s your threat model?

            • MaxikCZ 5 hours ago
              Same as anyones: random bots scanning IP/ports to find established services and trying exploits from the book.
              • random_human_ 5 hours ago
                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.

              • shiroiuma 4 hours ago
                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.
                • notpushkin 2 hours ago
                  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.
    • monocasa 9 hours ago
      And that plex really pissed off the community by changing its pricing model.
    • altmanaltman 9 hours ago
      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
      • shiroiuma 7 hours ago
        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.

  • aayushdutt 11 minutes ago
    Really looking forward to a Jellyfin client on PS5
  • _joel 43 minutes ago
    Never realised Wii had a .WAD format. I guess it can run doom though :)
  • OuterVale 5 hours ago
    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/

  • nout 10 hours ago
    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.
    • lamasery 9 hours ago
      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.
      • nout 7 hours ago
        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

        • lamasery 7 hours ago
          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.

    • zhivota 4 hours ago
      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.
    • nerptastic 10 hours ago
      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)

      • lamasery 9 hours ago
        > 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.

        • ZeWaka 4 hours ago
          Combine with a $5 VPS and nginix reverse proxy to make this true for any device, even ones without tailscale!
          • lamasery 1 hour ago
            I’d not put Jellyfin on a public IP, even indirectly. I’d be surprised if it’s not full of exploits.
            • einsteinx2 22 minutes ago
              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).
          • 542458 4 hours ago
            Or Cloudflare Argo tunnels for $0/mo :)
    • jauntywundrkind 9 hours ago
      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.

    • throwaway894345 8 hours ago
      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.
  • agarmash 2 hours ago
    It absolutely should be ported to GameCube and be called DolFin (the GameCube's codename is Dolphin)
  • Synthetic7346 10 hours ago
    I can't believe the wifi got a client before ps5
    • gkhartman 10 hours ago
      Honestly surprised it took this long. I guess it's less than ideal, since the wii doesn't support modern tv resolutions.
      • dmonitor 10 hours ago
        The Wii supports 240p, though, which is very hard to replicate these days.
        • Acrobatic_Road 10 hours ago
          Or 480i if you want to watch classic anime on a CRT.
          • NathanielK 10 hours ago
            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.

            • ssl-3 7 hours ago
              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

  • sbinnee 8 hours ago
    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…
  • lamasery 10 hours ago
    Forced server transcoding for everything. Ouch. Thought maybe at least mpeg2 or something would play directly.
    • ruined 6 hours ago
      it's 480p. every box i've used in the last two decades could do that on the fly without breaking a sweat.
    • mystraline 8 hours 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.

  • monocasa 9 hours ago
    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.

    • rtpg 9 hours ago
      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)

    • stijnveken 4 hours ago
      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.
    • galbar 7 hours ago
      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.

    • heavyset_go 8 hours ago
      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.
    • rauland 3 hours ago
      Jellyfin isn't designed to be clustered.

      For your use case, deploying multiple instances would be the way to go.

  • zdw 8 hours ago
    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.

  • Forgeties79 10 hours ago
    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?
  • poglet 8 hours ago
    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.

  • aidenn0 7 hours ago
    Now we just need a tvOS client that can play music...