Not too long ago I found myself tired of how Plex on my server would periodically break itself and unhappy with how the company was continuing to pivot away from the core product, so I started looking into alternatives.
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.
I'm not sure that ensuring BSD support is a requirement of well-engineered software. You're welcome to start your own project vs. complaining about Jellyfin, a free and open project. I just wouldn't confuse their product focus with badly engineered software on account of it using a modern language.
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.
It's not just on BSDs that these breakages occur. The forums are full of reports, many of which occur on Linux.
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.
With gstreamer and it's webrtcbin stuff, it's incredibly easy to hack something together that would get an MVP going.
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.
I'd reckon you could get very far relying on GPT-4 to create the appropriate ffmpeg calls based on your precise needs, it has the documentation in its training corpus and is great for this kind of thing.
no one is saying bsd support is a requirement, no one is complaining about jellyfin existing for free, no one said it is badly engineered. they're just saying that there's not a good fit for their use case, which sounds like it's the same as mine: running in a truenas jail.
so stop getting defensive. you could have just said "there is docker" and saved everyone the passive aggression.
I assure you there's no passive aggression. They said "I'd rather that the software be engineered well enough to not need it" and I replied to this portion of their comment. If you have something constructive to add, please do. :)
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).
It looks like the port was compiled with a binary SkiaSharp [0] since that requires Google tooling to build. Interesting to see the committer allowing this. Apparently it is not the first time.
It’s been several months so I forget the exact issue, but at that point whatever the C# runtime was didn’t install cleanly without manually building a specific branch or somesuch, with no official package being available for FreeBSD.
Is Docker not an option? As far as I can tell, Docker is available on FreeBSD, and Jellyfin has a Docker image available, I've been using it for a few years at this point (on Linux, though).
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.