Je lokale videocollectie organiseren met JavBoss
Veel mensen hebben gigabytes aan video's, films of niche-content die stof verzamelen op thuisservers of externe harde schijven. Bestandsnamen zoals IPX-633.mp4 of SSIS-001.mkv zeggen niet veel wanneer je snel een specifieke videoclip wilt vinden of het profiel van een actresse wilt opzoeken. Volledige mediaservers zoals Plex of Jellyfin hebben vaak moeite met niche Aziatische releases: ze kunnen simpelweg codes zoals IPX-633 niet parsen of correcte coverart ophalen.
Onlangs stuitte ik op een interessant open-source project op GitHub genaamd JavBoss. Het is een lokale webserver gebouwd met Go en React, ontworpen voor het indexeren, catalogiseren en comfortabel bekijken van JAV-content en willekeurige video-opnames.
Hoe het catalogisatiesysteem werkt
De auteur benaderde de taak vanuit een praktisch bruikbaarheidsperspectief. De applicatie functioneert als een lokale webservice: het scant opgegeven mappen, haalt codes uit bestandsnamen, verzamelt metadata uit verschillende externe databases en bouwt een duidelijke galerij op.
Het belangrijkste kenmerk is volledige autonomie van je bestanden. JavBoss werkt in read-only modus. Het hernoemt geen bronvideobestanden en rommelt je videomappen niet vol met NFO-bestanden of afbeeldingen. De SQLite-database, cover-cache en storyboards worden strikt opgeslagen in de data/-map.
De belangrijkste functies uitgelicht
Laten we kijken wat dit project onderscheidt van conventionele command-line scrapers.
-
Automatische code- en metadataparsing. De applicatie haalt codes in
IPX-633,SSIS-001-formaat of ondertitelachtervoegsels eruit. Metadata wordt tegelijkertijd uit meerdere externe bronnen gehaald. Kaarten bevatten titels, releasedatums, studio's, tags en maten van actresses (lengte, leeftijd, afmetingen). Als automatische detectie een fout maakt, kun je een kaart eenvoudig handmatig koppelen. -
mpv-spelerintegratie. Webmediaspelers worden vaak beperkt door browsercodecs. De JavBoss-ontwikkelaars vonden een eenvoudige oplossing: de desktopversie kan lokaal mpv direct aanroepen. Je krijgt een volledig uitgeruste speler met ondersteuning voor elk videoformaat, aanpasbare sneltoetsen en de ModernZ-interface. Terwijl je in mpv kijkt, kun je met één knop schermafdrukken maken, en die verschijnen direct op de videotijdlijn in de webinterface.
-
Bestandsverplaatsingstracering. De indexeerder bewaakt toegevoegde mappen op de achtergrond. Een bestand naar een andere schijf verplaatst of een map hernoemd? De database werkt de paden bij. Gebruikerstags blijven behouden omdat ze gekoppeld zijn aan de digitale vingerafdruk van het videobestand. Als je een externe harde schijf loskoppelt, blijven de kaarten in de database, en wanneer je de schijf weer aansluit, worden ze weer actief.
-
Navigatie en filtering. Je kunt video's vinden op tags, studio's, actresses of releasedatum. Er is een handige willekeurige selectiefunctie die werkt over je hele medialibrary of binnen een specifieke set filters.
De interface ziet er duidelijk uit en is niet overladen met onnodige menu's:




Technische stack en implementatie
De projectarchitectuur is overzichtelijk. De backend is geschreven in Go met het Gin-framework, GORM en de ingebouwde SQLite-database. ffprobe wordt gebruikt voor het lezen van technische videoparameters, terwijl previews en storyboards worden gegenereerd via mpv of ffmpeg.
Het frontend is gebouwd met React, Vite, Tailwind CSS en Zustand. Standaard draait de service op poort 8655. Je kunt het installeren met een geautomatiseerd script, door een binary te downloaden of via Docker Compose:
services:
javboss:
image: ghcr.io/solr159/javboss:latest
container_name: javboss
ports:
- "8655:17654"
volumes:
- ./data:/app/data
- /:/host:ro
restart: unless-stopped
In de container worden video's afgespeeld via de ingebouwde HTML5-speler in de browser, en lokale paden van het hostsysteem worden automatisch doorgestuurd.
Voordelen en specifieke overwegingen
Dit hulpmiddel is nuttig voor iedereen die een lokale collectie onderhoudt en genoeg heeft van chaos in hun bestandssysteem.
Sterke punten van het project:
- Geen enkele interferentie met de oorspronkelijke mapstructuur.
- Eenvoudige database-overdracht tussen systemen via straightforward
data/-kopiëren. - Gebruik van meerdere bronnen voor metadata-aggregatie.
- Handige webinterface met ondersteuning voor het openen van pagina's in verschillende browsertabs.
Er zijn enkele beperkingen om te overwegen. De initiële import van een grote collectie kost tijd voor achtergrondpreview-generatie en cover-downloading. Als externe metadatasites niet beschikbaar zijn, wordt automatisch scrapen gepauzeerd, hoewel de lokaal opgeslagen database offline zal blijven werken.
Conclusie
JavBoss bleek een praktische, gespecialiseerde oplossing te zijn. De auteur probeerde geen andere logge mediasysteem te bouwen, maar loste een specifiek probleem op van het catalogiseren van niche-content. Als je orde op je schijven nodig hebt zonder extra handmatig werk, is dit project zeker het proberen waard.
Gerelateerde projecten