Jellyfin: Free software media system
github.com
github.com
I personally run a fairly modified version HTPC on a QNAP (was synology but upgraded earlier this year - better base board + dedicated graphics card)
- Setup two Radarr instances (normal and 4K) and two Sonarr instances (TV and anime)
- Follow the TRaSH guides to improve media quality
- Komga to read manga and comics
- Readarr Calibre integration to delegate parsing & metadata to Calibre
- Jellyseerr or Overseerr instead of Ombi
- Unpackerr to catch and handle compressed media
- autobrr if you’re looking to build ratio
For anime first time I've heard that suggestion but anime in general is super annoying to download due to not having real seasons or whatever often. Wonder how it helps..
If you're not using Plex or find it doesn't work so well for Chinese subs, can also try bazarr which does the same thing with subs but is a standalone software.
So with the above setup you can download the actual series from wherever and then it'll fetch Chinese subs for you and add them automatically. Otherwise for actual Chinese trackers try share.dmhy.org and mikanani.me for public trackers.
Feel free to shoot me an email(in my profile) if you need any advice or help setting anything up :)
My 4K instance has one root path (different from non-4K) and one quality profile that's auto-selected by default. Using the Radarr connect option, I have a quality profile on the non-4K instance that automatically adds the movie to the 4K instance. This way, you can ensure you have both 4K and non-4K copies of certain movies (e.g., for external access/transcoding). You also ~never need to actually interact with the 4K instance. See this page for details: https://trash-guides.info/Radarr/Tips/Sync-2-radarr-sonarr/
For Sonarr, it's also for separation, but less of an issue if you're on Sonarr v4. The one thing you gain even on v4 is the ability to have different quality definitions for anime and non-anime content. See: https://trash-guides.info/Sonarr/Sonarr-Quality-Settings-Fil...
You either have to commit those preferences to a tag that you try to remember to put on everything (fiddly), or you just commit to them being on everything you download regardless of whether or not it is anime, which can cause weird selections when sonarr is sourcing western media.
I’d pay an extra $10/mo for my seedbox to have just a single interface for all of this without having to manage all these independent apps. Trying to debug why sonarr->prowlarr->flaresolvrr don’t work is a nightmare. That reminds me:
- flaresolverr: proxy that handles cloudflare bot checks for torrent trackers that are starting to put it up
I think the base setup of Radarr + Sonarr + SABnzbd/qBittorrent + Prowlarr is a huge improvemenet over doing things manually. A lot stuff on top of that is helpful, but the benefit vs. effort ratio diminishes quite quickly.
I haven't had to setup Flaresolverr just yet, but might do that soon.
The remaining annoyances are:
- lack of multi language support
- there is no connection between the systems when you want to remove a movie (you remove it in one place and everything knows about that and acts accordingly)
- I still did not make to fully grasp how and where to say "I do not want this particular release". I think I saw that in radarr but it never is obvious to me where it is.
They all definitely feel like small parts of a single package, don't look like they merit being their own thing. But it's not my thing, so what do I know.
Not following this. Settings -> Connections in Sonarr for example.
What I meant is that there is no common management of dat. When I make changes in one service, the others do not know it, or know it after the fact (via a reindexing for instance).
Say for instance I delete a movie in Jellyfin. Radarr will then pick up that it is missing and re-upload.
Or that I deleted a torrent in deluge. Radar will restart it.
Most of the things are doable, one just need to know what to do where, exactly (otherwise the other pieces may try to recover).
Right now I am making the chnages in Radarr (despite actually seeing them in Jellyfin). This is a real problem when I have, say, two uploaded versions of a movie and want to keep only one. I have to be very careful to track down in JF what I will remove in Radarr.
It would have been great if there was a common indexing mechanism across all the suite.
What you pointed me are notifiers - they work fine (but are shoot-and-forget kind of services)
In particular I'd add to your list that the overnight scans to update cover art are an absolute mess. It's not so big a deal on my libraries in Sonarr and Radarr, but for Lidarr? Jesus Christ. I have reasonably sized music library (~400/500 gig), and every night Lidarr starts phoning out to check, for every single album and artist, whether the associated cover art or artist image has changed. This takes hours, and is completely unnecessary, and cannot be turned off. I've resorted to just blocking the addresses it does this on, but this breaks things when I try and use it to add new music.
Don’t forget that Asrock Rack and Supermicro sell Atom and Xeon-D boards, as well as some Ryzen AM4/5 models if you want to DIY. There are great cases out there (eg Fractal Node 304/804) these days that support full-size modular PSUs with 80+ Titanium ratings to sip power. That’s been my biggest gripe with x86 over ARM: idle power usage for something I expect to have on 24x7 with PG&Es 50c/kWh. I just rebuilt my old desktop 5950x into a NAS using a Silverstone RM44 with air cooling, but it’s made to support liquid as well. That’s got plenty of room to fit 4X full-size GPUs and a power supply to match if you dabble with AI on the side. RTX 4060s are coming soon for $300 and that should be more than enough power for transcodes for the whole family.
I use a Nuc but the Mac mini would be a great server (though costs a lot).
Mine has been bullet proof and works really well with a huge amount of storage (Synology).
It’ll transcode 10+ streams of high bitrate video without breaking a sweat.
I recently upgraded to "DS 423+" and it's a lot faster - can have multiple streams going if I want.
https://en.wikipedia.org/wiki/Standard_(warez)
https://scenerules.org/t.html?id=2020_X265.nfo
99% coverage is achievable via a few straightforward regexes.
Don't get me wrong though, I really like and appreciate Jellyfin, especially on Apple TV with Swiftfin, it's my daily driver for big screen entertainment and it's amazing, 10e9 times better than Chromecasting from a laptop to GoogleTV, which is just a horrible UX (no pause button on the TV) and also would randomly freeze for 5-30 seconds every few minutes.
Plex was nice too, and works great if you are okay with being at the mercy of a closed system for your media center. Though I sure don't miss those pointless forced UI "downgrade in functionality" updates!
I’ve enjoyed it a but more cause I feel like I can do more on the server end. I recently started to use Infuse on my Apple TV for it cause turns out that Swiftfin, still in development, doesn’t have a license for Dolby Audio formats.
But the development cycle for Jellyfin and the clients looks healthy, unlike Plex which seems to have stagnated. The next gen Jellyfin Web UI (Jellyfin Vue) is looking good too
Jellyfin is also pretty forgiving about my file names but I am meticulous at making sure the structure and filenames are correct before dumping anything new to the library to the point where I have a complex script to process movie and tv show filenames and folders. You can also override the metadata with the Identify function on the media page context menu.
It's not stagnating, so much as they have decided that their initial market doesn't interest them. They were writing software for end users that let end users set up their own person Netflix. But maybe the revenue was unexciting or just insufficient, and now they want to be their own streaming service.
Their streaming service sucks (they're probably at least two orders of magnitude too small to be able to afford to do it right, maybe even 3 or 4), and contaminates the searches on my server with their junk.
Also, it might be true that they're just afraid of the liability of doubling down on their original market. Contributory infringement and all that. This is almost certainly the reason they haven't expanded to include media like ebooks and audio books and karaoke. I mean they have the perfect paradigm for all of these things... the same software that keeps track of where I am in a season of shows, or halfway through a movie could definitely keep track of where I am in a book, if they wanted to.
This isn't entirely speculation on my part... at some point someone had asked them about preroll trailers for new seasons (Archer might be the most fun for these), but they said that they wouldn't add the feature because there was no legitimate source for those videos (even though just ripping them with youtube-dl is dead simple).
So it’s not surprising they’re looking at other sources of revenue if they expect to continue paying for developers, hosting and the entire company.
I also don’t see how ripping with youtube-dl is relevant. They need a legal source from somebody, maybe with a SLA, that they can sign a contract with, not set up some hack.
I'm not asking them to provide the video files.
I'm asking for the feature. And if someone doesn't understand that's what I'm asking for, then I have to conclude that what they think Plex is supposed to be is very different from what I think it's supposed to be.
That'd make me wrong, except that 10 years ago everyone who knew about Plex agreed with me. Including the original developers.
At the very least, I think you would need two entities where one creates the software and other one hosts it. That way “the service” is hosting the software and not the specific features that the software provides.
Plex mixes both and so downloading the video files becomes part of the commercial service they are offering. Providing commercial access to somebody else’s copyright sounds illegal to me.
Hell, I have a stand-up comedy library... and if you pull up the Steve Martin album, it suggests his banjo music. You know, both audio files both Steven Martin (the man's been awarded Grammies for both, it seems).
The absolute minimum they might give us is just a different icon for audio books and for comedy. Chosen at library creation time, and no other changes. Even that's too much though.
> Don’t know about ebooks
Ebooks would require changes to the mobile clients in particular. No one's reading an ebook on Plex HTPC.
These changes aren't staggering in their complexity, they aren't horrendous endeavors. They're pretty cheap/easy. They have no interest.
I've fully switched my audiobook client on iOS to Prologue, it's as full-featured as BookPlayer (playback speeds, chapters, remembered place, sleep mode, etc) but instead of managing media on my phone manually, I'm hosting it in Plex.
What is the benefit of running the reverse proxy vs just opening the port? It would seem whatever attacks viable on the directly opened port could just as well be carried out on the proxy port.
Also, all traffic is tunneled through wireguard and my home IP has no ports open. Since I'm behind CGNAT, my home is really hard to DDoS now. If I'm ever attacked, I'll just turn off the VPS.
Ultimately, I had the choice between paying €2/month for a fixed IPv4 at my ISP, or spend a little more (€5) on a Hetzner VPS that would also give me space for hosting some websites with a great uplink. So I went with the latter.
I will likely add CrowdSec soon which will give additional protection. To my knowledge, it's not available for Plex without a reverse proxy.
I've also contemplated using Cloudflare Zero Trust (Cloudflare Access) instead, and might yet switch to it - I just refrained from it for now because I read on Reddit that running Plex through that might be a ToS violation (streaming). I've to check the ToS and see if that's true. Also, I run a Minecraft server for my kids and their friends, which isn't compatible with Cloudflare ZT, so - I need the reverse proxy anyway.
I had a 2nd gen chromecast that would play half a second and fail, something to do with the data format I think as there was some shenanigans with changing the media container but no real transcoding happening. Solved by getting a newer chromecast which was a nice upgrade anyway.
I also had problems playing on my phone, the integrated player in the app would play video fine while the UI was interacted with, so tapping continuously worked. The picture would freeze up though. Playing through the web UI on the phone worked fine, but I prefer the app. Changing the media player from the integrated to externally through VLC solved that.
So I've found it a bit rough in some cases for me, but there are a ton of Jellyfin apps with nice UI. The core work (transcoding etc) is done by ffmpeg by all the big players (plex, emby, jellyfin) so don't expect much differentiation there.
I'm curious to know why you chose to write a custom (and complex) script yourself instead of using something like Sonarr/Radarr for this task? Does your script do something that the *arr apps are not capable off or is there another reason?
Please tell me I'm an idiot and show me a better way. Lol it won't save me the hundreds of movies I've put in "Title (year).type" format, but it will save some future work.
These apps can be self hosted and are fully open source. The basic workflow is that you add a movie/show, it automatically searches all of your download sites for the title, chooses the best download based on your filter criteria (resolution, size, etc.), sends it to your download client and then places the movie/show into your library based on the folder/file naming pattern you specified previously.
You can choose to automate as much of the process as you want or do most of it manually. E.g. grabbing new episodes as soon as they air vs supplying your own files (if you rip your media yourself for example) and only letting the program do the part of renaming and moving your files.
It's funny, I've heard of radarr and sonarr, but I never looked into them because I was learning other stuff.
The only format that stands the test of time, IMO
The only irritation is that it's Windows-only, but it has saved so much pain and aggravation. It can also auto-rename/restructure your filesystem, but I've never been brave enough to try that feature.
I use a program called filebot which uses the same metadata sources as Emby/jellyfin and will automatically rename and move files.
So sonarr/radarr queue things up in rutorrent that saves to a temporary location and then I drag to filebot to rename, skim the results for things going weird, and tell it to move em
Besides a pointless re-arranging of the UI, which we all hate, what should they be doing? I'll grant you "Bugs to be quashed", but fewer features to fill, fewer devs on the payroll, and less selling out to make payroll sounds perfect to me.
> ...am meticulous at making sure the structure and filenames are correct before dumping anything new to the library to the point where I have a complex script to...
I am the exact opposite, partly because I feel like it SHOULD BE the responsibility of the media library to maintain associations between the media files and their metadata, regardless of the filename.It seems crazy to me that Plex and other media libraries effectively require you to follow persnickety file-naming conventions. I am very much in the minority of folks who think that you should just be able to point these media servers to a file, tell it what that file is, and then have it maintain associations so you can query your media in arbitrary ways to make a playlist or whatever-- no filenames changes needed.
Me too! General rules of thumb: as long as your content matches the name on https://www.themoviedb.org/ Jellyfin will recognize it and have excellent metadata, posters, etc. Even if you change the filenames later you can re-scan the library and it will be updated to reflect the new names.
Also see the Jellyfin documentation about media naming for TV series https://jellyfin.org/docs/general/server/media/shows/ and movies https://jellyfin.org/docs/general/server/media/movies/.
From Plex to Jellyfin Media Server - https://news.ycombinator.com/item?id=33579209 - Nov 2022 (344 comments)
Better than Netflix: Jellyfin on my NAS - https://news.ycombinator.com/item?id=33433880 - Nov 2022 (1 comment)
Why I use Jellyfin for my home media library - https://news.ycombinator.com/item?id=33362416 - Oct 2022 (228 comments)
Jellyfin Release – v10.8.0 - https://news.ycombinator.com/item?id=31720125 - June 2022 (14 comments)
Jellyfin: Free Software Media System - https://news.ycombinator.com/item?id=28664802 - Sept 2021 (199 comments)
Moving my home media library from iTunes to Jellyfin and Infuse - https://news.ycombinator.com/item?id=27462767 - June 2021 (171 comments)
Jellyfin: A Free Software Media System - https://news.ycombinator.com/item?id=21986282 - Jan 2020 (173 comments)
Jellyfin is an open source alternative for Plex - https://news.ycombinator.com/item?id=20797851 - Aug 2019 (1 comment)
Finally, I discovered the combination of Jellyfin and Infuse App. It works really well.
But the unfortunate flipside is it seems like the best clients (so far) do not support transcoding very well, they want to direct stream.
I looked at Jellyfin about a year ago and settled on just playing media from my NAS using Infuse but maybe I need to take another look
Recently checked the metadata cache which was about 1.9GB which felt a bit bigger than I’d have expected but I’m not sure what a typical value is
I'm already paying for everything that incurs costs: it's my hardware, streaming my media, on my local network.
The only things left are users & developers donating time and energy to the project - and right now there are enough of us doing that to keep it alive.
This is absolutely not something that needs a subscription cost.
If you want to help - https://jellyfin.org/contribute/
Having a server you can stream from - you're right.
For the other features, you're likely wrong. As in - the open source space hasn't come up with a viable solution. I use Plex for DVR, and beyond the one time fee it works. For DVR you need to get the OTA channel guide, and all the reliable services out there charge a subscription fee - which over time will cost more than the Plex one time fee.
Also, how good is Jellyfin at skipping credits and ads?
As I pointed out in another comment - I'll happily use Jellyfin once it is there. As of now, every time I try it the experience is worse than Plex. So Plex it will be till JF gets there.
Or - and I know people don't love this answer - just host it publicly. Yes - it requires some monitoring and a little bit of attention, but at the end of the day it's not that hard, and the risks are fairly low (even if it gets compromised - the world is not over).
Jellyfin has apps (which do incur a bit of overhead for maintainers in actual dollars) but honestly, as long as you're not on iphone, you can just build them locally and sideload them. No store/publisher required.
I primarily use the android tv client on a nvidia shield running a custom ROM.
I tried using it again 2 years ago - and I simply couldn't find my media anymore. I logged in with my account, and the settings showed me that it was connected to my server, but it showed me a bunch of random media that I did not add to my server. I couldn't find a way to navigate to my media after a couple of minutes, so I uninstalled it, replaced it with Jellyfin, and never looked back.
Maybe I was too blind to find it, but showing me random media instead of my own is a no-go for a local media server.
If Plex kept my content frond-and-center and added useful features on top (e.g. Prime Videos additional information while pausing) I could even have seen myself subscribing to their service. But making the software annoying to use for its main purpose ensures I'll never spend a cent on it.
I think you're correct, and this is why I forgive Plex its annoying transgressions.
I don't think it's pushing you to them at all, if you're looking at a show or movie that's available to you via Plex, they're listed first.
Plex has always had some minor frustrations, but this is probably enough to make me switch.
If you don’t know which library on the list to click on or drag around, maybe you’ll have a hard time in general.
It's been a while since I last tried setting it up, but I can't remember anything during the setup talking about external streaming libraries. I tried setting it up in the way I expected it to work based on my previous knowledge.
> If you don’t know which library on the list to click on or drag around, maybe you’ll have a hard time in general.
I didn't see anything in the UI on my TV mentioning different libraries, or giving me the option to switch from the external Plex library to my own. At a certain point these things stop being user problems and become UX problems.
After you create a Plex instance, you still need to go and create a “Movies” library, a “TV Shows” library, maybe a “Music” library, an “Audiobooks” Library and so on. Those are the ones that show on the left panel in the Web UI, TV App etc. It’s how you manage your media in general
During initial setup, Plex will show you a list of “Default Libraries” that have names like “Discover”, “Web”, etc. You can unselect them. You can also remove them from your Library list later on.
<Response code="503" title="Maintenance" status="Plex Media Server is currently running startup maintenance tasks."/>
They respawn.
1. You have to use their login service to log into a server that's... self-hosted.
2. The Plex app has very limited codec support, at least on iOS. In particular, I rip directly from disc and Plex would require transcoding for UHDs, or Blu-rays with TrueHD/DTS/etc. audio. Infuse has support for all of that out of the box so my Jellyfin server doesn't do any transcoding at all, and AppleTV/iPad/etc. are more than capable of decoding even full bitrate UHD content.
I can watch my Jellyfin shows from a Flatpak local client on my desktop, pause and move to my phone, pause and move to my TV. That's three different operating systems, and at no point do they transcode, because it's not going through a browser.
Personally, my main beef is that as a client app, the streaming service stuff has bled into the personal library UI in obnoxious ways. For example, the default "tab" is called "Recommended". This shows some kind of algorithm-based feed of stuff they think you want to watch. This tab is the default even for your own private library. Why would it suggest stuff from a library that I curate? It's very strange. In the browser, it remembers your last active tab to some extent, but the native apps (like on AppleTV) does not. When I open the app and go to a folder, I just see recommended stuff. Similarly, if you go to the screen for a TV show in your library, it will show a "Related shows" section. It's my library, I know what is there, I don't want these spammy algorithmic things.
Occasionally I run into other parts of the app, which invariably try to steer me towards using their streaming service. It's just a constant reminder of how it's no longer designed for my purposes.
Mostly to try and help save time, eg to suggest you could resume a couple of recently watched episodes that you haven’t finished yet.
Or that you might want to watch something that was just added to the library in the last few minutes.
In most cases this has proved useful to me and I’ve found it to be a timesaver.
- "Recently released" and "Recently added", which I agree are useful — but don't belong in a separate tab, as I always sort by recentness.
- "Start watching": Shows it thinks I should start watching; why? I know what I have and what I intend to watch.
- "Rediscover": Shows I have started watching but not finished, pointless. I could just browse.
- "More in [random genre]": Pointless, I know my library, it's my library.
- "Top rated TV": Ditto.
- "Recently played": Never use this, doesn't belong under "Recommended".
It's all just pointless stuff, and not appropriate as a default view when I'm navigating into my own library.
For random episodes Plex decides it must transcode (even though they play just fine over DLNA). (I have transcoding disabled so it just refuses to play those.)
Randomly just a blank screen after the last episode in a deck is done playing.
Resuming from screensaver ends up in a broken user select screen half of the time. One time it was even showing the user select while the remote was still blindly controlling the UI hidden behind the logon, as the last user.
1) Adding new users is harder than it should be (the sharing tab takes me to ‘camera roll’ and ‘synced content’ on my phone. ‘Manage library access’ is the correct section to go to.
2) Getting new users to watch default res (not transcode) is not easy.
3) Deleting the pinned crap that gets added every so often is frustrating.
4) Finding a particular setting when you want it is way too hard - settings are too spread out.
5) Splitting out content is irritating (eg mine versus a library shared with me).
6) The server can end up chewing up an absolute mass of storage with its logs, and app data. This is hard (impossible?) to manage from the UI.
7) Probably not a UI bug, but Plex loses the sound/video sync sometimes. Making the show transcode is the only reliable fix I’ve found. I wish I could chose to advance or regard the audio in settings while watching. Or even better, just not break.
Jellyfin was the most promising option but unfortunately ended up being unviable for me, because my home server/NAS runs FreeBSD, and by virtue of C#/Mono being a pain to get running on FreeBSD so is Jellyfin. I could work around this with a Linux jail or moving the server over to Linux but I'd really rather not have to do either.
As an side it's a bit odd to me how all of the most complete media server packages heavily rely on either Python or C#, and also a bit frustrating because when they break it not infrequently has something to do with some quirk in either. Would really like to see a media server comparable to Plex written in something less prone to breakage.
Why? Not trying to be an ass but there isn’t much in a media server that would warrant it all being written in a lower level language.
Personally I run Plex in a Docker container and basically don’t worry about it at all.
Docker might technically qualify as a fix, but I'd rather that the software be engineered well enough to not need it.
Anyway, there is Docker; You could spend the rest of your life shaking your fist, or you could just run it via Docker and be happy that someone else also developed free software to solve these problems for you.
And yes, I've actually considered starting a project of my own. The main thing that gives me pause is not writing the CRUD and server bits but learning ins and outs of the absolute beast that is FFMPEG.
I'd love to see a modular, but integrated approach, and one that lets me treat the media server itself as fungible. I want a sqlite database that is easily syncable/backup/restorable, I want a small Rust component that does media scanning and writes metadata to the database, and another small server component that has "storage" plugins for accessing the actual media and then uses gstreamer to "simul-cast" it to any WebRTC capable client.
Imagine being able to WHIP your media into an OBS session, or have it cast side-by-side with a webcam feed to an RPi hooked up to a TV. Etc.
If I could clone myself, this is the project Clone #1 would work on.
so stop getting defensive. you could have just said "there is docker" and saved everyone the passive aggression.
This... what's it matter if its hard to get running in linux? you only have to get it running once and bam - you run your server in a container of that.
Could take a rocket scientist working on it... but once it's done? it's done. the container maintainer occasionally releases updated versions doing the same thing that worked previously.
I have Plex running on docker on a QNAP with a dedicated graphics card and rarely have issues (other than my own stupidity).
Python, and increasingly dotnet are already packaged for every distribution I have tried recently.
Dotnet is even being ported to Haiku right now.
What is the challenge in getting these setup?
It's not an official build, but its been very reliable for me.
In the end it seems easier for me to just navigate the folder structure and look up any metadata by googling, because I add shows and movies more often than have urges to look up random character's actor.
Oh, and web client doesn't play 5.1
Thankfully 99% of my visual media was already in the format, but there’s numerous utilities that can bulk rename media in the necessary format
I just want something that automatically transcodes whatever I watch to account for poor bandwidth when I'm not home. All the library stuff feels so unnecessary and breaks in weird ways that are difficult (impossible?) to solve.
Then again, I do get most of my content through *arr so perhaps that automation already resolves the filename inconsistencies.
As for 5.1 audio, that's almost entirely unsupported by browsers. I think Edge and Safari support Dolby but I'm not sure if you need to feed those a special kind of format or not. Maybe the native applications get around this somehow?
Old school NFS/SMB has "just worked" for me for decades. It's free, uses almost zero server resources, is easy to add content to (just copy a file), and it isn't going to change out from under you when its developer decides to monetize you.
If you really must have a pretty front-end for your TV or whatever, there's Kodi, which is also old-school, free, runs on everything, and so on. My only gripe with Kodi is the same gripe I have with every other media player system out there: They all seem to insist on grafting their own "library" concept onto your already-existing and perfectly-functioning filesystem. I just added that file to my filesystem. Why do I need to add it again to the in-app "library?"
It's a very fast and easy process, I was able to complete the task for 2tb of files in an hour or two, and that's because I was being thorough. It makes the experience close to netflix in terms of quality (in several ways better even). Jellyfin's default behavior of interpreting file names is fine as it is, but clean file names is truly the more bespoke solution.
I used Plex for years and always hated it. It didn't let me customize the home screen in the way I wanted, so there was always a bunch of junk on there that I didn't want and couldn't remove. It also ran very slow on my Samsung TV (1), starting up slowly and responding to the press of a button after about a full second (it had done this for a long time through multiple versions of the app and factory resetting the TV without any improvement; also, the TV is only a few years old).
I got frustrated enough to finally switch to Jellyfin about 4 months ago. It was a pain to get the app installed on my TV (the app isn't in the TV's app library, so it needs to be installed as if you're a dev), but once I got it working it works well. The app starts up faster than the Plex app and is very responsive to button presses.
Back when I was using Plex, I really wanted to customize the home screen to remove certain components and re-order what appears and spent a lot of time reading over settings/customization stuff which never actually let me do what I wanted. With Jellyfin, I simply went to settings > home and the intuitive options there let me do exactly what I wanted to do in seconds.
I can't think of any major issues I've had with Jellyfin, but here are a couple of thoughts. With Jellyfin I needed to create separate folders for what what Plex called collections and add them as libraries instead of collections. At first, I thought this was a negative but ended up deciding it didn't really matter as it works fine. I had a series of videos that wouldn't play properly on Jellyfin until I used ffmpeg to strip out the extra subtitle tracks (they had 42!), but never tested them on Plex so not sure if Plex would have handled them.
(1) I will never buy another Samsung TV, but that's a rant for another post. I considered buying an Nvidia Shield just to fix some issues with the TV, but probably won't bother now that Jellyfin is working well.
What issues were you having with the Plex home screen?
GameStream has been sunsetted though, right? I’m using Sunshine & Moonlight to great success, but not with a Shield.
I didn't like that you can't outright disable transcoding for content served via their app or in the browser. I serve mostly local client and my headless NAS has poor integrated graphics and runs Linux so this was very brittle. Kodi's jellyfin addon can play without transcoding by default so this seemed reasonable.
However in case others want to go this route for a similar use case I hope I can save you some frustration: both this and the native Android app do not handle Dolby vision or passthrough atmos content properly. I also had odd tearing and av sync issues with some large 4k content that don't happen with maven kodi builds.
After a lot of time trying to figure out it, I stripped it out and my shield has no further issues just using kodi despite being the ill famed 2019 tube model. Hdr10, Dolby vision, atmos pass through you name it just works.
You can outright disable transcoding. That’s a checkbox in the server option.
> both this and the native Android app do not handle Dolby vision or passthrough atmos content properly
They do out of the box. Never had an issue with either transcoding disabled. If you have properly configured the source content, Jellyfin is just a passthrough for Kodi and content is directly accessed using the network share.
I'm happy it worked for you. I have specific content jellyfin doesn't work with where Kodi is fine and I am just sharing my experience with this software package.
> I have specific content jellyfin doesn't work with where Kodi is fine
Very surprising as Jellyfin is just a passthrough to Kodi. Did you open a bug report?
> I am just sharing my experience with this software package.
Every post here about an open source project be it Firefox or Jellyfin always see plenty of people sharing their experience with it from a decade ago and panning things that actually work. I usually just read them and move on but sometimes I like to give a counterpoint when it’s about a piece of software I consider quite good.
I also get audio sync issue with some media types. I am frustrated to the point that I now just copy things on a thumb drive to play on my TV.
Just to understand you setup better, are you using kodi on TV or your server or both?
How does Jellyfin tackle closed user groups, family photos/videos, remote access, etc?
- No offline downloading on iPad
- The official Apple TV app logs me out of my server every day
- Using the native player on the Apple TV app is still experimental and can have issues
- No intro skip
Plex also lets me easily share my movie rips with family members across the country.
Even my most recent ex, who's nearing fifty and has never been especially at home with tech, found nothing objectionable about using it via the iOS native app - with the content of my library, yes, but that's no more fairly blamed on Jellyfin than it would be on Plex.
I’ve tried Plex in the past and wasn’t a fan of the bloat and constant changes. I’ll stick with jellyfin since it’s free and doesn’t have the negative incentives associated with pursuing profit. I find that annoying when o just want a clean way to watch my library.
Not sure about AppleTV, but fyi note that there's currently 2 official apps: "Jellyfin" and "SwiftFin".
SwiftFin is better but very new and doesn't have all features yet, etc.
Edit: they use audio https://support.plex.tv/articles/skip-content/
[0] https://jellyfin.org/docs/general/administration/hardware-ac...
Open source mpeg codecs don't come with a patent license from mpeg and friends. Neither does a open source file system driver come with a patent license from microsoft and friends.
Lots of companies are in that list (https://openinventionnetwork.com/community-alphabetical/) including Google, Sony, Amazon, and hundreds of other companies.
In that case, if you're entering a hostname manually somewhere, try replacing smb:// with cifs://. That should force it to use a modern standard that's capable of 4GB+ files.
https://gist.github.com/entropie/d265e94136b9777cc6b3190189b...
Consider me annoyed too.
Edit I don't care about cookies extension removed it. So username is demo. There's no password.
#disclaimer,.disclaimer{display:none !important}
I am not sure how wise it is to hide all elements with ID or class "disclaimer", to be honest. There are other rules that seem like a bad idea as well (same thing for 'notification', 'notifications', 'notice', 'notices', 'alert', 'overlay', 'modal'...).
I'm posting this pretty late, so doubt many will read this, but I just want to make a point that the attitude of "I don't need a screenshot, there is a demo 3 clicks away behind a username and password that is murky to find the details" is a terrible message to send.
When you don't bother to put a screenshot of an app as large and as beautiful as jellyfish, for me, it screams, "this is NOT going to beworth your while to install. If you have the knowledge, fine, otherwise, there's a great barrier to entry here. Just to see it, it's 3 clicks and some keystrokes away, imagine what installing and running is like."
The screenshot on the other hand would say to the user, "here is this beautiful app. Now decide if it's worth it to check out the demo and maybe read a few of the docs."
Also, Plexamp is by far the best music player to exist right now.
(though if I’m honest the lifetime membership concept feels like a bad idea on their side. Despite using their product regularly they now get no more money from me)
That was the last straw for me with plex.
Having to log into a server on the internet to access local content isn't just bad, it's broken by design just like DRM.
That's broken by design.
I'm at the point now where I will always choose open source if the product is "good enough" even if it is not the best. Jellyfin is "good enough" for my needs at least.
But I am not against commercial software and have no problem with others using it. Just not for me.
I quite like it has a Plex replacement, it passes the "partner test" AND the "parent test" - they can both install the app and watch what they want (as long as they turn off the android player default, which is a terrible default).
I have it behind a firewall so nothing can access it (it's just for home, or for those who need it, over Wireguard). When i have time, it could be a good experiment for Podman or some other way to run rootless containers/jails.
The LDAP addon listing credentials is bad. The rest seems like it shouldn't be a problem for normal (in-home streaming) usage; i.e. users reading each other's last login time shouldn't be a problem if you trust the people you share the server with.
Jellyfin is kind of binary in that regard. Once you're authenticated - no matter the privileges - you can reach a lot of places. I've written about this recently, if anyone's interested.
Like others have mentioned, you should probably only expose the server to a trusted group of users (ideally not directly on the Internet).
I don't think standard users can change important system settings, but I've always assumed that they can look at stuff like logged in users and the current state of the system.
And if my LAN is compromised, then Jellyfin isn't particularly high on my worry list. I (think I) run a relatively tight ship.
MIT Open Source: https://github.com/whyboris/Video-Hub-App
https://github.com/whyboris/video-hub-app-gatsby-website
I'd love to migrate to Hugo (which I've been loving) but it will be a hassle with moving every page into 20+ languages.
And how does this scale? As more of those feature come, and you cannot opt-out of them, even as a paying customer.
Plex has a horrible report with me, and though I still use it, I'm tempted to try other apps now.
Maybe our use cases are different but there's nothing reactive needed for me.
What did you find JellyFin had, that Plex didn't?
That's a huge plus, however sadly Jellyfin doesn't handle subtitles well, and I really dislike the lack of a quick "skip forward" action. So I tend to still use Plex.
An Open source License
I just checked to see if I put my finger on the rough edges and the biggest one is around navigating through the library. While both Plex and Jellyfin can sometimes fail to find the "best" cover art, Jellyfin misses about 8-10x as often, often yielding random screenshots from the movie or a crazy zoomed-in view of some cover art. Plex far less often misses. (This is running the latest on both and giving both a full metadata refresh of the affected libraries and then the affected title again just to be sure: Jellyfin 10.8.10 and Plex 1.32.3.7192.)
Use case is obv different but close enough that I needed to triple check that I'm not going mad.
It’s good, but Plex is just better. In addition, it just won’t play some media that Kodi will play. I feel like Kodi will play just about anything, Plex frequently gives me issues with certain formats.
I ended up choosing Plex because of Jellyfin’s issues with transcoding (I’m lazy to pre-transcode all media to Apple native/ compatible formats). It would randomly just crash on me.
And second reason was the really poor AppleTV app. (It was in TestFlight back then, not sure where it’s at now).
And third, unavailability of downloading to devices.
Hmm, no, it doesn’t. No idea why you believe that. It works perfectly fine with https url.
I don’t really understand the rest of your comment as indexing and metadata look ups are done by the server and not the client. Plus Swiftfin uses VLC under the hood so it shouldn’t have issue with playback.
Are you using the fairly recent stable version or are you experience on an older development version? Swiftfin has been officially available for only a month.
If the indexing and metadata is done by the server, then the server just is worse than Plex at figuring out what things are.
I can't tell you why it crashes when I try to play back videos that work just fine via the web interface, but it does. They're normal 1080p h264 .mkv files.
Most features are actually plugins made by the community. This felt buggy and cheap.
It was lacking a lot of stuff like trailer support (no the community plug-in does not count)
Also the metadata scanner is a lot worse. The interface is worse. There’s a lot of setup needed for each device but Plex “Just works” (TVs, iPad, phones, etc)
Overall JF is a great project for casual users but it’s not as good as Plex
That said, some of the native clients (like Findroid) are excellent. They still lack in features compared to Plex, but they're very pleasant to use.
Ever since I found out about the fact you need to pay a subscription to use hardware transcoding on your own, self-hosted Plex server, I've always ignored Plex as an option. The license situation has only gotten worse over the years too.
I get that the Plex devs want to earn money, but I'm not paying a subscription to play files that never even need to touch their servers.
Findroid seems to solve these issues so I'm quite happy with it.
Of course, these are open source software solutions so as long as they are under active development then I expect for the software to get better.
Also, recently discovered it has plugins too, like syncing status with Trakt.
Just one (big) issue is that it loses it's Chromecast connection when switching between wifi => mobile => wifi.
My terras doesn't have WiFi, so it's a big annoyance.
At the same time I also moved from plex to jellyfin, and it's really nice, but some files stutter during playback in both the browser and on my chromecast.
Trying different hardware accelerated decoders did not help, so now I'm not sure what to do and debating to go back to plex. Although plex felt like it was getting worse in terms of functionality (I can't put my finger on it exactly).
I had an issue where my Mac or iPad could not stream anything in h265 (not 100% sure about the format) in the browser. The Raspberry Pi would start transcoding which it lacks the performance for.
Fortunately the Jellyfin iOS client works perfectly, I’m guessing it uses hardware acceleration of the iPad.
A lot of the time the "native" app is using electron anyway, so why go through the hassle of installing it when it is just a app-specific browser?
I heavily use Plex DVR. Jellyfin is not even close in that regard.
Beyond that, I always find annoying bugs with Jellyfin. The last time I tried it, it couldn't handle Photo libraries well.
Also, I need it to work on Roku, and the experience has always been poor.
I understand some people have very limited needs (stream files on their PC onto their phone), but many people pay for Plex to get other features. While Plex is somewhat user hostile, they have delivered, and continue to do so.
Every time I tried Jellyfin the DVR stuff had weird problems and the client apps were notably inferior. In fairness I haven’t checked in a while.
Can't comment on Music, but JellyFin on my Dedicated Server has been very stable. It has indexed a large collection of movies and shows, makes decent recommendations, and tracks me well across devices. We use Infuse for iOS, Jellyfin on the Web and Android very frequently and we only very rarely found issues.
I will move away from Plex once Jellyfin is good enough.
The main annoyance was done once, and you can just go to the settings and disable it. Every once in a while they make minor changes that seem to promote their services, but they're very ignorable. I've only had to go to the settings once to disable/hide their annoyances.
I never quite understood the hostility towards them on this. I suppose if you insist on viewing Plex as solely for playing your own content, sure. But ever since I signed up over 5 years ago (before the streaming services), I knew quite well that I was signing up for a service and that I am not in control. I don't see people getting anywhere near as upset at Netflix as they are with Plex.
As much as they may have deprioritized local streaming - it's not at all dead. They continue to add features to it.
I've been using it with Roku for the last year and it works well for me. It's much quicker than the other apps (Netflix, Hulu, Disney, and god awful Prime). Sounds like there's a specific feature that's missing for you or you dislike? I'm curious what that is.
This has always been the sticking point to me for software like this that tries to make things "easy". I realize plex has (or had) a way to label folders as containing home videos, etc, but I vaguely recall problems with it.
I'd much rather see the text "foo.mp4" for a video w/o metatada than have the server just hide the video.
Edit: I still run a plex server for just my music library. Plexamp is the undisputed king.
The only thing I’m missing is iOS Chromecast support which was the only thing I actually wanted. Anyone has a solution for that which doesn’t include buying apps?
Big wish for jellyfin and the tvos was recommendation engine or randomizer as alphabetical and genre browsing is a little bland. This is after using the aarrs to download say all movies by a director.
But the experience is so goddamn janky compared to Plex (which has a whole host of problems of its own) that it’s —yet— worth switching.
I’ll keep checking in on Jellyfin now and then; I wish them well.
I run via nVida Shield devices as endpoints with attached drives connected to standard audio-video setups (TVs, speakers, receiver/amp, etc.)
Can't be bothered to mess around with transcoding and no need for streaming to multiple locations in the house so I don't need a transcoding-based solution like this.
Probably less of an issue on android with the Kodi app integration.
Infuse also does not support multi profiles on Apple TV. Which makes it essentially useless for multi-user devices.
Infuse is a very decent _paid_ app. That’s what’s going on. It lets you play with the interface and test its integration with your services/media. But to use it you pay either a subscription or a one time fee. Very reasonable in my opinion.
Now, I am aware that it might just be the selection of codec and resolutions I happened to try are all paid-only. But the way it went, I indeed felt "cheated".
Yes, Infuse may be a very good _paid_ app, but I do not like it the way it tells you that is a _paid_ app.
If you’re running over http, or using a self-signed cert, Chromecast won’t work.
It took me a while to realize that Chromecast doesn't play from the phone itself, you need a server with a valid HTTPS certificate that's reachable from the Chromecast itself to play content. You can also use plain HTTP, as long as you don't use self-signed certificates. For the routing problem there's no solution, you can't, say, have a phone hooked up to a VPN and play to a Chromecast on the local WiFi.
There's also an issue with putting Jellyfin in a different subdirectory (i.e. videoplayer.local/servers/jellyfin) but for me that still seems to work, luckily.
Also make sure the Chromecast can resolve your domain through its DNS resolver. If you use a local DNS server (i.e. the one built into your router) to resolve hosts in the LAN, you need to block 8.8.8.8 and 8.8.4.4 so Chromecast doesn't have a choice but to use your normal DNS server.
Firefox also doesn't seem to like my Chromecast but that's the case for every video I play.
Jellyfin is buggy and laggy and full of security issues... it's difficult to even play content on my TV. Music doesn't even play on Android app without some weird jittering bug. Plex just works. It's interface kind of sucks, and it has its occasional hiccups, and they insult your Taiwanese content with "Taiwan, Province of China", but at the very least it does what it claims to do... play my content.
If you want to run it yourself, I have a fairly easily modifiable docker-compose[1] file for you to adapt to your needs.
Of course, the applications use the native remotes for these platforms. Since I am the one that puts all the content on Jellyfin, my less technical wife sees it like any other channel ( like Netflix, Disney, or Prime ).
I do not use AppleTV anymore but I installed it on my iPhone as well. I had used Plex before. I did not a find Jellyfin any harder.
why reinvent a netflix back-end when the front-end is all you really need?