
Show HN: Plex Alternative with Custom Metadata and Better Search - kumpelblase2
https://github.com/kumpelblase2/vima
======
Wowfunhappy
> Vima's basic concept is that a video does not get any metadata from the
> system itself, but the user has to define everything that one could assign.

I've already done this with my video library! I have a wonderful little
program called Meta[1] that lets me easily set the metadata on all my media
files (audio + video) in the format built into the file specification.

I would encourage you to look at interfacing with the metadata built into the
file, as keeping a separate database feels a bit like re-inventing the wheel.
(Mind you, Plex etc do the same thing when they just grab everything from
imdb)

[1][https://www.nightbirdsevolve.com/meta/](https://www.nightbirdsevolve.com/meta/)

~~~
kumpelblase2
My personal use case does not evolve around the metadata that is usually
present in the file itself. I'm aware that this exists and that Plex pulls
information from there too (see the footnote[1] in the section about Plex). I
don't think it makes sense to try and mirror all the metadata in the file
metadata, but in the spirit of being configurable and for portability reasons
it would make sense.

I planned for adding a provider that would read certain metadata from the file
(just like any other tool) as well as possibly also pushing edits back if
wanted. Not sure when I get around to that.

[1]: [https://github.com/kumpelblase2/vima/#what-is-the-problem-
wi...](https://github.com/kumpelblase2/vima/#what-is-the-problem-with-plex--
other-media-servers)

------
kumpelblase2
Hello HN-Community!

I've been working on this project here and there now about 2 1/2 years: Vima.
I needed a replacement for Plex as it doesn't serve my needs very well since I
wanted to search for more specific data that Plex doesn't allow me to. So in
Vima, you can effectively search for any kind of metadata one can assign to a
video, automatically creates playlists from these searches and let the system
prefill certain metadata for each video. The user is in complete control of
what metadata a video can hold and what types they are.

One use case could personal video "asset" management (which is what I am
doing) to more easily find certain kinds of videos not by their name, but
rather their actual content represented as metadata. This could be for video
lectures, youtube channel backups or similar cases where there's a bunch of
loosely connected videos. Alternatively it can be used like Plex for movies
and shows but it would be lacking the data providers and doesn't have a
concept of videos belonging to another.

This is a state that I'd consider V1.0 given the features it has right now are
sufficient and it works. There are obviously several additions that can be
done (and I hope I can get around doing them) and the design could be polished
in many places. But I wanted to get it out there.

Some technical info: I decided to use rails+mongodb for this project because
of the dynamic nature of the data. One can add and remove metadata at will,
which can be of varying types which makes it ideal for a dynamic language and
a document store. I think it worked out pretty well even though I had to leave
my familiar lands. I also implemented a stripped down version of the apache
lucene query language to allow for proper searching of all the different
metadata (internally it gets translated into a mongodb query to execute). I
initially didn't want it to be an SPA but over time it is becoming more clear
that it would make several aspects easier to use and some workflows faster,
but for now I'll just stick to normal templates.

