Hacker News new | past | comments | ask | show | jobs | submit login
Jellyfin: The Free Software Media System (jellyfin.org)
486 points by doener 5 days ago | hide | past | favorite | 284 comments





Lot's of criticism on here, but I love Jellyfin.

I came from Plex a few years ago after their login server had an outage and I was unable to access the media that was on my local computer. Before that I'd been annoyed by them pushing TV shows and since then I've heard about them giving reports on what people have watched. All in all I'm happy.

My setup is Jellyfin in a docker container running on a debian machine with an i7-1165G7. It's got a mounted NFS link to my Synology NAS with all the files. The main client I used is Android TV running on an NVIDIA shield.

All in all, it's been great. I've got a few nitpicks---loading on ios app isn't as fast as I like if I try to jump to the middle of a movie---but all in all it's great for just watching movies, tv shows, videos, &c. All without any link to the outside world. It's lovely.

They also are producing new features at a nice clip and have a strong community. I expect it to keep getting better and better, but honestly even if it never changed I'd happily use it for years.


I love Jellyfin too, but there are a bunch of rough edges I run into often, like:

Chromecast support is flaky. Most of the time when I cast from my Android phone, the app immediately "forgets" that there's something playing back on the Chromecast (even though it's still connected to it), so I can't control playback at all. It's also hit or miss if the Chromecast will successfully play the media if Jellyfin decides it needs to transcode it.

So I got a little NUC-like box (Intel N100), and installed Jellyfin on it (it was previously running on an old 2012 Mac Mini running Linux). I connected it directly to the TV and installed jellyfin-media-player on it, set to auto-login and start X on boot, with a minimal session that just runs JMP only in fullscreen mode. I use JMP on my laptop, or the Android app, to control it. JMP will randomly lose its connection to the Jellyfin server (even though it's running on the same machine), and won't try to reconnect, so nearly every time I go to use it, I have to ssh in and restart JMP so it reconnects.

On top of that, I get occasional audio dropouts when watching 4k content, and sometimes see 4k video stuttering (yes, hardware decoding is enabled for playback, and I've verified in the logs that it's being used). At those times, the box is around 40% idle, and intel_gpu_top shows that the decode and render bits have what I think should be more than enough headroom to avoid that sort of thing. I understand JMP uses libmpv for playback, so out of curiosity I tried playing video using mpv directly, and somehow JMP's player uses about 50% more CPU than mpv standalone does, and I don't hear any dropouts or see any stuttering on the same media. I get that a video player that's embedded in an application might have some overhead, but 50% is a bit much.

I get that Jellyfin is maintained by volunteers (I also maintain open source in my spare time, so I know how tough it can be to be responsive to user requests), but these issues are quite frustrating. I don't want to use something closed like Plex or Emby (which may or may not be better), so it's still the right trade off for me. And what it can do is truly amazing. I love that I can play things while I'm on the go, VPN'ing to my home network, and Jellyfin will transcode down to a crappy-enough bitrate to fit within the confines of my garbage Comcast upload speed.


> Chromecast support is flaky. Most of the time when I cast from my Android phone, the app immediately "forgets" that there's something playing back on the Chromecast (even though it's still connected to it), so I can't control playback at all. It's also hit or miss if the Chromecast will successfully play the media if Jellyfin decides it needs to transcode it.

This might be more the Chromecast's fault as I've had a similar experience with Plex.


You should check out jellyfin-mpv-shim, it basically hooks up mpv to Jellyfin's cast system, so you can control mpv from other Jellyfin apps. I have a setup similar to your NUC and it works really well.

I love jellyfin but their web model is just bizarre.

Why on earth, when you go to 192.168.whatever:8096 does it ask you what server you want to connect to? Like.. THE ONE SERVING THE PAGE.

Just now I decided to connect to Jellyfin over tailscale and it's asking me to add a server; on 100.xxx, which is the jellyfin server which served the UI. And it doesn't seem to want to accept any answer as to what the server URL is.


While the most common jellyfin distribution bundles the server and web UI together, the web UI (jellyfin-web) is a separate project from the server (jellyfin) and can be used to connect to multiple backends (which can run on the same or different hosts), which is why that functionality and UI is there. For what its worth, the web client should be autodetecting the server it was bundled with and using it without asking you each time. The only time it didn't do that for me was when my network was misconfigured and some requests were getting swallowed, which confused the client and caused it to fall back to the server-connection UI.

> Why on earth, when you go to 192.168.whatever:8096 does it ask you what server you want to connect to?

This lets you connect to and play another friend's Jellyfin rather nicely. I think it's also so the HTML and JS that forms the web interface can basically be the app as well.

> And it doesn't seem to want to accept any answer as to what the server URL is.

Should be "http://192.168.100.xxx:8096" - make sure your jellyfin isn't just set to listen on localhost only though.


If you can connect to a friend's jellyfin, you can also get the UI package delivered from the friend's server.

They've sort of conflated three different ideas - one, the non-browser clients are separate and need a way to select multiple servers from a common wrapper app; two, for development purposes separate the server of the UI package from the backend being accessed; three, have a server based application.

None of these items are uncommon, they are just commonly solved by making the separate front-end server an exception rather than a weird and senseless default. Most people solve this by making the dev mode case an exception.

Moreover, why not just add a button to the UI to automatically connect to the _UI serving server_ instead of having the user type it?

I love jellyfin, but this stuff is just terrible design for out of box experience or connecting from a new client instance, and it breaks when you're traversing a network boundary with something like Tailscale.


Just for what it's worth, I've never had that screen pop up on my Jellyfin instance. I'm just using the official OCI image with a pretty boring configuration. Maybe there's something weird going on? I don't think it's expected in the basic use case.

It may show up on first login. It should auto detect the server and offer that as an option to click on.

I just gave it a shot, by running:

    $ podman run --rm -it -p 8096:8096/tcp jellyfin/jellyfin
And I get the "Welcome to Jellyfin!" page, which lets you set the language/setup a user account. So I think in general if you are just running the OCI image it is not typically expected to see the server list. (I'm sure it's still possible to get to, and presumably you can wind up there if some RPC fails.)

That said, I might've found a clue: if you re-run it, you get another randomized hostname, and then you get the server select page. If I clear cookies and reload, it again skips the server select page. So it seems like if you have the hostname of your jellyfin instance change, say, by starting a new Docker container with a different name, but have it accessible at the same place, that might cause this weirdness.

Other issues may include improperly configured reverse proxies. (If you're using a reverse proxy, you should make sure it's configured right for Jellyfin's websockets and CORS usage and potentially some other stuff.)


Correct. I usually only see it when I have a proxy issue, eg, my jellyfin is flat out down and my proxy is still up.

> Why on earth, when you go to 192.168.whatever:8096 does it ask you what server you want to connect to?

I don't know what the answer is, but I ran into this when I was trying to harden my systemd settings. I'll link my override below and maybe someone can give something more conclusive (and any suggestions to my override or for other services are greatly welcomed. I'm happy to add even ones I don't use). Where I hit this error was when messing with RestrictAddressFamilies, which are network socket addresses. For example, when I restrict AF_PPPOX or AF_UNIX I get that issue. IIRC I also hit that issue when I had moved a file, but I forgot which one (I noticed it got autogenerated again). So I suspect it has to do with access to some file location where it stashes a config file. Fwiw, this works with tailscale just fine.

https://github.com/stevenwalton/.dotfiles/blob/master/skelet...

(docs for RestrictAddressFamilies) https://www.freedesktop.org/software/systemd/man/latest/syst...


Because they separate the client from the server. You can connect to any other local instance of jellyfin locally, not just the one that is served at the current address

This is silly however for the typical use case of a web browser connecting to a server and very silly as default behavior.

I literally have seen that screen only once and then forgot about it. It's really not a big deal.

Well, that commenter seems to have chosen it as their single pet peeve against Jellyfin.

Depending on your needs, you can also connect to your 192.168.x.y machine while connected to tailscale by advertising that subnet

I am pretty sure that's a config option

It may be, but it's also the default behavior and .. really... makes no sense at all.

I have the exact same setup, with tailscale I can watch my media from anywhere on my phone or web. Highly recommended and I honestly do not understand the criticism.

Every once in a while I knock around the idea of migrating off Plex and onto Jellyfin. For a long time it was that sharing libraries with friends was a pain, but now literally the only thing stopping me is that they don't have a ps5 app, and that's how one of my friends uses my plex server lol. If they get one, it's all over for plex (in my friend group).

Keep in mind that you don't necessarily need to "migrate" all at once. There's nothing wrong with running both Plex and Jellyfin pointed at the same media library, and using whichever one has the better client for a particular platform.

I tried this but using two servers means you lose or fragment all your watch history. If I have to remember where I am in a series myself, I might as well just use VLC.

There is JellyPlexWatch, which will sync the databases between jellyfin and Plex. I've been using both next to each other for a while with that setup to sync watch history. Honestly I haven't been able to move over to Jellyfin after the drama around the integration of skip intro, but I hope things get better.

https://github.com/luigi311/JellyPlex-Watched


> the drama around the integration of skip intro

what are you referring to?


A project to integrate additional "media segments" to identify introductions and end credits for auto-skipping.

There was something that worked, going forward the core team decided to focus on a tight stream lined core and decruft 'features'.

Discussion:

https://old.reddit.com/r/selfhosted/comments/1dbiw90/skip_in...

https://forum.jellyfin.org/t-intro-skipper-project-dead

Seems like a temporary (indefinite) suspension and a storm in a teacup from those attached to the feature.


This isn't that important a feature most of the time, because you can just press the skip-ahead button and skip the next 30 seconds. You might see some of the intro, but big deal

There is one big exception though: if you're watching Star Trek: Enterprise. The "skip intro" feature is invaluable so you don't have to be subjected to that truly horrific opening song.



This is a good point. I did this for probably 6 months before switching over completely.

We contacted Sony asking about creating an app. The TLDR of that conversation is they said "Don't call us, we'll call you". Open source never really mattered, they're not interested.

Really? I assumed you'd just license an sdk similar to creating a game. They only allow certain apps?

Ps5 Web browser with a bookmark?

But I hear ya, console support tends to lag behind because of the rules and costs of app dev for them


I mean I could also just tell him it's 2025 and there's 700 ways for him to use plex on his tv, but it's also just kind of funny to me so I keep it going.

I came from Kodi and Jellyfin has been great. I just run it on Ubuntu on a mini PC with an external hard drive and its working great. Stream to my TV with an nvidia shield.

I made the transition the other way around. I tried Emby, then Jellyfin, and finally Plex. Plex is just much better, especially with Plex Pass. The apps are everywhere and they just work (Tizen, iOS, web, etc.). The Jellyfin apps are subpar, poorly translated, buggy, and not available on all platforms (looking at you Tizen). Plex is basically Dropbox in the infamous Dropbox HN comment.

I was a Plex user for the longest time, with PMS on a Linux box and the Plex app on Apple TV and iPhone. However:

* It's always been quite slow and flaky. Library not scanning things, media library not connectable, etc.

* Often very long delay from starting a show until it actually plays. Often very slow scrubbing/skipping.

* The automatic subtitle downloading never works. The manual subtitle downloading never works.

* The UI was getting on my nerves trying to offer "recommendations" — I download my own stuff and don't need an app to try to push my own media through some kind of algorithm that's broken — and constantly promoting the Plex streaming service.

I got fed up and set up Jellyfin with Infuse as the client. Now shows start immediately with no buffering delay, never have any glitchy library issues, and the subtitle downloading just works.

My main issue is that Jellyfin's matching can be quite poor. It often doesn't understand when episodes belong to a show. Also, Infuse's UI is pretty bad and doesn't align at all with how I think media should be accessed.


You could note the price difference too.

Bemused by the number of people complaining about a free and open source project. A quick review of the git history tells me that it’s maintained by a very small group of people who generously work on this in their free time. Luckily jellyfin does accept PRs, so if you think the project needs improvements, then perhaps folks, you can do something about it

Yes Jellyfin does accept PR's but they don't accept hacks ie workarounds for single issue for a particular device won't be accepted easily. The maintainers feel using hacks and workarounds is not the best way to go for the long term maintenance of the project. One of the reasons skip intro took so long to get into jellyfin and jellyfin clients as they wanted a universal media segment system that can be used for other plugin apart from skipintro. It's the same reason jellyfin android Tv app has not reached feature parity with Plex yet as the dev wants to do it right from the ground up so does not like to add device specific workarounds but try to fix it in way to not require workarounds.

sounds like you don't approve of the devs healthy approach to the development of this project, but would rather sacrifice long term sustainability for quick wins.

No I am with the devs on this. I am against people submitting code without discussing with the maintainers and then crapping on them later if the patches don't get accepted something like the arguments rust thing for Linux kernel. As it just will cause unnecessary friction and if the devs/maintainers stop enjoying on the project everyone suffers. I have seen hobby open source projects die with devs getting tired of arguments and then abandoning the project.

I think it sounded like that because of the lack of commas rather than a bias from GP

Uh... just to be clear, this is a good thing - particularly for an open-source project maintained by volunteers, who can't (and shouldn't have to) maintain 100 hacks for 200 different devices. There's so many work that comes attached to doing it that way, from having to own the devices, to making sure every hack is updated, to providing support for them

I've interacted with the project and maintainers and agree with their approach.

I think it's great that it's free and open source so it's available to as many people as possible.

I don't really care about the free part though. If I could pay for Jellyfin and it would be better, I would happily do it. I pay for Infuse so I have something usable on Apple TV even though Jellyfin itself is free. I don't care if other people don't pay for it.

I would rather pool various other people's money who have the same perspective as me to allow one of the Jellyfin contributors to prioritize and perform changes in the project that I and others value, which raises the boat for all. There's no world in which I am going to learn how to contribute to Jellyfin to fix something fundamental about the Jellyfin architecture, for example. It would take years to even get buy-in from the core contributors to have that access. Maybe I could spend a few months and clean up minor UI things or something, but what's the good of that?

I see this take a lot, where a project being free / OSS means that no one should have an opinion on it or that if they don't like something, they should fix it themselves. That's literally what money is for, so I can transfer wealth for some benefit to someone who is better at something than I am, so I can spend my time doing things I'm good at. Nothing about that prevents Jellyfin from remaining FOSS but at the same time, making improvements and receiving and prioritizing community feedback.


If anyone believes Jellyfin is worth paying for or donating, I think it's possible to donate to the Jellyfin project [1].

That's still a donation and shouldn't come attached with any expectations or obligations on either party. So, it may not be the best route to influence their roadmap.

DigitalOcean & JetBrains are listed as their sponsors. If you are their customer, you can share feedback on how much you appreciate their support.

1. https://forum.jellyfin.org/t-how-can-donate-money


I use jellyfin and love it. It's quality is actually pretty stunning for FOSS.

It’s disappointing to see this statement, perhaps a sign of the last 15 years.

The highest quality software has always been FOSS, outside of specialised niches.


I mostly meant that a media hosting/streaming service that is FOSS and has as much fit and finish as Jellyfin, and as many integrations as Jellyfin, feels like a huge accomplishment. This is a space where there is a ton of corporate investment because there's a ton of money to be made. And Jellyfin holds its own against offerings by Google, Amazon, Apple, Netflix, etc. That is incredible to me.

I'm a huge FOSS bigot, but even I can admit that FOSS frequently has bad UI design. FOSS is usually great for getting the fundamentals of the software right, making it reliable etc., but software experts usually are not very good at UI design.

Being free does not exempt a project from criticism. It's not like they were yelling about how terrible the project team was, just saying the issues they were having when trying to use it.

Agreed, but that’s not the point I’m making here. It’s not like this is some closed-source commercial product where the community can’t do anything about bugs/lack of features. My observation is simple: all of this time people spend complaining could be better spent helping to improve the project instead

Why can't people voice criticism and then work on the projects they want to work on instead of having homework and needing to learn the entire Jellyfin code base?

Nobody is personally insulting the devs as being lazy or incompetent. The devs can listen or not and they should have absolute control on what they implement and when. Its entirely reasonable that things they think are fine are pain points they don't realize exist because they've just gotten used to them. They also might not realize that some "wouldn't that be nice" thing they were thinking about implementing in the far future is actually something a lot of people want in the near term instead. There might also be things they just never even thought of.

The users of the software with criticism also aren't forced to use the software and should not be expected to implement anything they want unless they want to contribute. The project being open source ensures that in the future the project can be continued, if someone wants to continue it.


More people are capable of pinpointing pain points during usage than actual implementation of patch fix. That's reasonable, no?

I do not disagree, there are horrible free projects with actively user-hostile documentation out there. But jellyfin is not that. Most criticism of it that I have heard falls either under a matter of taste ("I would do it differently"), a specific hardware setup not being supported or a skill issue during the installation which has more to do with administration of networks and Linux servers than with jellyfin.

And as a user of jellyfin myself I don't think these are particularly fair points of criticism.


And that criticism gets you what?

Same thing that praise does. It's a discussion board, there's nothing wrong with people discussing the shortcomings of a project as well as its good points.

our time still has value, even if the developer of the (often time-wasting app) isn't remunerated. I don't have a bone to pick with JellyFin, but there have been FOSS apps that are best avoided and it's fully within our rights to signal that to others.

It’s an excellent OSS project. One of the few I have donated to.

In my experience, the majority of people who complain loudly about Jellyfin are tied up in the Plex ecosystem and cannot fathom leaving it for some reason.

I mean, imagine living with ad-supported streaming content being injected into your private instance by default and having to tell your users to opt-out of that. Admittedly, it is hard to leave such a slippery slope of an ecosystem, especially as a paying customer.


I tried switching to Jellyfin. But the feature parity between Plex and Jellyfin just isn’t there. This was roughly 6-9 months ago.

I have a 5.1 surround sound setup with Dolby atmos and 4k HDR 10 with Nvidia Shield Pro android TVs as clients. I have Blu-ray rips that play completely fine on Plex, but stutter, have no sound, or downscale to 2.0 sound on JellyFin.

There are some fixes that involve using a JellyFin server and a Kodi media client on Google TV’s. This does enable DTS and Ddd+ sound. While that technically works, it is very involved and feels like many more steps than just using Plex.

If you use a basic 1080p tv with two speakers and lazy encodes of media, Jellyfin probably works great for you. If you have anything a little more complex then you will inevitably see some problems.

This is similar to other open source projects like Ashai. The basic features are easy enough to build, but the more complicated use cases always require more time and effort, and people aren’t always willing to do that complicated extra effort for free.


I’m lucky, I have a tube 2019 running jellyfin into a 5.1.2 setup through my avr and DTS/atmos + HDR10/DV work with jellyfin. I switched from kodi a few years. Do you have Dolby processing and up mix 2.0 turned off in the shield settings? Those cause stutters and some issues for me.

The client story is lacking for sure. But they seem to be prioritizing that now. Regardless, what they’ve achieved as an OSS Emby fork is astonishing imo.

On Apple TV, Infuse bridges the client gap. I personally prefer paying for a third-party client (for now) to paying for a media server that locks transcoding behind a paywall and ties my private server to a remote service. YMMV of course.


Are there a lot of people complaining loudly about Jellyfin?

Yes, I see this quite frequently on r/selfhosted and r/plex.


I have been reading the subreddit for years. I don’t bookmark threads or comments for later review. And I made it clear upfront that this is my personal impression.

>I feel it in my gut despite evidence that I'm wrong

Plex users are all people who are fine self hosting and all the problems with that. Plex lifetime pass holders are invested for 75 dollars. Nobody is entrenched or unwilling to switch if something is better.

Maybe some people also run AdGuard/PiHole on their entire network and block all of the injected ads/tracking that Plex and your employer inject into our lives. We know that companies will always have people doing negative things and try to take the good and fight against the bad.

Maybe you are just overvaluing something that most people don't. Or its a problem only if you just lay down and let advertising invade your home.


Cherrypicked threads from the last week from one of two subreddits I mentioned is now “evidence”? Low bar eh.

Is it lower than "trust me I saw it" on a fully indexed website with advanced search tools that is also one of the most famous sources of LLM learning.

I switched from Plex to Jellyfin/Infuse for three reasons:

1) better tone mapping, allowing me to watch HDR movies on SDR without it looking bad.

2) Plex, on my variety of clients, had regular issues with audio out of sync. I’m very sensitive to this and it drove me nuts. I have no issues with Jellyfin. I fiddled with all kinds of platform and Plex settings but couldn’t find a solution that solved it for good.

3) It’s easier to access Jellyfin over Tailscale. Plex’s normally clever way of exposing itself to the Internet gets in the way. It’s not impossible though.

Having said all this, Plex has better client UIs by far. They’re well organized, feature rich, and generally bug free. I still run Plex and plan to at least for the DVR functions.


> better tone mapping, allowing me to watch HDR movies on SDR without it looking bad.

I've never really understood why it's a desirable feature to have automatic HDR-to-SDR in the first place. No one is making HDR-only content and the official SDR master for every movie and TV show done by a human is always going to beat a fancy LUT.

When performing colour grading you're always deciding what parts of the image need what amount of contrast etc. based on what's important to see in the context of the scene. When grading to HDR you're going to make different choices simply due to the fact that you have a wider dynamic range available. Even putting aside the fact that you're not starting from the same raw inputs that the production studio is working with, automatic tone-mapping is never going to be able to look at a scene in the same way that a human does and decide which parts are important and which parts aren't.


I imagine people have multiple screens but don’t want to keep multiple copies of a video?

In this case I would think people would prefer to just have the SDR version which will look good on all displays rather than the HDR version that will look better on a HDR display but will look horrible on a SDR display. It's down to personal preference of course, but I can't imagine someone caring about having HDR videos while simultaneously putting up with the bad results of automatic HDR-to-SDR.

Just as an example since I didn't include one before: Which of the two below images using different algorithms is correctly tone-mapped? Do we care more about showing the details of the car and the driver or do we care more about the rest of the scene? It's simply not possible to decide which of these is better without context, which an algorithm will never have. A human watching the scene can make that decision, or pick something completely different.

https://user-images.githubusercontent.com/41094733/105145848...

https://user-images.githubusercontent.com/41094733/105145851...


Nope. I personally have two HDR devices and two non-HDR ones. I don't want to keep two separate copies as this takes up more storage, requires me to get two different versions whcih means the progress won't be synced ebtweent the two, the subtitles may not be exactly the same either, etc.

I want to have one and only file that will optimally on my main device (HDR) but which also work reasonably well on a secondary non-HDR device.


Ideally Jellyfin would handle the latter two points (and I think it does), but the first two are good reasons.

Why are you so consistently telling other people what their preferences should be and why?

As I said already, it's down to personal preference. I just don't imagine that most people care about having the best looking video they can get on one device but don't care on another to the point where they'd sacrifice quality on device A for better quality on device B.

It’s exactly the case. Every room isn’t a home theater. We want the best quality for the home theater and “good enough” for the rest. To my surprise, others do notice the washed out effect of watching HDR content on an SDR TV, or worse the wrong colors when watching DV content on an SDR TV.

Acquiring, storing, and organizing multiple files for the same video is a hassle. Even more hassle is asking others to know which is the right one for that TV.


On audio sync issues, I unfortunately see them with jellyfin rather frequently on apple tv when using homepods as audio output. I end up having to enable the "native player" in the experimental settings to get the audio in-sync.

I've previously reported this to the developers of the app, and they've closed the issue saying it was a bug in one of their dependencies, without fixing the issue. It remains unfixed.


Jellyfin+Infuse works really well for subtitles as well.

Infuse is a great client for any Apple device; I like it way more than plex

I love that I dont even need more software like plex or jellyfin. I just expose a smb share and point infuse to it. Usually its a windows server but using truenas atm.

Exactly, infuse plays anything thrown at it

what’s even a point of jellyfin/plex if you have access to a player like Infuse on apple devices or Nova on android


It's so awesome to be able to stream from my NAS at home my "documentary" of my last europe trip to someone in-person when I'm out at a gathering or whatever. Jellyfin + tailscale + whatever else you want to link up, is just awesome++

I still get occasional audio going out of sync, but it's usually solved by stopping and thinking the video.

Doesn't happen very often, but it's usually with older format video files.


Thinking = resuming.

Eeesh.


I ridiculously love Jellyfin. I have found that if my Jellyfin box is IPv6 and I map a domain to that address, such as free DNS from Cloudflare, then I can access my personal media from anywhere on the internet.

What I haven’t found is a way to restrict access to known devices, such as MAC address, so that big companies don’t sue me to death. Yes, I know Jellyfin has a login prompt, but I would prefer better security beyond Jellyfin as a just in case.


You could use TailScale or Zerotier, join all your devices to a private subnet, then use UFW on the Jellyfin server to deny all connections except those from your private subnet. Then all your devices in your Tailscale/Zerotier account can access one another from anywhere. Also works for shared folders in Windows, remote desktop, SSH, etc.. It's easy enough so that most enthusiasts can handle it without being 100% proficient in a Linux shell, VPNs, or firewalls. Should be lots of guides available with these ingredients.

Or you could just WireGuard to your jelling server direct

You should absolutely hand off the security to something else - just exposing this publicly is asking to get hacked.

I use Wireguard for my private online stuff, that works nicely. Expose Jellyfin only on the loopback address and use Nginx to forward your domain to it, then setup your DNS entry to be the VPN address of your server. Just be aware that if you have your own local DNS server then you might need to configure it to allow serving up DNS entries with private network addresses in them, as these are often blocked for security reasons; or else just modify your /etc/hosts equivalent to manually add the mapping.


Can you easily use your services on mobile devices that way? I currently reverse proxy every service I need through nginx, but I kinda feel like this isn't enough security-wise. I did blacklist most countries and don't expose any port other than 80+443.

Does it require you to run a VPN app on your phone constantly and does that cause troubles?


Yes you would need the Wireguard app on your phone, and certainly for me it works beautifully (I use Android - I can't speak for the iOS app but there is one). I don't actually remotely host Jellyfin, but I do use a range of other things like Bitwarden, Nextcloud, Dovecot/Postfix, and some small web apps, and it's really smooth. The only public port on the server is the VPN.

iOS etc have wireguard clients, but I personally have found it much easier to configure a long random path as part of the server URL and use that as a "password". (https://server.com/$randomPath/

It's not ideal, since the password's obviously saved in any user's browser history, but it's less of a pain than dealing with a VPN, especially since I let friends use the server, and it's secure enough for my threat model.


The trouble with that is that you still have to make 80/443 public, which means you have to trust that your web server will stand up to 24/7 probing. I guess I'm a bit more paranoid than I really need to be but if the port isn't open then the chances of a bad guy getting in that way because of a zero-day or because I forgot something should be zero.

Hopefully you at least have something like fail2ban installed?


If someone is going around popping up-to-date nginx servers, then they have much bigger targets than my media server, and I also have much bigger problems.

My threat model does not include someone using an nginx zero-day to find out what movies I'm watching.


You don't need to be targetted deliberately; there's a whole load of automated scanning that happens. If they get in then it's more likely they'll be interested in using your server to DDoS someone else, or serve up objectionable and/or illegal content. Protecting yourself is not just about your data.

I understand that, but my point is that an nginx config to just allow one path is easy to get right, and so for someone to get in, it wouldn't be automated scanning but rather a targeted attack with an nginx zero-day..... and if you have such an attack, there are a ton of banks and other companies you'd go after first.

If you don't have the confidence to open up port 443, that's fine of course, but I have the confidence in my abilities and setup to open up 443 and know that it's secure enough for my threat model.

Like, the nginx config is a single location block with a 30-character-plus random string in the path as the password, it's running on nixos with an automated `nix flake update` bot that updates and redeploys the server every week so nginx and linux get updated over time, I get an email if the `nixos-rebuild build` fails after the automated update so I know to fix it.

I'm not particular worried about automated scanners.


It's exactly the automated scanners that I'm scared of. But there I feel the same: an up to date nginx server, Serving some pages over port 80/443 doesn't feel like a huge target on my back.

I use Tailscale for this, it works great.

It's super simple to set up, you can do it in 15 minutes. Install Tailscale on your Jellyfin server and on your personal devices, create a tailnet and connect them to it. That's it, you're done. You can now access Jellyfin from any of the devices using the Tailscale IP or hostname of the Jellyfin server.


A lot of people are suggesting VPNs, or putting oauth or such in front of it.

Unfortunately, oauth doesn't work since the jellyfin clients (like the android tv client, iOS client, etc) don't understand oauth.

Using VPNs is annoying if you want to share it with a friend, or you want to use it on a random third-party device, like a TV in a hotel or something.

I think all Jellyfin clients all support appending a path to the URL, so adding a password in the form of a long random path works pretty well in my opinion, i.e.

    https://my-jellyfin-server.com/ahY9eig3/
And you can then just have the server return 404 or such to all other requests, you can send the link like normal to friends, and you can manually type it in if you need to.

That should be enough to avoid some random copyright scanner.


I've been using CF tunnels to expose my jellyfin instance, with github oauth in front to prevent brute forcing.

You can use a reverse proxy like Caddy or nginx to block, eg, non-local IPs, do subdomain routing, manage certs.

I setup a VPN with OpenVPN, I can access Jellyfin from anywhere provided I have a login and key.

You want a VPN (nost likely wireguard) with an exit point in your LAN. My router has that option.

you can whitelist incoming IPs on Jellyfin.

Jellyfin is pretty good, and I've been using it in place of Plex for the last few years. However, I feel like there are some underlying limitations that I just can't get past:

1. the UI jank. The thumbnail tiles are slow to load, even on a local network. Searches and filters flicker as you type and take a while to return. Scrolling fast in the web UI gets choppy/laggy.

2. The native app (at least in the case of Apple TV) is either nonexistent or terrible. I've been using Swiftfin since it was one of the first alpha versions, and it constantly lost pairing with my Jellyfin instance. When it did work, which was very cryptic and usually required re-enrolling the client every time, it would randomly fail to load things, and the UI was very choppy as well. I haven't used the native apps on other platforms, but I imagine they are equally or more janky, because the Apple TV is comparatively very beefy hardware-wise vs. most other platforms.

3. The polling for new media is slow. I upped it to 10 minutes (the quickest possible setting) but I shudder to think what a full scan of a media library every 10 minutes is doing to my disks. Why doesn't it use file watchers and webhooks for new content notification?

4. The homepage has very little actionable info and doesn't work for browsing. It's not like Netflix or any of the other services where you can boot it up and see a bunch of different categories, as well as your "list". It has playlists, but you have to drill down to see them. You can go to "Movies -> Suggestions" and it has a little bit, but nothing like Netflix does. No real recommendation engine.

5. You have to maintain your own trailers or use an app like Infuse that can download its own trailers.

6. You have to separately configure tiles to be rendered if you want a nice seeking experience where it shows a live preview as you scrub through the timeline.

7. Movies and TV Shows are separated even though pretty much every other platform doesn't separate them, which requires you to click into one of 2 options before you can do almost anything.

That said, it's still far better and less janky than Plex was before I switched, and Infuse actually plays back HDR / Dolby Vision content correctly.

Does anyone else have qualms with Jellyfin? And how does Plex compare to any of these gripes?


As a jellyfin fan myself, I'd like to address a couple of your points.

For 1, 2, 3(?), 4, you appear to be referring to the Apple TV client, which is written in an entirely different language and frameworks, and entirely different authors. (This is due to the excessive limitations on languages put in place by apple in their ecosystem).

Jellyfin has dozens of other platforms.

In regard to #3, Jellyfin does use file watchers.

For #5, there is a setting to grab trailers. Additionally, if the default metadata providers aren't getting you what you want, there is a baked in library of more than a dozen alternative metadata providers and a variety of other things you can use to augment what your media library provides.

For #6, I'm not sure if you're just referring to the Apple client again, but I'll add that the "Jellyscrub" feature is turned off by default, but if turned on, it will automatically generate video scrub images.

For #7, idk. I guess it's a stylistic choice? Why is there Sonarr and Radarr?

Anyway, I'm just a user, but, I'm also a Jelly-stan. So, I'd highly recommend you browse through the configuration options a bit more, particularly in regard to plugins and the many settings available in each of libraries' individual configurations.


It's not really fair to blame Apple for those dev's poor product, nor for Jellyfin's choice not to support an iOS client of their own. Plex has a fantastic iOS app, the Plex Music app is one of the prettiest music players ever produced. VLC has a fully-functional iOS app. Home Assistant's iOS client is indistinguishable from its Android client. The list of self-hosted apps that have great iOS companion apps is long and diverse.

This myth that Apple's ecosystem is so stifling isn't shared by the expansive developer community who work on Apple devices. It's far from perfect, to be sure, and they may overreach with some of their more stringent security and privacy controls (but none to my knowledge outright prevent apps like Jellyfin from being competitive). If Jellyfin wanted to release a high-quality app for Apple devices, there's nothing really stopping them.

I don't mean to suggest that your primary motivation for your opinions re: Jellyfin on iOS are the result of blind fanaticism, I'm certainly not saying any of this out of some tribal loyalty for Apple, either. The frequent partisanship surrounding Apple and Microsoft/Android has always been strange to me. Among the devices I use every day are a custom-built Windows 11 box, an M2 Mac Mini, an older PC running PopOS (Ubuntu-based), an iPad, and a Google Pixel. They're all tools, and they excel in their own areas. I like some things that aren't available to all platforms, and attempts to find reasonable alternatives don't always prevail. I like my Windows box for MS Flight Simulator, Remote Desktop Manager, and Visual Studio. I like my Mac Mini for Logic Pro, native Bash terminal, and DEVONthink. I like Linux for its infinite versatility and freedom. I like Android's customization, and Apple's unbeatable device/OS integrations and sync.


Apple TV doesn't support embedding a web browser (WKWebView/UIWebView), which means that the client app needs to be completely re-implemented. For a small team of volunteers this can be quite a challenging undertaking, and will take development time away from other apps.

It is in fact extremely limiting, since you must have a Macintosh to create a iOS app, meanwhile you can create Android apps on Windows / Macintosh / Linux

Thanks for the detailed reply, I’ll look through my configuration and see if I can find where the issues are with the file watching. You’re right, many of them are likely because I have to use Infuse, due to the native Apple TV client being so bad.

When I say there is UI jank and lag, what I mean is that content re-renders and shifts around when you search, results flash in and out with loading animations. the placeholder tiles are clearly visible and I can see the tiles loading in when I scroll. This happens in both the web client and Apple TV. I believe the issue is the API design that’s dictating how clients fetch and load data, some virtualization in the frontend implementation, and a lack of prefetching/caching.

I have a 10 gig network to a very fast NAS setup and a very small media library. the image assets should be able to be cached/streamed/prefetched from the server so that I do not ever see a placeholder tile (maybe if you jump ahead like 1/2 the library, then that makes sense).

Perhaps this is one of those things where people haven’t seen what’s really possible performance-wise from a local server and they’re OK with something that feels like a webpage. But nothing feels like a native app that just has all my content there all the time. It feels like a remote service even though it’s < 1 ms away on a hardwired multigig network. Does that make sense? Do you agree with that?


About 6, jellyfin also landed trick play images recently, which gives you a preview image when hovering the progress bar.

I have a very different experience from most of your issues, to the point where I think something is wrong with your install.

I can scroll through a page of >1000 movie cards and there's no choppiness or lag at all in the webUI. The cards have blurhash placeholders until the actual thumbnail loads, which is always very quick.

Swiftfin for the Apple TV is admittedly very barebones and can be choppy when scrolling through big lists, but it has never lost pairing or failed to load anything for me.

New media shows up pretty much immediately for me. Did you disable the "real time monitoring" setting in your libraries? Jellyfin will use something like ionotify or whatever your platform/fs supports when it's enabled.

"separately configure tiles to be rendered" is one checkbox, assuming you're talking about trickplay images, which was a recently added feature and I think is enabled by default for new installs.


Having placeholders is part of what I’m talking about when I say lag, and jank is about dropping frames so that things do not appear smoothly animated. Not everyone is as sensitive to jank or they’re ok with it, but if you use something that lacks jank in the animations it feels better even if you don’t know what jank is.

The media detection thing might be related to Infuse and not to Jellyfin itself, since it sounds like everyone else isn’t having this issue, which is good to know.


What sort of hardware are you using to do transcoding of the content on the source box? You could try adjusting the quality (or type) of the transcoding to potentially improve this. Like, perhaps you are trying to transcode into a format for which your video card doesn't have built-in encoding? (Like, nvenc units on an nvidia chip, if that's what you have.)

You could also try setting up directplay, if your stack supports that.

Lastly, it might just be a limitation of your host hardware. What are you running your jellyfin server on?


I’m talking about the UI of the media browser part, not the video playback. I’m direct playing and the video is perfect.

Swiftfin constantly forgets my login on AppleTV too, but then again so do a few other apps, so I blame Apple

Re:

2. https://github.com/jellyfin/Swiftfin/issues/776

3. If you use radarr/sonarr, you can add Jellyfin as a connection. When they import a file, they will notify Jellyfin to process it.


Whoaaa I was not aware of #3! Amazing, thanks. Got a few friends to share that information with as well :)

Plex has a lot more polish. However, Plex also tries to shove stuff down your throat. If you want to share your meeting with friends, you need to have a Kodi pass or some bollocks. Jellyfin is 100% free. Certainly it is not as polished though, but I managed to use it with my friend who are not very technically literate, and it works very well for them. Every release improve the polish a little!

Edit: New media shows up for me pretty much straight away without having to do anything. Not sure what's happening there for you.


> However, Plex also tries to shove stuff down your throat

Unpinning the trash every few months gets tedious. It turns out, I want the stuff I pinned, not anything else.


I use Infuse as a front-end to Jellyfin on Apple TV - and don't even have to pay for it as I encode something it doesn't care to charge for.

My server running Jellyfin has something setup with the kernel that it notices new files almost instantly.


You are not wrong. But it is still an amazing piece of software for self hosting.

My biggest gripe is the sometimes hilariously strange behavior picking artwork:

https://github.com/jellyfin/jellyfin/issues/10494

Other weird things I have been able to DIY. I wrote my own auto-updater and Live TV listing grabber.


For live tv listings, there are companion apps like Ersatztv and Tunarr (easier to use than Ersatztv but less features) which feed into the live tv section in Jellyfin. You create 24/7 “tv stations” running whichever collection of local media files you wish to have in a “channel”. It’s great if you plop down and can’t decide what to watch, or want to replicate the look and feel of childhood cartsoon, right down to inserting 90s ads in between episodes.

You can use Ersatztv to create an automatically updated playlist, based on a Trakt or IMDB list. Back in the day, there was/is a a cool addon for Kodi called “PseudoLiveTV” and these apps replicate this functionality.

So you can have an always updated Christopher Nolan collection, Halloween movies, westerns, 24/7 90s cartoons, BBC nature documentaries or whatever.

You can pull any imaginable tv or movie list from Kometa using Ersatztv:

https://kometa.wiki/

See here for one idea: https://youtu.be/Ibaj6NiS8xM?si=eiPhTzZuwGAwa8Id


It's a sign of the times when someone misunderstands what "Live TV" means. lol

So I am literally streaming ATSC channels from my roof antenna with JellyFin. I didn't feel like paying a subscription fee (and anyways - no paid service has exactly the right XMLTV format JellyFin expects), so I wrote a scheduled task which scrapes the listings and ingests them with the REST API.


I didn’t misunderstand what you meant. I just meant you can “hack” the live TV feature of Jellyfin, and use it to create a “live” tv experience from local media.

Agree on the DIY too! Added a _fresh_ trailer before a movie and it makes the experience close to cinema

Hm, that sounds vastly jankier than Plex per your description. I have never had to wait for any UI element to load in plex, local or remote, including thumbnails. Everything is almost always instantaneous. I've tried the demo instance of Jellyfin a few times to see if it has improved and my impression was that it's a complete joke, not a serious plex alternative.

I have the opposite experience. I tried to setup Plex a few times but always ran into issues with getting ads, having to make a Plex account, and dealing with free/paid features. I just couldn't get it to work without ads and all the hassle. Instead I installed Jellyfin on a NUC running Docker, downloaded the app from the play store onto my TV, and it just works, no delays, no lag.

I have Jellyfin on my local network and it works like a dream. I used to use Plex and, at least for my needs, one was a straightforward replacement for the other. The web UI is clean and snappy and just works.

Have you tried Infuse as the playback app on AppleTV?

It’s one of the few apps I’m happy to pay the subscription cost for. Well worth it for a well made AP.

Not trying to make this sound like an ad. It’s just a legit good app.


I use it too and also pay the subscription. Though I only connect to a local synology SMB share with it. Am I missing out by not running jellyfin and hooking up Infuse to that?

Infuse is generally really good, but I wish it had a way to expose slightly more power user features such as: viewing detailed file info (codecs, resolutions, audio-video bitrates, stream info for all streams), ways to create arbitrary dynamic playlists/folders based on conditions, and viewing current stream debug info (MB/s, cache fill, ram usage, disk usage etc). Any debug info would be helpful when some files seem to kinda work but then crash Infuse. For example some 4k/6k/8k ProRes content at around 800Mb/s. Network/NAS isn’t the issue as it’s hardwired 1Gb/s. So then I don’t even know if some specific variation of ProRes (or every) is just unsupported on the appleTV and it goes into software decoding, or whether the AppleTV is oom-ing, or what exactly is wrong.


I have to agree on #7: it's pretty annoying, especially for series where there's both TV shows and movies related to them. For instance, The X-Files: there's 11 seasons of shows, but also 2 movies. A better example is Star Trek, with a bunch of different TV series, plus a bunch of various movies related to the different series.

You can put these into "collections", but it'd be nice if my library could just have a "Star_Trek" directory and then subdirectories with all those things inside, and have it automatically sorted out by JF.


Side question, something I've sometimes wondered - why do people want trailers? I only have things in my collection that I chose to put there, so I already know what they are. Not trying to be snarky, I'm honestly curious.

People making use of autodownloaders or just with very large collections generally aren't going to know everything that's in their library. It's also just easier when you're trying to decide what to watch with a group.

The Apple TV / tvOS app is seeing development towards a new release, this discussion is actively updated with the progress https://github.com/jellyfin/Swiftfin/discussions/1294

Worst case you may have to pay for Infuse another year, although it would have felt better to donate to the development of the Apple TV app instead


Echoing many of the other replies here - my experience has been very different (much better).

The web UI is fine and snappy and using Infuse on Apple TV is simply delightful.

The server uses file watchers to update the media library very quickly and is light on resources.

I don't need a recommendation engine because... it's my media library, presumably I added things to it that I want to watch.

And most importantly, it's open source and not likely to get enshittified in the near future like Plex.


I love Jellyfin. I have been using it with Tailscale, MakeMKV, Handbrake, Filebot and some other little utilities:

I have also built two things on top:

A super simple PWA for my kids to use: https://github.com/philips/jellykids?tab=readme-ov-file#jell...

A NFC card based player for my kids to use: https://github.com/philips/homeassistant-nfc-chromecast

It is so nice to just have my content on an API driven thing where I can control the UX my kids experience without a bunch of hassle.


I remember reading about that card based player a while back - an absolutely wonderful idea! I love it!

TY jellyfin maintainers. Been a happy user for years

Me too! Super easy to use and run. Has a ton of features and feels polished

Jellyfin feels like its almost to where Plex was 5 years ago. They are catching up fairly quickly and I think I wouldn't bother with a Plex pass if I was coming in completely fresh.

But it is not as good as Plex currently. I have a lifetime pass and there is no reason for me to switch. I personally am fine with Plex adding features, so long as they are not taking anything away. They've had a couple missteps but absolutely nothing that would make me want to switch to an experience that is definitely worse.

I'll give Jellyfin 3 years and then reevaluate and see how I feel.


Plex uses cloud-based authentication, which means Plex Inc. is holding the keys to your library. I switched to JellyFin because I was not comfortable with that arrangement.

What meaningful keys do they hold to my library if everything is sitting on my hard drive waiting to be switched over the moment something better comes along or Plex makes themselves worse?

As far as I'm aware Plex media server still has the option to whitelist subnets for auth bypass. I don't know if there is an option to do purely local authentication, but I don't believe it's accurate that the company is holding the keys to your library.

>holding the keys to your library

but it's still on my hard drive. if i can't log in to plex for some reason, i'll install jellyfin. or mount it as a network drive and play the files with VLC. it's not like they're locking away my content behind their authentication, all they're locking away behind that auth is my ability to access my media through plex.


Are they not also injecting ad-supported streaming content into your library by default? Yes, there is an option to disable this, but it is the default and needs to be disabled at the user level (afaik).

This is introducing a distraction to the point and is entirely unrelated to the point being made. Voice this complaint as a top level discussion if you actually want it to be discussed.

no?

This is all too often an invalid criticism.

https://www.howtogeek.com/303282/how-to-use-plex-media-serve...

It's a mere setting not to have to use cloud authentication within your home network.


Or even on the internetz if you wish

I said it elsewhere, but this was the turning point for me as well.

Anyone care to share their experiences with some of the less common Jellyfin frontends? Which ones are most in need of contributions?

I've had a decent experience with the Samsung TV (Tizen) client. It's annoying to not have it on the app store yet and to jump through the developer-mode hoops to get it installed, but to be fair it was a one time setup and I've been happy with it since then. Seen some occasional slightly janky menu navigation, but really it's been far better than I expected.


If you install the DLNA plugin for Jellyfin, you can cast to Samsung TVs. Just use your phone for the UI.

Too bad it works only as native package. Or at least for me I was unable to work with DLNA reliably for around 2-3 years. It was working then it was gradually doing worse and worse till completely stopped. But I am using custom Linux box for my audio setup now so I can just open browser and then control it directly via my phone app. Could be worse :)

Jellyfin's strategy for streaming blu-ray disc folders is to use ffmpeg to concatenate (and usually transcode) them to disc, then stream the result.

It doesn't work very well - frequently, the concatenation process is sitting there running long after the client has disconnected. And the devs seem to break it entirely every second release or so, just failing to recognize the BDMV as a playable movie at all.


Please don’t take this as criticism of your setup, but why are you trying to stream Blu-ray Disc folders at all? Why not transcode the files?

Firsly, I have multiple tens of terabytes of movies (painful to duplicate), and I watch them with their original menus in Kodi.

Secondly, a BDMV can't be turned into a single correct linear representation - for example, the Star Trek TOS discs have the ability to toggle back and forth between original and CG-remastered graphics seamlessly. As another example, I have stereoscopic 3D blu-rays; should the transcode be the left eye view, or side-by-side 3D with an ultrawide file?

Finally, transcoding necessarily sacrifices quality. Remuxing wouldn't, but Jellyfin usually refuses to stream remuxed containers and insists on transcoding to attach subtitles (their javascript web player and even app don't seem to handle the subs correctly?).

To sum up, turning a disc folder into a single file requires losing content.


This is an interesting take, thanks for describing it. I think most people, myself included, would find your setup a little odd, but I completely understand why you're doing it. It would make many (most?) home media servers a little hobbled, especially if you wanted to stream content to mobile devices outside of the home, but it sounds as if this is more of a replacement for the old pile of set-top boxes for you, rather than a general service to all your devices, is that a fair interpretation?

Yes, what I've got is like a streaming service, but at much higher quality and with a selection that doesn't rotate out as rights lapse.

The stuff that Jellyfin would provide - being able to watch from a device using just a web browser and no client install - is nice-to-have, not need-to-have.


The "Jellyfin for Kodi" plugin (not Jellycon!) supports a "native path" streaming mode that just directly passes the raw video file to Kodi, avoiding Jellyfin's transcoding entirely. I've never used it with BDMV's, but it does work with other formats Jellyfin can't transcode properly like Dolby Vision.

Also, if you do ever want to remux those discs, mkv does support both those features now (player support is lacking though). You'll want to look for "3D MVC" support, and including 2 video tracks in one mkv is no problem.


The reason I'd use Jellyfin is to stream things to a non-Kodi client (a web browser). If I have a Kodi client, I would just read the files as-is.

I don't believe that mkv supports bd-j menus. Happy to be proven wrong on that if you have some further reading I could do.


I know this isn't a solution for everyone, but I just stopped downloading blu-ray altogether. I don't need a bit more quality for 3x the storage size and way more gpu churning.

I'm glad they're at least trying to support disc folders, though. Plex just doesn't.

I believe the big selling-point for Plex is that it can stream content to every single device you own no matter where you are, which requires on-the-fly transcoding. It's my understanding that the performance requirements for realtime transcoding necessitates something like an MKV or MP4 file, although I'm happy to be proven wrong by someone with more direct knowledge of the process.

The blu-rays contains m2ts files, which have the same video data in them as an mp4 container would (h264, usually, vc-1 sometimes).

Remuxing them can be done a NUC-class CPU. Transcoding them requires hardware support to do in real time with today's hardware, but the hardware support is quite light - an AMD iGPU can chew through a 4K BDMV no problem, so long as the codecs on both the input and output side are supported for acceleration.

Jellyfin tries to prefer Intel Quicksync for some reason but it works with other GPU accel too. The problem isn't the performance envelope, it's how poorly the code is implemented on the Jellyfin side: it's not reliable at starting and managing the concat process, and it forces a transcode to embed subtitles for no logical reason I can see.


Fun fact: Jellyfin runs natively on Windows. Combined with something like Cloudflare Tunnel it's probably the easiest way to host a media server without needing to be a Linux admin.

Cloudflare Tunnel only works if you access it via a web browser right?

I'd prefer using Tailscale so that I can also access it in their native apps on Android and Android TV.


Cloudflare Tunnel can be authenticated via other means like JWT, but that is definitely a non-starter since the apps don't support it. Tailscale would definitely be better.

I'm not sure why it wouldn't work with the apps? I have my jellyfin server behind a CF tunnel and I can access it in the Android app by my domain.

Oh I see. I confused Cloudflare Tunnel with Cloudflare Access.

Yes Cloudflare Tunnel can work with Jellyfin apps, but: 1) this exposed your Jellyfin to the world, and you are one vulnerable away to get owned, and 2) like other sibling posts mentioned, this is against their ToS to host streaming service on free plan on their platform.


I haven't tried it with Cloudflare specifically, but I believe you should be able to just put the domain name in as the server address in the mobile and TV apps.

I though Cloudflare forbade streaming via their network? Did their ToS change?

I was actually surprised to see how much .NET stuff it pulled in on the Linux install. Nothing wrong with that, just hadn't seen it before.

My media center is a laptop with a broken screen, running Arch Linux and Kodi. Kodi has a web interface that you can stream to. Why might I want to add Jellyfin?

Because you can give your friends a login, they can log in from anywhere, and watch your content. Same for you. You can log in from anywhere and do that. Kodi is more of a local thing, I find the two compliment each other very well. There are native apps for jellyfin as well. Loaded up and hit play. I guess you can probably do this with Kodi but it hasn't been designed from the ground up for this use case.

And when they login you can watch content together in sync too. I use that feature a lot to remotely watch movies with mates.

The most useful part of Jellyfin is on-the fly transcoding to whatever bit rate I want at any particular time, no matter where I might be. I've watched stuff off my server on a train with terrible connectivity by setting it to 360p. If you only watch at home, then it's probably not that useful to you. I also like all the library features and tracking my per episode watch history for shows.

Same here. I never could figure out why I'd want to use anything else. Plex, Jellyfin, Emby, whatever. Nothing beats the simplicity of a couple of terrabytes on a local drive, or if you want to get fancy, a NFS share.

Honestly, Kodi is even a little more heavyweight than I need, but I've been using it since long before the XBMC->Kodi name change and have been happy with it.


Thats a good idea for a damaged laptop, I often see those for sale for nothing

Yeah for quite a while I was using an old ThinkPad as a Valheim server lol, maybe not the most power-efficient, but not that bad either!

I've been happily using Jellyfin since it forked from Emby a few years ago, and whilst initially it was a bit lumpy (but so was Emby) it's been almost maintenance free for the past three-odd years.

I use it in a docker container, if that makes any difference, and my use case is almost identical to loughnane's mentioned up-thread.


I recently found out Jellyfin supports livestreams so I've been using it to "cast" my screen to the TV (simplescreenrecorder -> nginx's rtmp server -> jellyfin webpage). Theres a few seconds of latency I can't get rid of but ime more reliable than chromecast / the built-in device discovery.

I believe you could also use VLC (via DLNA I suppose), since VLC has a direct chromecast integration in the desktop app.

Well this is very timely and relevant. I usually access jellyfin on my network devices like `http://homecloud:8096` but now that I have been exploring adding other services, remembering the ports is getting tedious. I also am trying to be forward thinking about external access in the future.

Looks like I could use some combination of Caddy, Nginx Proxy Manager, Tailscale? What's the simplest setup?


I just got mine working a few months ago on FreeBSD using cloudflared. I paid for a cloudflare DNS and run cloudflared (in a jail, which is optional). Here is a redacted example of my tunnel.yml file (should work similarly on other OS's)

# cat /root/.cloudflared/fbsd0_tunnel.yml

    tunnel: <redacted UUID>

    credentials-file: /root/.cloudflared/<different UUID>.json

    ingress:

  # Example of an HTTP request over a Unix socket:

  - hostname: <redacted full cloudflare URL, no port appended>

    service: http://localhost:8096 #this is where jellyfin would normally run

  # Example of a rule responding to traffic with an HTTP status:

  - service: http_status:404

Aren't you afraid to get banned from Cloudflare for using their DNS for streaming media?

There was a debate here in the comments a few months ago about whether it's actually forbidden by their ToS. Lots of people said they don't care if you use it for personal streaming and aren't pumping a hundred gigs per day.

I use traefik to proxy to containers, pihole to provide dns for "*.mydomain.com", and tailscale to avoid opening ports

The end result is a valid HTTPS experience inside the network and outside (as long as tailscale is active on whatever device I'm using). And if I decide to ditch tailscale it's just a matter of mapping ports 80 and 443.

https://github.com/mikew/homelab/tree/public/services/revers...

https://github.com/mikew/homelab/tree/public/services/dns

https://github.com/mikew/homelab/tree/public/services/tailsc...


I’ve been using caddy, very easy to set up reverse proxies, and it generates a local root CA you can install on your machines at home so you get SSL for free. Nothing you couldn’t also rig with nginx, I just enjoyed the simplicity

I’ve got pihole running so that’s my home dns server, I have custom domains with a home-only TLD (I think “.internal” is cleared for use now?). So something like https://plex.homecloud.internal can load up plex, I can only assume jellyfin could do the same.

I’ve actually been using ZeroTier instead of tailscale for external access and I’ve been very happy with it, but I know lots of people love tailscale and I’m sure it’s great too


Traefik has that same auto ssl with LE that caddy does. That's what originally drew me to caddy - which I still use for stuff - but I just recently started working on something configured for Traefik out of the box and discovered it was pretty much the same experience. Just FYI.

I think they are may be simpler solutions but there is SWAG https://github.com/linuxserver/docker-swag that have built in config for proxying Jellyfin. It have all the necessary settings for proxy and built-in Letsencrypt client so you do not have configure it yourself. I have a script written that do `docker compose down && docker compose pull && docker compose up -d` that runs every now and then so it keeps itself up to date (SWAG, Jellyfin and others).

Again there are probably easier options to get it running but in my case most of it runs on docker so (in theory since I had no major outages just a few times I migrated hardware) moving/restoring from backup is relatively easy - copy all the files and run `docker compose` in each directory.


The simplest setup is to run jellyfin and tailscale in docker with docker compose utilizing tailscale serve. You will get automatic https and a simple reverse proxy with tailscale serve.

The Kuma example here is decent. Replace kuma image and ports with jellyfin. https://www.elliotblackburn.com/how-to-use-tailscale-serve-w...


If you run a DNS server on your Tailscale or use their Magic DNS you can navigate to http://jellyfin and it'll load.

Personally I don't muck about with any of that and just have a link in my bookmarks bar that takes me to http://<tailscaleip>:port :D


DNS still needs to specify ports though?

I expose my jellyfin to 80 via nginx. Other services stay not exposed, and only available on my local network. I don't bother with tailscale.

im running a pihole so i take advantage of lighttpd that it uses, with the mod_proxy configuration. i can then do something like the following to have a friendly url on my local network

$HTTP["host"] == "jellyfin.dc" { proxy.server = ( "" => ( ( "host" => "192.168.1.99", "port" => "8096" ) ) ) }


I'm able to do it with just Nginx — jellyfin supports being proxied behind a subpath, but some other services might not.

I've been using nginx for more than a decade now, before that I used lighttpd. Both work well for the purpose of reverse proxying services like Jellyfin. I do not use Caddy because I prefer to keep certificate management centralised in its own (Proxmox-managed) container. I have about 50 services running in Proxmox-managed containers (some containers run more than a single service, others are service-specific) proxied through a single nginx instance, the setup is reliable and performs well. Since nginx is widely used there is usually a config file available which can be used to base your own installation on. Here's what it looks like in my case:

    # kijkbuis.example.org

    server {
        listen 80;
        listen [::]:80;
        server_name kijkbuis.example.org;

            include /etc/nginx/snippets/enforcehttps.conf;
        }

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name kijkbuis.example.org;

        ssl_certificate /etc/letsencrypt/live/kijkbuis.example.org/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/kijkbuis.example.org/privkey.pem;

        set $jellyfin 192.168.1.51;
        resolver 192.168.1.1 valid=30;

        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";

        # the google-related domains are there to enable chromecast support
        add_header Content-Security-Policy "default-src https: data: blob: http://image.tmdb.org; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js https://www.gstatic.com/eureka/clank/108/cast_sender.js https://www.gstatic.com/eureka/clank/107/cast_sender.js https://www.gstatic.com/eureka/clank/cast_sender.js https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'";

        location = / {
                return 302 https://$host/web/;
        }

        location / {
                # Proxy main Jellyfin traffic
                proxy_pass http://$jellyfin:8096;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Protocol $scheme;
                proxy_set_header X-Forwarded-Host $http_host;

                # Disable buffering when the nginx proxy gets very resource heavy upon streaming
                proxy_buffering off;
        }

        # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
        location = /web/ {
                # Proxy main Jellyfin traffic
                proxy_pass http://$jellyfin:8096/web/index.html;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Protocol $scheme;
                proxy_set_header X-Forwarded-Host $http_host;
        }

        location /socket {
                # Proxy Jellyfin Websockets traffic
                proxy_pass http://$jellyfin:8096;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Protocol $scheme;
                proxy_set_header X-Forwarded-Host $http_host;
        }
    }

I like traefik

I like jellyfin

but it still lacked some of the features that made me stick to plex (over VLC)

It'll become better over time, and probably much better than plex. plex dont do many new features, and there's still a ton of issues with it (like... audio is at like -50 dB and you cant hear shit)


Shoutout to streamyfin, a jellyfin iOS/Android client which adds a key missing feature (vs plex): the ability to download transcoded media.

News to me, thanks! Looks great.

Jellyfin is awesome. I started to set up Plex server, then realized I have to have an account on some centralized service to access my own server?? Instant no-go, for me. Using Kodi as a client, almost problem-free. Super cool!

I wish it only transcoded things on explicit request, not based on its opinion. The LG TV profile it ships with is incorrect, and it's not at all clear how to stop it transcoding.

Probably by choosing Transcoding: Direct Play in the admin account settings options for the Server.

https://jellyfin.org/docs/general/server/transcoding/

I recently setup Jellyfin pretty thoroughly on a small form media centre with 4 x 2TB SSD drives for the media and went through all of this for direct to TV, via client to iPhones and to an XBox etc.

I passed that on three weeks back to a son for his household so I don't have local server to log into anymore and double check (the documentation online tends bear an approximate resemblance to current versions).

This might also shed some light : https://forum.jellyfin.org/t-purpose-of-force-transcode-in-u...

as it talks about the manual editing of the preference | option files for servers and users.


Your first link is a not a list of settings, it's an explanation.

You can disable transcoding for a specific device (or user). However, it just means that the client will not show some videos, even though it can play them in reality.

This is determined by the device profile shipped with the DLNA plugin (!). You used to be able to replace that, but that broke for me with the recent changes wrt DLNA.

I don’t even mind transcoding, except that it also maps hdr to sdr, which is just awful.

So I now use jellyfin on computers and mobile, and a minidlna setup on my main tv. That's ridiculous, but seems like the only way to make it work within the hour or two I had for that.


> Your first link is a not a list of settings, it's an explanation.

The Jellyfin documentation is poor and lags. I would screen shot what I worked out for myself but that ship's sailed and moved on. I did have to tweak some profiles but ultimately I got all media playing on pass through with no transcoding so it is doable.

My apologies for not being in a position to cough up details, that was my second pass through Jellyfin, I now like it much better than I did the first time through. If I set up a third instance for someone else I'll take to the time make notes and maybe feed them back into the community docs (if they're relatively easy to update).


Would be very kind of you.

But do note — I had this working until DLNA support was removed from core in 10.9.0, which released in May last year. Maybe your experience predates that?

I should probably just downgrade.


The biggest thing that keeps me away from Plex alternatives is the simplicity ("it works everywhere on everything") and the experience ("it looks nice and feels polished").

There was a point where I could overlook some of these things but watching media is something that I want to feel slick and personal, and troubleshooting really kills that for me.

Plex + AppleTV for me and my folks has been a rock solid setup for us.

I really appreciate alternatives (especially OSS) like Jellyfin though and take a gander at them ~once a year.


I’ve been using this for years, it’s almost perfect but there are a few little issues here in there. My TV automatically updated the jellfin client which no longer could connect to my server that was frustrating. Another update stopped supporting many of the plug-ins I enjoyed using. I have issues with thumbnails not loading and not knowing how buffering works. I find it difficult to troubleshoot issues. 99% of the time it is perfect and I love it.

I’ve tried a few times to use software like this but nothing for me competes with the simplicity of a shared file folder and VLC.

Jellyfin's "management" of my media catalog strongly drove me away from Jellyfin. It was terrible at dealing with seasons of shows, with dealing with subdirectories. So much frustration.

Casting from my phone also got de-synced & broke a lot. I couldn't find a good way to skip/scrub forwards or backwards a little bit. Sometimes the themeing would break & the app became unusable without restart.

It was really really cool having jellyfin-mpv-shim running on my desktop, and Chromecast elsewhere. But Jellyfin was straight up not working for me, not listing a bunch of my media, not making it navigable, and the Android app's dodginess all ruined things for me. I went back to UPnP/DLNA, whose apps are a little cruder (Gerbera for MediaServer, BubbleUPnP for control, Rygel PlayBin for MediaRenderer), everything basically just works and it's baked into many devices/tv's.


I tried Kodi a bunch of times. Nobody else in my house would/could use it. Half the time I’d end up stuck in some weird modal menu I couldn’t get out of, so I can hardly blame them. Its ui is really weird.

Jellyfin fixed that. Other people in my house use it easily, a friend uses the web ui over Tailscale, and my messing-with-tech versus watching-things ratio is finally looking good.


Something like Plex/Jellyfin will make it simpler to share your library to your friends or family (over e.g. Tailscale).

The whole *arr thing makes it even better with automated download and upgrade.


For my personal watching? Almost agreed. Jellyfin does make it a little more interaction free to watch on multiple devices and to binge watch without interruptions an entire series.

But I can live without that.

The one thing it offers that folders do not is a simple way to interact with the video library when guests are using it.

They can grab a mouse and meander over the available shows with no explanation and watch what they want within minutes of being shown the link without exposing my nas to them or giving them the ability to alter my media files without my knowledge.


I can run this via Kodi's jellyfin plugin, via OSMC on a raspberry pi, on my living room TV. It automatically uses my tv remote, and says in big letters "TV Shows" and "Movies". Anyone at my house can use it, with ease, even the absolute least technical.

I tried jellyfin after my most recent nas upgrade (pi5 w/ external drives). It seemed _really_ nice, but it also worked extremely badly for my specific use case. It seems to want a specific folder structure for all of your media, and its layout conflicted badly with my existing conventions. My partner has our media collection obsessively organized by country, then by genre. Jellyfin made some kind of attempt at categorizing this, and just ended up showing us tons of previews for things we did NOT have (eg, our British folder was interpreted as us having The Great British Baking Show, which we do NOT have). It seems like every media solution wants to ignore your folder structure and present some fake hierarchy, which really doesn't work at all for me.

We ended up buying an apple tv and installing the vlc app which connects via smb and is happy to show us the original folder structure.


Have they made watching OTA broadcasts, with EPG and DVR work as well as Plex? It's what keeps me on Plex.

I use Silicon Dusts HD home run and it works great. Live TV from home while I'm travelling is one of my primary use cases. I subscribe to a TV listing service. The DVR function is good too. My biggest issue was that I had to get a graphics card that could transcode on the fly then TV worked perfectly.

I have the same setup and TV works well but changing channel takes a few seconds. Not been able to work out why.

I have an Nvidia card which is more than capable of transcoding. How long does yours take to switch?


So not on Jellyfin, right?

With the Plex Pass, it was a one time fee (Lifetime Membership), and I've been enjoying it since (6+ years). I use CPU for transcoding.

Well, to be frank, even Plex's DVR could be better (e.g. I tell it to record a certain TV show, but I can't tell it not to record certain episodes, etc). I imagine other services do better on that count.

But my memory was that Jellyfin was terrible at it.


I really want to switch to Jellyfin. Plex has gone off the deep end with all their user hostile garbage.

But Jellyfin is just not good. The clients are all afterthoughts and audio pass-through fails to work on every device I’ve tried it on. 4K HDR studders like mad, when the same video plays perfectly via Plex (no transcoding)

I’m convinced that the people who “love Jellyfin” watch it using their phone or laptop. Where sdr and stereo audio is all they’ve ever known.

I’m rooting for Jellyfin, but they have a long way to go. I wish they’d focus on a unified client experience and stop adding junk to the media server.


I've been impressed at the performance of the live re-encoding, but at the same time annoyed that it happens rather than streaming the original media (I think it always transcodes?). The upside is that it will play anything on anything.

My main gripe is with how hard it is to actually get it to find the files - you can't just feed it a folder full of media and expect it to play it, it needs to be some carefully crafted structure that I haven't yet fully figured out. So instead of dropping a file then watching it on the TV, I drop it, try to watch it, then have to go back to the PC to fiddle.


It does not always transcode. It transcodes if your client reports it doesn't support the format or if the bitrate cap on your client is lower than the source media. It says why transcoding is happening in the Administration Dashboard for any currently playing media.

Pretty sure there is direct play? Believe the client has it enabled by default

To anyone considering using Jellyfin - it simply does not work properly for large libraries (1000+ movies/shows) in my experience.

I use Jellyfin for my 32TB media library of 1600 movies, 70 TV shows (5500 episodes), 500 music albums, and 10,000 books. It works perfectly fine with no issues or slowdowns.

I’ve got 90tb of Linux isos consisting of tens of thousands of files on 168tb of spinning rust. I’m running reasonably powerful hardware though (5600x + 128gb ram), suspect GP is bottlenecked by hardware

Agreed, have several tb of TV, movies and anime and no issues with sync or scroll.

Most of my issues are with the Auth system and random log outs, but I suspect that's my own network.


Yeah, my collection isn't that big, but my friend's Jellyfin which I use all the time has 4000+ movies and 400+ shows (11,000+ episodes). Works just as well as my significantly smaller collection.

What about it isn't working well for you?

I have ~2000 movies (21TB), 435 shows (22TB), ~26000 songs (1TB); all running on an Intel 4770k w/ 32GB of RAM, a SATA SSD for the Jellyfin database, and a Tesla P4 for transcoding. It works well now and even worked decently before switching to the Tesla P4 for transcoding.


It’s great. A stock Nvidia shield 2019 tube (!) plays 4K HDR/DV DTS content without stutter or issues with passthrough an AVR which is impressive. I can't say Kodi and various forks were able to do that, at least in the past. Lots of griping about the tube in general as well but it manages without transcoding.

Funny how people nitpick. At the end of the day, jellyfin is free to use, ad free, has more config options than we need, and it does an outstanding job. I switched from Kodi, Plex, then Emby years ago. No reason to look back.

How do you usually go about acquiring the media? I know there are people that simply download movies via torrent, but what are the legal ways of buying video files of TV shows or movies, specially the more recent ones?

You’re limited to buying Blu rays and ripping to digital. Technically, that might not even be legal in the US because the digital millenium copyright act (DMCA) forbids circumventing DRM.

https://www.dmlp.org/legal-guide/circumventing-copyright-con...

> In the end, I'm mystified it's still so hard to buy older movies so I can watch them on my networked devices. You'd think Hollywood would've learned from the music industry that if you just let people legally pay for non-DRM media, and make the process easy and convenient (certainly more convenient than sailing the seven seas or ripping discs), people will pay.

https://www.jeffgeerling.com/blog/2022/how-i-rip-dvds-and-bl...


Anyone looking for an easy public spin-up of JF, et al, this is super easy to set up and works a treat

https://github.com/EdyTheCow/docker-media-center


I use Jellyfin and it just works but had problems with the client on iOS. Vidhub is a reliable client solution I've found, it's pretty inexpensive. Maybe the Jellyfin client is fine I didn't spend a lot of time with it.

I've tried everything but ended up using the VLC app on my Apple TV and just accessing my NAS through Samba. Not as sophisticated (library management) as Jellyfin or Plex but performance wise it's probably the best one.

At least on the android client you can have jellyfin play the selected media in VLC (or other external player). Couples most of the library features with the playback performance of VLC.

Somethings like playback resume don't work but for me it's a nice middle ground.


I'm deep into the Emby ecosystem now (have it hooked up to a dedicated server with transcode + a premium subscription) but Jellyfin's syncplay feature looks absolutely wicked. I may need to transition at some point.

I don't know anything about jellyfin. My LAN media server is sshfs.

But I'm AMAZED to see the phrase "Free Software" in an HN link description.

Thank You jellyfin.org!!!


How many music files can it handle? I’ve got a very large collection of mp3s and flac and many of the similar programs I have tried have choked trying to handle the size of the collection.

My main gripe with handling music on jellyfin is that it expects your music to be stored in a certain folder structure[1] meaning it uses a kinda weird mix of metadata and folder structure to scan. This seems to be foundational so this probably won't get fixed in the near future (not because they like it this way, but because it's a lot of effort).

Not sure if you need some effort to "convert" your library to this structure.

[1] https://jellyfin.org/docs/general/server/media/music/#discs


At least 8,000 (that's just what I can see mounted under Jellyfin here locally).

Probably supports many more, for the collection here the thumbnail browsing, presentation, metadata display etc. isn't bad (MusicBee does it better) but as a media support under the Jellyfin umbrella component it's not the worst.

It's weak on support of FullAlbum.flac with TrackIndex.Cue arrangements though.

MusicBee present those as individual tracks with jump to track and shuffle options whereas Jellyfin (as of today) has them a single blob of audio start to finish.

Cue support is on the issues list (although issue support has a slow turnover thanks to the small time).

Any bored audio format programmers looking for open source support credits??


I've got a ~80k library and it seems to handle it ok. Scanning isn't very fast, but it does pull up a lot of cover art and artist profile pictures, so that may be why. It doesn't seem to respond at all to changing tags for files it has already scanned, so far the only solution was removing the library entirely and re-adding it which is tedious.

It supports drilling down by Album Artists which is a minimum requirement for nay big and diverse music library. Genres seem to work fine, you can select one and it will at least list all albums under that, but no option to change the grouping to artists or something else exists.

The web interface does ok at first when loading a big playlist. For example, trying to play my OC-Remix collection which is essentially an album composed of ~4k songs works for the first few songs and moving around the playlists is somewhat smooth, but picking a song at 1000 place or so just awaits forever. I don't know whats up with that.

The playing queue is very terse and doesn't like listing the track number, artist nor even the album (it does show a thumb sized album art for each entry but good luck with that). This is a very dumbed down mobile centric design, could do much better here...

All in all I would advise just trying out more than one media server. Jellyfin is ok-ish for music and great for videos but if you are gonna go trough all the work of setting that up it doesn't cost much more to also setup something like Navidrome which will give you a decent subsonic instance which is compatible with many clients and will likely give you a better experience when handling big and diverse music libraries. That said, Navidrome's built-in web client is pretty bare-bones, so you are gonna have to rely on the "native" clients more.

For example, you can use Strawberry's subsonic feature to access your Navidrome's library on a pretty damn good interface for music nerds who feel comfortable on "spreadsheet" like interfaces. No tag editing, but you don't usually want to expose your library with write permission on these services anyway. But it does pick up on tag changes if you tell it to a complete re-scan which takes ~15 minutes.


Jellyfin is not able to group series together and on top of that shows everything in random order, why bother with it when there are alternatives that can do that?

What do you mean group series together? If you mean seasons of a show, yes it does. If you mean collections, it has them.

Then I could not figure how to make it work. Plex did that without any effort from my side though


Thanks, I can google. For some reason Jellyfin totally ignores folder structures for me.

Actually after reading it more carefully I probably see why it didn't work for me, but the notes in the page are bizarre:

* Avoid special characters such as * in M*A*S*H, use MASH instead.

Since when a common ASCII character is a special one? What about more common unicode characters I use?

* Do not abbreviate the Season folder with S01 or SE01 or alike.

I.e. if I put anything not in the folder named "Season XX" it won't work? Ugh... really?

* Season folders shouldn't contain the series name, otherwise Jellyfin can in certain cases (Stargate SG-1 due to the dash and one, for instance) misdetect your episodes and put them all under the same season.

Well, how about to fix it?

* Episode numbering for specials may vary from metadata provider to metadata provider.

Very helpful, so the "Series XX" required above won't always work.

And even if everything above fails why not to sort by name? It should not be hard for any engineer, right?


What do you mean random order? You can choose the sort order for any library yourself.

I have one folder with movies and series. It shows as a randomized mix, maybe it uses something like modification time by default? It's definitely not by name.

In my experience you have to sort shows into directories and sub-directories for a series.

My entire jellyfin library is just symlinks into where my crap has accumulated over the years.

https://jellyfin.org/docs/general/server/media/shows/


I have the series in their own folders. I tried to do a more nested structure to no avail. After a day of attempts to fix it I switched to Plex and it despite having its own quirks just worked fine.

What are people using this for? Pirated movies, shows, etc?

Genuinely curious.


For movies and TV shows people either rip them off of personal collections and/or download them from the internet.

When combined with `yt-dlp` you can use it to download videos from your favorite channels. This is especially valuable as there's no guarantee the videos will be there for free forever.

It's also a nice place to put family videos and recorded sporting events.


I have a script that scrapes a few youtube channels which my kid uses jellyfin to watch. Youtube is otherwise not allowed, too easy to watch all sorts of crap.

Same. Big fan of the YouTube metadata plugin.

Didn't know about that. Thanks.

Legally purchased DVDs and home video collections that have been legally backed up onto hard drives

Same. Illegally backed up, in my case, because the DMCA is ridiculous and prohibits backing things up unless you crack the DRM personally. But I don't care, as that is a stupid law and I have the moral right to rip my discs if I want. But the content was legally purchased originally which is what matters imo.

In an alternate universe, Apple had built out a networked media library system and integrated it directly into their Time Capsule router hw.

Haven't checked the comments yet but I just want to say thanks to the jellyfin maintainers. You guys are doing god's work <3

What benefits are there compared to Emby? Been using it for quite some time and very curious!

How is av1 support on jellyfin?


Jellyfin is a fork of Emby. Emby used to be open source, when it went closed source Jellyfin was formed off of it.

AV1 playback works on devices that support it. You'll need server-side transcoding for devices that don't. Jellyfin can do this by shelling out to FFMPEG, which can optionally use hardware accelerated codecs if they're available to it. So basically, "it depends", but Jellyfin itself supports AV1 media.



They don't list Infuse on there, but it's pretty great in its support of pretty much everything. The Apple TV has certainly surprised me by being an excellent platform for in-home streaming.

Yes, Infuse is excellent, highly recommend it on iOS devices.

jellyfin is open source, that's enough reason for me.

If you want to use hardware acceleration in Emby you have to pay for "Emby Premiere". Jellyfin, not having tiered versions, provides this for free.

This is obviously useful in general, but i rely on it to run a media server on my low-end minipc with Intel Quick Sync.


I hate that so many people don't know about Universal Media Server

I used Universal Media Server for 3 years, not knowing about jellyfin actually. UMS was a most of the time non-functional piece of crap. Refreshing the library was a pain and always felt that it required restarting services and devices on both sides and a blessing from the local priest. Then comes the frequent disappearance of the server itself which again requires service restarts. Then the mid-movie playback stops or stutters. Not recognizing the subtitles and again requiring service restarts. I spent more time fiddling with the app, holding it together with duct-tape and sticks rather the watching media through it. It is a very unstable and unreliable piece of software.

Then came jellyfin, and as a breath of fresh air, all my problems were gone. In maybe 2 years since I switched to it, I can count on my fingers how many times did I have to fiddle with it for some reason. It just works, in the most common sense of ways, no crashes, no discoverability problems, nothing, just pure stable performance, I cannot emphasize enough how much of a chasm exists in quality and usability between jellyfin and UMS. While UMS feels like a piece of early alpha software that was abandoned, jellyfin is the rock solid , actively maintained alternative that got your back.

Universal Media Server is just bad software.


Funny how people nitpick. At the end of the day, jellyfin is free to use, ad free, has more config options than we need, and it does an outstanding job. I switched from Kodi, Plex, then Emby years ago. No reason to look back.

Funny how people nitpick. At the end of the day, jellyfin is free to use, ad free, has more config options than we need, and it does an outstanding job. I switched from Kodi, Plex, then Emby years ago. No reason to look back.

Nah - very happy to support Plex with my lifetime pass thanks.

Even with all the cruft they keep adding? Tv shows, Live TV, other random bollocks you have to keep turning off.

I'm glad I never purchased a licence with the amount of useless stuff they keep shoe horning in.


I’m not forced to use any of those and when turned off, never came back on. This is a commonly mentioned con by jellyfin…proponents, but I fail to see how turning a setting off is more cumbersome than the jellyfin setup as a whole. My users and I are more than satisfied with plex and their updates

I mean, I don't disagree that those things are silly but I haven't had to keep turning them off. I turned them off once, years ago when they were introduced, and they have never come back. I don't find that to be so onerous that it has kept me from enjoying the software. I have my misgivings about the direction the company is going, but at least for now they haven't ruined the core use case so I'm content.

Sorry I wasn't clear I meant keep turning off as they add new dumb stuff. I agree once it's off it's off but I had that bollocks defaults to on.

As somebody who just got into Real Debrid, what's the best compatible frontend that makes managing the content firehouse easier? I started out with Stremio, which works okay but only lets you add movies/shows to a single Library that can be sorted a few ways, but that's it. Not great scrolling through a single horizontal list of titles.

Ideally, there'd be a program that lets you add programs to playlists (favorite films, to-watch list, anime, documentaries, etc.) and then track the watch status, shuffle-play, show recommendations, display a big grid, etc. There's probably something like that out there but for a newcomer it's just a blizzard of "Sonarr, Radarr, Umbrella, Jellyfin, Plex, Kodi, Stremio, Roku, Seren, Overseer, Syncler," and other nonsense syllables (and seems like most of the guides are dated).

(Nb: I subscribe to Netflix, Hulu, HBO Max, etc., just prefer having a unified player that doesn't yank stuff arbitrarily)


I've had a setup similar to what you're describing using Kodi with various addons. But it's really precarious and for too much effort. Stremio is treating me well these days.



Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: