8 ms·
A Call for Developers – Jellyfin
- navanchauhan 3y agoI love Jellyfin. Been using it for 3 years now, will definitely participate in Hacktober fest!
- revskill 3y agoIt's hard to spell the "Hacktober fest" word though. I guess the easier term could be: Hacktember.
- hotnfresh 3y agoI looked at adding a much-requested and not-that-hard-to-add feature a while back (allowlist-by-tag), got as far as figuring out where to add it in the server code… but bailed when I realized I’d need to shepherd PRs through at least two repos to get the feature delivered, while juggling both repos to do integration testing. Monorepos for tightly-coupled code are so nice… Maybe I’ll give it another look. [edit] incidentally, allowlist-based parental controls are one of the best tools to have, and basically nothing supports them, which is really frustrating.
- Modified3019 3y agoIf nothing else, I’d encourage you to send them feedback on what makes you bounce off, as you probably weren’t the only one. Hell it probably sucks for them too, but they’ve gotten used to the suck and forgot about it.
- beebmam 3y agoThis is a huge problem with git/GitHub. Cross repo PRs could simplify this process. I've wanted this as a feature for nearly a decade.
- foooorsyth 3y agoGit and multi-repo were a mistake. Git’s packfile is a disaster. Checkout Sapling and ReviewStack. They look promising.
- xanth 3y agoWhat makes Sapling SCM different & an improvement over git; from a little googling it seems to be a skin over the top?
- foooorsyth 3y agoThey’re a decent bandaid for a company already suffering from multiple-reposis. Cross-repo changes, stacked PRs. It’s not the ideal starting point but it’s less pain than the status quo.
- codexb 3y agoPlex supports allow lists and deny lists. Nice to be able to gate most movies by rating and then allow some others on a per-movie basis.
- fluidcruft 3y agoI was frustrated about the allow-list for the longest time but someone on Reddit showed me how you can do allow-list on Plex. I forget the terminology (and you have to be careful because there are both tags and labels, I had been trying the wrong one) but you basically create a label and set the children accounts to only see content tagged with that label.
- paradox460 3y agoFwiw, Plex parental controls are absurdly flexible. I have it set up so the kids account can only watch things that have been given a particular tag. Due to how granular Plex tags are, this means you can give them a whole movie or TV show, some of a TV show, or a single episode As it is right now, they have access to a reasonably large corpus of content, but nothing new; every time I acquire a new episode of bluey or something, my wife wants to watch it first. We basically always approve it, since we aren't that likely to object to most things you'd find in a kids show, but it's nice to have the peace of mind
- 22c 3y ago> every time I acquire a new episode of bluey or something, my wife wants to watch it first I wish Jellyfin had something similar, as my current process involves manually tagging things with a tag that isn't visible, then removing that tag once I've reviewed it.
- paradox460 3y agoIs it possible to automate that via webhook or something similar? You could have whatever media acquisition program you use set that tag, and then remove it whenever you're done. Would eliminate 50% of the steps, until more granular abilities are added
- 22c 3y agoI believe there's an API and I could maintain a microservice to do that for me, but there are probably a bunch of people who want a similar feature and don't want to have to run a microservice to achieve it.
- StimDeck 3y ago[dead]
- bluedays 3y agoI want to use Jellyfin but that’s no official client for Apple TV
- xp84 3y agoAre the existing clients that bad? I tried one years ago, and I didn’t have any issue with the Jellyfin client. I only stopped using Jellyfin because Locast was killed off and that was my main thing I was doing with it.
- navanchauhan 3y agoInfuse media player[0][1] has an awesome Apple TV / iOS / macOS client. It even integrates with Jellyfin. [0] https://firecore.com/infuse https://firecore.com/infuse [1] https://jellyfin.org/posts/client-infuse/ https://jellyfin.org/posts/client-infuse/
- hotnfresh 3y agoInfuse is great. I’d guess it’s existence and quality level are why the official client doesn’t get more attention.
- singhrac 3y agoThere’s Swiftfin, no? Development is a bit sparse but it’s worked ok in the past when I’ve needed it.
- anotherhue 3y agohttps://github.com/jellyfin/Swiftfin https://github.com/jellyfin/Swiftfin I use it, it's fine.
- bhaney 3y agoI've been using Swiftfin since I got an Apple TV, and it's... okay. Lacks a lot of sorting/filtering options, gets janky and starts loading movie cards in the wrong place if you scroll too fast, and sometimes stops updating the progress bar for the rest of the movie if you pause it, but it's still useable enough.
- j1elo 3y agoAs a developer who only works on Linux systems, how is the dev story for C#? I guess Mono is still a thing, and that's the runtime that C# projects use to run, right? I've always felt that C# felt a bit out of place when not in a Windows system, but maybe I've been always wrong. Never had the opportunity (or need) to use it at work, so I'm pretty ignorant of how it behaves and how good the tooling is to write it from Mac or Linux. OTOH I've read multiple times that it's a nicer Java and F# seems to be well liked around here, too.
- Rapzid 3y ago> how is the dev story for C# It's fantastic and it runs natively on Linux. Mono is still around and used for some niche use cases(WASM, interpreter, etc).
- WorldMaker 3y agoAlso Mono and the rest of .NET are in the same open source repositories today and it isn't as much a case of replacement as a proper code refactor and merge over the course of the last several years (by both Microsoft and a large open source community).
- Macha 3y agoIt's a little funky on Arch to get it installed and with the death of Mono the only option for IDE is microsoft's closed version of vs code as the c# plugin doesn't work on vscodium. (And much like Java, lots of C# language design assumes you're using an IDE). But apart from that for a web app it's fine.
- cjblomqvist 3y agoRider works very good (but costs you some $$$ off course).
- actionfromafar 3y agoYou can wrangle C# with minimal IDE support, but it's not as smooth. It's easier to fix little things than to green-field new stuff, IMHO.
- ncallaway 3y agoOne suggestion I’ll make to the Jellyfin team is to post this call at the point where users are requesting things too. In the example in the blogpost (Chromecast support), in the issue I was asking a bit about how I could help implement the feature (https://github.com/jellyfin/Swiftfin/issues/271#issuecomment-1143104874 https://github.com/jellyfin/Swiftfin/issues/271#issuecomment...). Even if there’s nothing I could have productively done to contribute to that feature, I would absolutely have gone to those getting started features. So, I’d encourage the team to have a pretty quick hand in issues when people are asking to help to link to this blog post and getting started resources. Finally, none of this is in anyway a criticism of how any interaction was handled. I super appreciate everyone that works on Jellyfin, and I know onboarding developers can often feel like/be more work than not. Just a suggestion for a good spot to add some CTA links that I think would convert reasonably well
- shikhathakur 3y ago[flagged]
- distract8901 3y agoOh, I had no idea jellyfin was based on C#. I started my career as a C# dev, but now I only write C++. I miss C# dearly and have been badly wanting a project to flex those muscles on. I guess I'll dive into jellyfin now. I've got a list of annoyances and now that I know it's C#, I'm ready to get fixing
- movedx 3y agoThank you! I'm not affiliated with the project, but I do use it. I appreciate any and all efforts put toward improving it.
- barake 3y agoYou're likely in for a treat if you haven't written C# in a while. The language has evolved quite a bit, especially around all kinds of nice ergonomics. Interesting things like pattern matching, using statements, and performance oriented primitives. I got back to writing C# full time earlier this year and it's a joy.
- _a_a_a_ 3y agoI must admit to disliking C#'s functional libraries. I have wasted so much time trying to get the buggers into a pipeline. It becomes agonising in a way that doing the same thing in Scala was so very much a dream. I keep discovering the hard way, just don't do it (or just get a whole lot more experienced at it, although I don't know how without going through the pain barrier, and deeper each time, like Inception). Could you give me a hint about these 'performance oriented primitives' please? (The only ones I can think of are structs versus classes) Edit: but isn't there a new thing where you can subtype a class without allocations, like Scala's record classes, or is that new in Java, can't remember.
- distract8901 3y agoI've been keeping up with the language and I am... Less than enthused. Maybe I'm just yelling at clouds, but I see more bloat than useful features recently. Non-nullable reference types as default was a bad idea and I will die on this hill
- wargames 3y agoAround a year ago I jumped in, picked up some tasks, submitted one or two PRs to fix where exceptions were being used for flow control, basic stuff to give the maintainers confidence that I could contribute. All they did was say those exceptions -- which happen every time the app starts -- don't need to be fixed. A bit of a turn off for wanting to help on the project....
- deleted 3y ago[deleted]
- lozenge 3y agoI don't know the full context of the situation, but when you have a limited amount of time to tend to PRs, it doesn't make sense to review non functional changes. It also depends on what their testing situation is like. Are they relying on their canary users to report issues, or do they have integration tests? There's also stuff like Hacktoberfest which used to encourage pointless PRs, and MOOCs or real courses which involve submitting PRs that often have no actual value to the project, which makes maintainers wary. If anything it would make more sense to do it the other way around - make something useful, then once you are "in" they can wave through your non functional changes without much thought.
- righthand 3y ago[dead]
- jagtstronaut 3y agoIf a project is going to reject a “pointless improvement” then it is gonna be tough for any new contributors to get traction in the code base.
- righthand 3y ago[dead]
- mmh0000 3y agoI do not understand why anyone uses Jellyfin, I've tried it twice, and it seems soo finicky and opinionated. I've always just had a Linux computer hooked up to the T.V. Add a little bit of ktorrent, VLC, and SMB. Never really had any problems with this and its much much simpler.
- shermanm 3y agoDo you live with non-technical people or have visitors to your house? I have a kid and a wife who isn’t as nerdy as I am. Plex just works. I can show a babysitter or a grandparent how to use it in about a minute. Can’t say the same for a Linux box, as much as I’d love for that to be the solution.
- righthand 3y agoI agree. Media specific OSes are just okay but I have no problem about plugging my laptop into an HDMI cable to watch something. I have no anxiety about how a laptop sitting on a tv stand will look.
- afavour 3y agoI don’t think anyone is using Jellyfin because they have anxiety about what their laptop looks like on a TV stand. My whole family uses Plex, they can operate it incredibly simply with a remote and don’t have to unplug and replug a thing. The simplicity is key, if you’re only catering for yourself/an exclusively techie audience then it’s not necessary.
- skydhash 3y agoI use Infuse on my Apple TV and Jellyfin is a nice backend for it (not necessary though). It’s just a nicer interaction than fiddling with an HTPC.
- Jochim 3y agoIt's not an OS, it's a client-server application. Ignoring physical appearances, it presents large libraries nicely and allows you to use your phone or remote instead of needing to fiddle with a laptop. A few other nice features: can stream different content to multiple devices, users can be given access to specific libraries, and content can be age gated.
- irishloop 3y agoIt is a bit funny to me that reading this, I can only guess that Jellyfin is a... Plex clone? I guess the writer assumes I already know about/want to improve the product which IS its intended audience, but coming from HN I'm just like what... is... it...
- afavour 3y agoThat’s just the nature of HN, you can post absolutely any link on here and I don’t think it’s reasonable to expect a blog post author to accommodate someone arriving on the page with zero context. The Jellyfin blog achieves one important criteria: when you click the logo at the top it takes you to the actual homepage, rather than a blog homepage. So if you want content on what Jellyfin is it’s only one click away.
- LeoPanthera 3y agoJellyfin is a Plex clone, yes. One I'm hoping to switch to since Plex banned all servers hosted on Hetzner.
- jtriangle 3y agoJellyfin is a fork of Emby, that happened when emby close-sourced a bunch of things and pissed everyone off. It's not really a plex clone inasmuch as it's a truly self-hosted alternative, given that plex uses centralized auth (aka you're possibly back to VLC if your internet is out). I've used Jellyfin for years now, hasn't really skipped a beat aside from dumping the entire library DB when it started without the library storage spun up, and even that was just a rescan overnight and everything was back and happy.
- carlosjobim 3y agoYou're confusing Hacker News with your chat application or your e-mail. Links posted here are not specifically directed towards you as an individual, they're for the general public to reflect on.
- clutch89 3y agoHopefully chromecast functionality for Jellyfin iOS finally gets developed, that's literally the only reason I use Plex instead of Jellyfin. It'd be great if someone with chromecast API skills hopped in and helped the team out!
- mrb 3y agoSorry for the rant, but as someone who has used Jellyfin and similar apps like Kodi, I have to say I find their code quality and general software architecture to be crap. I wish there was a good alternative. A few examples: I have installed the Jellyfin server on a Linux box, and the Jellyfin app on a playback device (Google Chromecast with Google TV, GCCWGTV). When the app detects the playback device or TV doesn't support, say, the 7.1 Dolby audio stream in the media file being played, it asks the server to transcode the media to something it supports (eg. stereo audio). But while doing so, it transcodes both video and audio, forcibly, even though it's only the audio track that's causing the problem. The server is forced to transcode on-the-fly a perfectly supported H.264 stream to... another H.264 stream of the same bitrate, while this could be avoided... facepalm In theory this is rather simple to fix, as the Jellyfin server is built on ffmpeg, and ffmpeg is perfectly capable of leaving the video stream unmodified while transcoding only the audio stream. But the fact the developer(s) chose to implement it this inefficiently doesn't give me much confidence in the rest of their architectural choices. Maybe this inefficiency was inherited when they forked Emby, so in that case redirect my rant toward Emby :-) Another issue with Jellyfin is it is incapable of DTS 5.1 passthrough. DTS stereo passthrough works. Dolby 5.1 passthrough works. But not DTS 5.1 passthrough. At least on GCCWGTV. That boggles my mind, given DTS 5.1 is so ubiquitous. So because Jellyfin doesn't do DTS 5.1 passthrough, I must transcode to stereo. And because it must transcode the audio, it must also transcode the video (see above), taxing heavily my server CPU whenever it's playing media. I have also experimented with Kodi. Something in the scrapers breaks every 6 months. And for everyone who knows the scrapers are primordial in a nice user experience in Kodi. But for some reason, in Kodi, scrapers are not first-party components. They are third-party poorly-maintained junk that seems developed by random people exchanging source code patches on the kodi web forums. Like the Universal Movie Scraper code trying to pull the movie title and description and actors from IMDB. Guess how this is implemented? By some hot garbage of XML file hundreds of lines long, containing regexes that have to be entity-encoded by hand when edited. What is this? The 2000s? I get it, that IMDB disallows "scraping" in their ToS, so Kodi doesn't want to include scraping code in their codebase, but that doesn't justify the low code quality found in scrapers. Use an actual language (Python, C#, anything) with an HTML parsing library, not some junk regexes. I hate to sound so negative, in the end I'm still grateful for these apps which are open source and free, developed by unpaid volunteers. So, thanks, but man, I get frustrated with low code quality.
- pierat 3y agoYeah, whatever. They're a pirate media app, like Plex. But the MOMENT you say that a thing doesn't work and they ask for examples, you're booted if you say it was this or that show. Face it, this isn't for home movies. This is for bulk piracy loaded in from the Arrs suite. The more they are truthful with themselves with that, the better they'll succeed.
- ncallaway 3y agoI use Jellyfin quite often, for a fairly large library, and I don’t pirate anything. You can still buy physical media, and if you own that media, it’s totally legal to rip to digital storage.
- UtopiaPunk 3y agoIn the USA it is definitely not legal to rip any physical media that has any DRM, which is practically all DVDs and Bluray movies (because of the DMCA). But I think you'd be hard-pressed to find anyone with a moral stance against doing so.
- Mindwipe 3y agoBreaking DRM to rip physical media isn't legal in basically any mainstream country in the world (since membership of the WTO requires you to pass an anti-circumvention law). Heck, in major nations (like the UK) ripping unencrypted media isn't legal.
- ncallaway 3y agoMy understanding is that the librarian of Congress has granted an exemption to the DMCA anti-circumvention clause to allow ripping DVDs for non-infringing fair use purposes, including personal backups. I am not a lawyer, though.
- Mindwipe 3y agoThey have not. https://www.govinfo.gov/content/pkg/FR-2021-10-28/pdf/2021-23311.pdf https://www.govinfo.gov/content/pkg/FR-2021-10-28/pdf/2021-2... There were campaigners asking for one but it wasn't given.
- gerwim 3y agoI didn’t know they needed developers. I’m an avid Plex user but C# developer by trade. Cloned the server and web projects and worked on my first issue!
- HumblyTossed 3y agoThis could be interesting. How good are the dev docs?
- girishso 3y agoCurrently using Jellyfin installed on an old Mac mini. It’s mostly good, except I could not figure out the parental controls. Exploring other options now, in particular emby.
- hotnfresh 3y agoBest option right now is to have separate libraries. Adult accounts (password protected) see all libraries, kid accounts only see kid libraries. It’s not great, having to SSH into the server and move files around as the kids get older. Works, but isn’t ideal. Really ugly results in some interfaces, but others (infuse IIRC?) at least provide combined “movie” and “tv” categories so you don’t have to try to remember which library some on-the-line film is in. There are other approaches but they’re worse (more time-consuming and prone to letting things slip through)
- lostmsu 3y agoI just took a look at their GitHub repos, and the main one has 90+ PRs open for some for over 8 months with no feedback. What is the point of this call to action if the current team can't handle the current PR volume? As it stands more PRs won't help the project.
- lostmsu 3y agoTo be more specific, I looked at the list of open feature requests, and one of them is this one: https://github.com/jellyfin/jellyfin/issues/1714 https://github.com/jellyfin/jellyfin/issues/1714 A rather trivial PR for it is open since Feb 2023 with no addressable feedback: https://github.com/jellyfin/jellyfin/pull/9291 https://github.com/jellyfin/jellyfin/pull/9291
- arcastroe 3y agoI really want to use Jellyfin. I made the switch a while ago, but I went back to Plex once I found out that many of Jellyfin's APIs are unauthenticated, including video streams! It seemed too risky to expose Jellyfin to the web. https://github.com/jellyfin/jellyfin/issues/5415 https://github.com/jellyfin/jellyfin/issues/5415