I’ve never been able to get another family member to successfully use XMBC/Kodi. Most folks have low tolerance for “this thing has wasted a whole-ass minute of my time trying to do something basic”.
I tried this several times, for months at a time. Nobody but me ever used it.
Even I sometimes used to manage to get lost in some editing-mode or end up with my movie still playing in the background but the whole XMBC UI overlaid on it at like 80% opacity and struggled to figure out how to get back.
And no, alternative skins never improved that any.
Official Jellyfin client on Roku, and Infuse on Apple TV, have had no such problems. Spouse, kids, guests, all pick it up and use it with zero coaching and only very rarely needing any help.
I think XBMC/Kodi made a mistake having the editing-stuff use case live so close alongside the watching-stuff use case. Among other problems.
Anyway, since switching to Jellyfin my working-on-my-setup to watching-stuff ratio finally isn’t terrible (great, actually) and other people can use the system.
[edit] one generalizable lesson from Kodi should probably be not to have two buttons that both sort-of mean “back” but in different ways. :-/
That's probably because of how easy things are to get here in the US. My parents are in their late 60s and I was talking to my dad the other day when he told me about how they watch old movies on the ancient TV they have at home in India: RaspBMC.
I found this astonishing since I set this up perhaps a decade ago on a RaspberryPI with a large external USB drive. I recall setting up something with Samba so that their Windows computer in the house could either make the stuff available or transfer it to the USB drive. Then I used one of those USB flirc setups so that they could use a remote to navigate the interface.
And then I imaged a few SD cards and left them there for them to use.
At some point, my parents figured out how to get torrented content down and how to use the OpenSubtitles.org integration to get subtitles. And that worked for a bit, but something must have changed because they tell me now that they have to download the subtitles on the computer and change the name to match or something.
I suppose you need sufficient motivation. My parents seem to enjoy movies from a century ago which are hard to find in India but easy to find on the Internet. If they could just jump on Amazon Prime and fetch them perhaps they'd have jumped through fewer hoops.
The thing that most amazes me is that this gambit with imaging SD cards worked! South India had a period in there where power would cut out frequently. This dodged that particular problem!
Part of the reason more people now understand how to use jellyfin etc is because they have been used to doing it with netflix and other apps etc for 10+ years
Sure, but I've figured out multiple Paradox game UIs, put many hours into a bunch of weird old crufty DOS games (Dominus, anyone? Darklands?), ran Gentoo as my main OS for several years (while preferring Windowmaker as my WM, for god's sake, hahaha)... and still got myself turned around in Kodi sometimes after many hours using it, in a way I never did in Netflix's UI (any of their UIs).
Kodi's got some really weird UI choices going on. I don't think it's the case that Netflix-alike UIs are anywhere near equivalently bad, but people are able to use them anyway just due to familiarity. I think Kodi's is simply a lot worse.
Even the parts of Jellyfin that don't resemble Netflix (as there's no user-facing equivalent in Netflix)—the server & library management portions—I find vastly easier to use than Kodi's equivalents.
I've also been a Kodi user since it was XBMC (I originally bought an X-box purely to run XBMC). In my view, its biggest UX drawbacks are 1. how it works with remote controls, 2. playback reliability, and 3. importing content.
1. Remotes: Most remotes now don't have dedicated stop/pause/play/forward/rewind buttons, so we have to map those functions to a single "do something" remote button, or at best a single "do something" button + cardinal direction controls. So if I push "left" on my remote, to this day, I am not really confident about what it's going to do. If I push the "do it" button, is it going to pause? Bring up a context menu? Bring up some other kind of overlay? Who knows? The whole input system needs simplification and an acceptance of today's terrible remote control hardware. Not just the "back" thing you mention which yes, is terrible.
2. Reliability: Unlike something like VLC, Kodi decidedly does NOT playback everything you throw at it, but it's been getting better. I've often seen it shudder, quit unexpectedly, freeze, and it doesn't seem to handle scrubbing forward and backward in the file very well. When I sit down with my family to watch a movie, I always have that voice in the back of my head that says "Am I going to have to take 10 minutes to try to get this movie to work, awkwardly, while my family sits on the sofa looking at me?"
3. Media content: Kodi's insistence on grafting its own "library" on top of my already-working filesystem is just terrible. I can't just add a file to a directory. Nooooooo that would be too simple. I have to add the file, and then go into Kodi and try to figure out how to get it to re-scan and import these files. To this day, I don't think I can tell you what menu to navigate to to import content. And fuck me if I do something wildly unusual like rename a file.
That said, it's nicer than everything else I've tried. It has an actual TV-centric interface that has all the nice things you'd expect (poster / album art, artist / actor info, genres, and so on). Kodi's flaws are not annoying enough for me to take the time to try something else like Jellyfin or Plex. But with your comment, I might be motivated to try out Jellyfin. It's hard to tell from their web site what they offer that differentiates them from Kodi, but it's probably worth an explore.
On #3 you can use jellyfin/plex/emby to manage your content and import it into kodi with plugins (jellyfin for kodi/plex for kodi/etc). This makes the media content portion of kodi MUCH easier as you now can centrally manage it through the superior jellyfin (or whatever) app which is better for administering metadata and utilize kodi which is better which is much better than most jellyfin client apps when you don’t have to worry about managing content libraries.
Especially so when you get a good skin and device that makes the whole thing worthwhile. My primary playback system is kodi + arctic zephyr reloaded but I haven’t evaluated skins in awhile so maybe there’s something new that’s better. The hardware is a ugoos am6b+ flashed with coreelec which afaik is the only thing that can natively play all profiles of Dolby vision correctly which is great bc my primary tv is an lg oled. Having a jellyfin database as the backend means that all my new media just shows up when I start it up and I also have the option for jellyfin client apps on other devices in the home and remotely. It’s the best option all around, though it does have headaches: ugoos locked the bootloader so hdmi cec doesn’t work with power on very well (I just send a wake on Ethernet through home assistant when the tv and avr come on to circumvent this) and there are some other hdmi cec hiccups (it tends to “steal focus” during things like airplay)
I run Kodi on a Raspberry Pi 4. I have the same complaints about it that you have.
And it is nice, I guess -- it's functionally simple to just play files over an SMB share. But the interface is... well, the interface was really amazing on the OG Xbox and that was a very long time ago.
So even though I keep Kodi around, most of my video-watching is with Plex, wherein: The library updates itself. The subtitles download themselves (the subtitles even theoretically sync themselves to the video). Stuff generally Just Works, even over the WAN.
Plex is very set-and-forget, and its performance is great on a ~$20 ONN streamer-box from Wal-Mart (and there's also smart TV apps and PC-oriented playback, of course).
The user experience is really good: The interface is very remote-centric and flows well while kicked back in an easy chair in front of a TV. My eldery, tech-averse dad uses Plex without any trouble, which he'd absolutely never be able to do with Kodi.
Amusingly, Plex is/was a fork XBMC. :)
Despite the complexities of its client-server model (where both sides are kind of fat), and the expense, I can't recommend Plex highly enough.
That said: Jellyfin is free both as in beer and as in libre. It also gets most of this stuff right, and from what I've read it's been improving steadily for a number of years. I'd have written about Jellyfin instead, but I don't have as much direct experience with it (and I paid for Plex a long time ago).
It comes with a dedicated remote (though it does support CEC), which solves #1, at the cost of having an extra remote.
I mainly hit #2 when scrubbing, often (worse on some compression types than others), it'll just freeze frame for a minute before everything catches up. This may be because I'm serving the content via HTTP to the Vera V, I've been meaning to try NFS and/or SMB. Never had issues with playback itself, probably because the Vera V hardware and the OSMC/Kodi build are co-developed, so there is pretty much always hardware decode support.
#3 surprised me; Kodi supporting just using my directory layout is why I use it over something like Jellyfin! I just added the HTTP share, and then navigate Videos->files->my_http_share_name and I'm in my directory structure.
Out of the box, what you get is a server with (Optionally! But included by default in e.g. the Docker image, I think) an official web UI.
It's multi-user, has decent parental controls, automatic metadata fetching from a bunch of sources, can live-transcode when a client needs it (I have that disabled because my server is too weak, LOL), lots of good stuff.
You'll manage it through the Web UI, mostly. Set-top platform clients tend not to include much in the way of management features. (which is fine, it's way more pleasant to do that through a browser)
The web UI is also a Netflix-alike interface. Watch straight from the browser, if you like.
-------------
The one major concession that puts some people off it is that it works butter smooth if your file naming conventions match what it expects, but it gets a lot less-pleasant if they don't. There are some minor variations allowed but mine's basically like:
/movies/Apocalypse Now (1979)/Apocalypse Now (1979).mp4
/movies/Apocalypse Now (1979)/Apocalypse Now (1979).en.srt
/movies/Apocalypse Now (1979)/Apocalypse Now (1979).fr.srt
/movies/Apocalypse Now (1979)/Apocalypse Now (1979) - Redux.mp4
/movies/Apocalypse Now (1979)/Apocalypse Now (1979) - Redux.en.srt
/movies/Apocalypse Now (1979)/Apocalypse Now (1979) - Final Cut.mkv
/movies/Apocalypse Now (1979)/extras/The Making of Apocalypse Now.mkv
/movies/Apocalypse Now (1979)/extras/Trailer.mkv
For movies. This demonstrates naming for the movies themselves (in this case, three different cuts of the same movie), extra features (you can change the extra features folder name if you like; it may default to "featurettes" and I may have changed mine, can't recall for sure) and external subtitles. I think you can handle external audio files similarly, if you have any of that going on. There are also ways to categorize special features into like trailers or whatever, with directories, but I haven't bothered with that.
I think there is a way to put your subtitles in a "subs" directory or something like that, but I don't do it. Then again I rarely keep more than two sub languages, maybe three or four total files if there are separate SDH options, for a given video. Usually just English and if it's a foreign film maybe the original language's subtitles (the French file for Apocalypse Now above is just an example, I didn't look at a real directory to write it)
The naming on these is pretty flexible. Basically as long as it can find the series (the year helps a lot) and everything's got `sXXeXX` somewhere in it, it'll be fine. Spaces, dots, dashes, doesn't affect much. "asdf.s03e05 - Some Name (stuff in parens).mkv" will find TheTVDB's entry for season 3, episode 5 (even if the name and all that in the file name are wrong, doesn't matter, it ignores that). External subtitles work like for movies (just stick them alongside the video files)
One pitfall: every now and then you find a case where DVD/BluRay and aired orders differ. TheTVDB usually records multiple orders in these cases. I dunno how to force Jellyfin to prefer one or the other, I just figure out which it's preferring (usually the one TheTVDB shows you on the Web by default, I think?) and adjust to that.
Also note that rarely (but sometimes for important cases, like e.g. Looney Tunes) TheTVDB uses years for the seasons. So you'll want "Season 1965" and such for those. No big deal, just a weird quirk of certain shows' metadata. Not that common.
I think you can name the "specials" directory to... specials, and maybe even give it an arbitrary name in the Jellyfin settings, but I like "Season 0" or "Season 00" (either works, prepended zeros are ignored, I have both hanging around) because it matches the special episode naming in TheTVDB (like "s00eXX").
In a pinch, you can override which IMDB, TMDB, TheTVDB, et c. ID that Jellyfin decided belonged to the movie or TV show, using the web UI, and make it re-scrape the metadata. Usually it's better to figure out why it got it wrong and fix that instead—that way you don't even have to care about Jellyfin's database of scanned metadata, you can always just have it re-create it from scratch with little or no fuss. (and you can also set it to write the metadata alongside your shows and movies in files, like Kodi can)
I think there might be a way to put things like IMDB IDs directly in file names to make it even more clear what you mean, but "name (year)" has been so reliable for me I've never bothered to look into it.
I base my naming and years on what I find in the metadata sources themselves, usually IMDB and TheTVDB for me. Surprisingly often, Wikipedia disagrees with these, and sometimes [ahem] acquired files also have file names recording years that disagree with those sources. Usually it seems to be a festival-circuit vs. wide-release thing, as those often fall in different years. The metadata source should win, since otherwise it'll make auto-scanning worse.
Some people are really set on things like having their movies categorized in folders by director or whatever, and that doesn't work too well with Jellyfin.
(I know that file naming explanation is a lot, but it's really not that complicated in practice, and there are docs but I found there were some "but can I..." or "is it necessary to..." gaps in it for me that I've tried to fill in above)
DESPITE the impression probably given by all that text, I've found this one of the greatest parts of Jellyfin. Delete a file? After a couple minutes, it's gone from the UI. Add some files? In a couple minutes, they show up. (and you can force re-scans to speed it up). Slightly rename a file? But Jellyfin still reads it as the same movie from its metadata source? Your watch history survives. Hell I think you can even delete a movie, then add it again later, and your watch history survives (as long as Jellyfin decides it's the same movie by ID). There's no cruft that hangs around to deal with. It's very low-stress. Like 99% of my "management" of Jellyfin is just rsycing files, LOL.
-----------
As for non-Web clients:
- There's an official Roku client, but... most Roku devices have pretty limited codec support. The client works great though. If your server can transcode, this may be a totally fine choice. It's what I used for quite a while until enough of my files were in formats newer than h.264 that it was no longer viable.
- AppleTV has an official client. It's pretty good, but... if you can't transcode, there's one somewhat-common Dolby audio format (I forget which exactly) that AppleTV doesn't have a license to, so it causes problems. However, for that problem there's:
- Infuse (also AppleTV). It's amazing. The recent release supports multiple user accounts with different server access settings (not only can they log into Jellyfin with different credentials, they could conceivably use totally different servers), which is brilliant if you want parental controls or just to have different "watched" lists. It's free but there's a paid version with a few extra features that includes a license to that tricky audio format. I've been using this for years, at this point, and aside from wishing it supported multiple accounts (and it does now, as of very recently!) I've had no trouble with it at all. Also, Infuse supports other media servers as backends.
There are clients for tons of other platforms, too. And you can always Airplay or whatever from (say) a laptop.
----------
For going on the road (and short of taking your server with you) I have used two options:
- You can just use it directly over a VPN to your house, like Tailscale, if the client end's connection is solid (and your home connection is good, for that matter). I've streamed mid-quality 4K over such an arrangement, halfway across the US. You can even connect an AppleTV to Tailscale and take the AppleTV with you (it's much smaller than most servers, lol) for the full at-home experience while traveling (Christmas movie marathon at the in-laws' house this holiday season?)
- Long road trip with the kids and want them to watch Apollo 13 (and perhaps a couple Disney movies) while you drive to Cape Canaveral? Browse your Jellyfin web UI on the tablet they'll use, and download the file(s) you want straight from there. Play files in VLC. Done, no internet connection required. Being able to use the web UI is nice because you can browse categories and such, it's actually a fair bit better than something like using an SFTP client.
I tried this several times, for months at a time. Nobody but me ever used it.
Even I sometimes used to manage to get lost in some editing-mode or end up with my movie still playing in the background but the whole XMBC UI overlaid on it at like 80% opacity and struggled to figure out how to get back.
And no, alternative skins never improved that any.
Official Jellyfin client on Roku, and Infuse on Apple TV, have had no such problems. Spouse, kids, guests, all pick it up and use it with zero coaching and only very rarely needing any help.
I think XBMC/Kodi made a mistake having the editing-stuff use case live so close alongside the watching-stuff use case. Among other problems.
Anyway, since switching to Jellyfin my working-on-my-setup to watching-stuff ratio finally isn’t terrible (great, actually) and other people can use the system.
[edit] one generalizable lesson from Kodi should probably be not to have two buttons that both sort-of mean “back” but in different ways. :-/