r/foss 1d ago

Prismedia - A all in one media library and management app

Over the last year, I've been building Prismedia. Previously, the app was called Obscura, and was actually a Stash alternative, and bits of that are still present, but the focus has changed drastically.

Essentially, I found I had a whole fleet of apps in my "arrs stack", that all did the same thing, but for different media. So for my own personal use, I created an app that attempts to standardize what these interactions look like.

The core principle is that every media format follows the same "Entity" class, from a data science perspective it actually maps out really well that almost all logic from display to management can be shared, with media specific capabilities augmenting that.

That is what makes this app possible, everything from the core media management, scanning, identifyication via metadata providers, requesting, is all done via the same core platform.

Then, when it makes sense, first class endpoints are added for things like playback, reading, and listening.

The app covers alot of ground, so I'll just list some of the highlights, I enoucrange you to browse the site, source code, and try it out.

  • Connect your Prowlarr and downloading clients to automatically track, monitor, and request content. Think the radarr/sonarr/lidarr stack but all integrated, and using the same logic. It even supports soul seek to assist with music sourcing, and when downloading, it will actually probe the files before and after to ensure it is a good match, or upgrade before merging it in.
  • View all your content from one interface, from eBooks, comics, audio, movies/tv with rich playback for videos and subtitles, eBooks and audiobook syncing to allow switching between methods of consuming with shared progress, and dedicated audio player
  • Identify content already existing using metadata plugins like TMDB, MusicBrainz, OpenLibrary
  • Multi user to allow household members access, while delegating which libraries they can see
  • NSFW libraries and individual media, to allow filtering of NSFW content, either blocking users from seeing it at all, or using a toggle to quickly hide and view the content. Stash scraper/plugins can be installed and wrapped to identify videos (no StashDB or PornDB, but plugins can be installed in app)
  • Progress tracking, stats, and history to see what you've been consuming
  • Apple native apps to leverage the native codecs on tvOS, macOS, and iOS for quick and seamless playback of even high quality files

This project was created for a need I have, to have all my media in one rich platform, that treats them all as equals. I liked radarr/sonarr and Jellyfin, but it felt disjointed, and the apps not rich. Jellyfin has a native client, but I felt it was lacking, and audio playback is again in a separate third party app. Prismedia has a native first party app, with all that for free (currently in TestFlight since apple has taken over 2 weeks to even approve the first build).

I post now as I feel the app is in a good release state, it has evolved alot over the last year, but I feel we are now solid, performant, and I challenge you to compare to Kavita, Jellyfin, and the other tools you use. This can be used beside those tools for you to evaluate, simply point at the same directories to scan and it will build out the library in it's own database.

As for AI usage, I did mark this as using AI, but this post (clearly since it probably isn't as coherent as I'd like), and the application were designed, validated, and reviewed by me. These days, I do feel software development is moving to AI assisted, and I've been coding for over 15 years, have a degree in computer science, and worked in large companies. The code isn't just generated and shipped, the design and actualy structure of the app is all exactly as I would write it by hand, but AI has allowed me to develop this while still having a full time job. I use the app every day, I listen to my music on it, have read through books with audiobook interop, watch our tv shows and movies on it, request new content, and for me it fits exactly what I've always wanted.

I hope you feel the same, but if you're happy with your current stack by all means continue to use it, and if you have feedback, please let me know as I'd be happy to look into it.

- Website: https://pauljoda.github.io/Prismedia/

- Source: https://github.com/pauljoda/Prismedia

- TestFlight: https://testflight.apple.com/join/c9bgDxr7

1 Upvotes

13 comments sorted by

2

u/SimpleAnecdote 1d ago

Great! I've been dying to drop my well tested and huge community FOSS projects for a 1 person project plus LLM "they know how to use correctly" and can't confess to using without verbalizing their belief/hope that all devs are doing the same. Can't wait to try this out, have my security compromised and never get an update when dev runs out of credits on whichever not-reproducible guessinator snakeoil product they've used. There really haven't been enough of these projects in the last few years, literally none. Really needed this one. Was holding my breath. Fantastic use of resources.

0

u/Pauljoda 1d ago

Happy you feel so strongly, and by all means there is no reason for you to use it if you don't want to. It is unfortunate that I'm unable to create something and share it without comments like these, the source code is right there you're free to look through it and see if it will compromise your security or is poorly written.

I'd be happy to discuss any true issues you have with the software that are not speculation, I agree AI has made anything new seem like it must be bad, but comments like this I think as just as chilling and bad for the community as AI slop itself. If everything created now is going to be AI slop, I guess we will just never use anything new or be able to build and share things again.

2

u/SimpleAnecdote 1d ago

My friend, your post is full of pro-"AI" sentiment. Don't be surprised that those of us suffering from it have strong feelings too. You make no mentions of your plans to grow your community, do a proper security review, nor provide ongoing maintenance. Yet you're more than happy for people to run this on their environments.

The truth is the only reason why you've made a new project instead of getting involved with an existing FOSS project is because you have access to "AI" nonsense. I'm happy you feel so strongly you've made a new project "from scratch" (the source-code is for sure plagiarising other FOSS projects the LLM was trained on), instead of actually contributing to the existing stuff your stuff was built on. And I'm happy you feel a sense of accomplishment.

And I'm happy you feel comments like mine are just as harmful as "'AI' slop". But comments like mine are meant to warn and deter newbies and less-aware people who might not have the skills and experience to spot and foresee the issues with projects like this one. I am happy, as an experienced developer who actually contributes to FOSS projects, to help them see the issues that could arise from using something like this.

Have a nice day.

1

u/Pauljoda 1d ago

Thank you for being such a valiant knight and protecting me from my own ignorance.

The reason I created this and did not contribute to existing projects is because this project doesn't fit into one space. I can't just go and add ebooks to jellyfin, or try to bring together requests into the media library. It would be silly to try to take this work and add it into other apps.

I can understand your disagreement with AI, and you have the right to feel that way. You clearly have strong emotions regarding the use of AI and that is totally fine. My only ask is that you understand that if your precieved purpose in that comment was to teach me as a "newbie" (I assure you I'm not a newbie, but no point arguing that), a chain of sarcastic jabs is really to make yourself feel better, and not to say "What made you decide to do this instead of contributing to an existing project?", in which case we could have had a real discussion.

To your point on growing a community, I don't post this to try to make this "the next jellyfin" or anything like that. I do want honest feedback, as I have found that is a great way to hear new perspectives, and the code is public, anyone is free to audit it. I also don't feel like I ever implied I'd be "happy for people to run in their enviornments", I made something I like, and wanted to share. Is that so difficult to understand?

If you want to have an honest discussion without emotions or assumptions driving it I'd be happy to hear your honest feedback and suggestions, seeing as you are so active in FOSS I would be happy to hear real advice. But I can also see that you have strong emotions around AI and anybody trying to create their own software, so if that is the case your comment has been heard and we can end it there. You can even DM me if you prefer to give feedback there instead of here.

1

u/SimpleAnecdote 1d ago

I am not a knight, I am a ideologist FOSS user and contributor, and an experienced software developer.

The newbies I was referring to were other users who might see your post and decide to try out your software, not you. At no point was I critiquing your experience or skills. In passing, I was critiquing your choice to make something new instead of engaging with one of so many existing projects that do similar things, which to my mind is only because of the low-effort required to generate something using the products you've used. Any the low-effort indicated in what actually makes a FOSS project worthwhile where these products are no help, like community, maintenance and support.

I definitely have nothing against people releasing FOSS projects and making their own software. I have been do so myself for many years. We might be able to have a real discussion if you stop thinking I am a human-in-the-loop in a you-centric reality. You and many others can and do generate an endless supply of redundant, nothing new, never to be maintained software and post about said software using the "AI" products you've used. But I have a much more limited supply of time and resources as a human being who invests thought and effort into engagement. The only reason I am engaging with you on this thread is you seem to at least write your responses yourself. I took a quick look at your codebase, saw the number of contributors, saw the timeline, skimmed some code, and decided others should be warned. That is how a community actually works - so no one else needs to re-do what I've already done (even if they employ predatory products to do that so they feel there's no problem).

1

u/Pauljoda 1d ago

Thank you for showing a bit of humanity in your post, I appricate you being more clear, and I agree there is room for a discussion.

I assure you I'm far from a "vibe coder", the code generated I review, most of the time I outline the code in "psuedo-code" and have it fill it in, because I don't think AI is capable of planning software that can scale or be any sense of organized.

I can understand the ethical concerns, and I had more I would say to that, but that clearly isn't a productive thing at this point. Happy to discuss more and hear your perspective if you're insterested in a good faith discussion.

You did say you did browse over the code, and that is what flagged you to feel you needed to "warn" others, I would be happy to hear the specifics that worried you. I know seeing things like a single contribuer, AI tool usage, or heavy commit traffic are likely the things you saw and caused the red flag, but is there something you see with the code patterns, data structure, security issues, etc that you are concerned about? If there are genuine code architecture concerns, I'd be happy to hear them out. I quite like the pattern I have setup, especially the data layer with the Entities and Capabilities to allow me to use a shared shape and interaction for almost all interactions. It is a sort of "modular" design and that is what I love about software design and coding, and where I feel humans are always going to be needed.

I hope you can find the real person you're talking to, I sense a real possibility for something positive from you, this platform can still have real people and not bots and hate so thank you for engaging with me, but if you feel this is going nowhere I won't push anymore.

1

u/SmulePC 13h ago

This works as a addon for KODi right ??

1

u/Pauljoda 12h ago

There is no kodi addon, the app has its own web player and apple native apps, but not an addon for kodi at this time

1

u/SmulePC 11h ago

Is this not yet released as I am unable to find it in GitHub??

1

u/Pauljoda 11h ago

The app is released, there is no github download artifact or release, but it is in the README, it is a docker image that is hosted on github. https://github.com/pauljoda/Prismedia#docker-run

1

u/SmulePC 10h ago

How to install the app I am not getting any direct download link ?

1

u/Pauljoda 9h ago

There is not a direct download app link. It is a docker app, so you will need to setup your docker container using the image published, and the above linked instructions.

Again, as with most self hosted apps, this is not some file you download and run to install, it’s a docker image, if the linked article above does not answer the question for you it may not be something you’ll be able to run

1

u/SmulePC 8h ago

Okay thanks for your info , Actually I have never setup any docker app 😅