>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Organizacja lokalnej kolekcji wideo za pomocą JavBoss

Wielu ludzi ma gigabajty filmów, filmów lub treści niszowych zalegających na domowych serwerach lub zewnętrznych dyskach. Nazwy plików takie jak IPX-633.mp4 czy SSIS-001.mkv niewiele mówią, gdy chcesz szybko znaleźć konkretny klip wideo lub sprawdzić profil aktorki. Pełnoprawne serwery multimedialne, takie jak Plex czy Jellyfin, często mają problemy z niszowymi azjatyckimi produkcjami: po prostu nie potrafią analizować kodów takich jak IPX-633 ani pobierać odpowiednich okładek.

Ostatnio natknąłem się na interesujący projekt open-source na GitHubie o nazwie JavBoss. To lokalny serwer WWW zbudowany w Go i React, zaprojektowany specjalnie do indeksowania, katalogowania i wygodnego odtwarzania treści JAV oraz dowolnych nagrań wideo.

Jak działa system katalogowania

Autor podszedł do zadania z perspektywy praktycznej użyteczności. Aplikacja działa jako lokalna usługa sieciowa: skanuje określone katalogi, wyodrębnia kody z nazw plików, pobiera metadane z kilku zewnętrznych baz danych i buduje przejrzystą galerię.

Główną cechą jest całkowita niezależność od Twoich plików. JavBoss działa w trybie tylko do odczytu. Nie zmienia nazw źródłowych plików wideo ani nie zaśmieca folderów wideo plikami NFO ani obrazami. Baza danych SQLite, pamięć podręczna okładek i storyboardy są przechowywane ściśle w katalogu data/.

Przegląd głównych funkcji

Przyjrzyjmy się temu, co wyróżnia ten projekt spośród konwencjonalnych skrobaków wiersza poleceń.

  1. Automatyczne parsowanie kodów i metadanych. Aplikacja wyodrębnia kody w formacie IPX-633, SSIS-001 lub sufiksach napisów. Metadane są pobierane z wielu zewnętrznych źródeł jednocześnie. Karty zawierają tytuły, daty wydania, studia, tagi i pomiary aktorek (wzrost, wiek, wymiary). Jeśli automatyczne wykrywanie popełni błąd, możesz łatwo ręcznie połączyć kartę.

  2. Integracja odtwarzacza mpv. Odtwarzacze internetowe są często ograniczone przez kodeki przeglądarki. Twórcy JavBoss znaleźli proste rozwiązanie: wersja desktopowa może bezpośrednio wywoływać lokalny mpv. Otrzymujesz w pełni funkcjonalny odtwarzacz z obsługą dowolnego formatu wideo, konfigurowalnymi skrótami klawiszowymi i interfejsem ModernZ. Podczas oglądania w mpv możesz robić zrzuty ekranu jednym przyciskiem, które natychmiast pojawią się na osi czasu wideo w interfejsie internetowym.

  3. Śledzenie relokacji plików. Indeksator monitoruje dodane katalogi w tle. Przeniosłeś plik na inny dysk lub zmieniłeś nazwę folderu? Baza danych aktualizuje ścieżki. Tagi użytkownika są zachowywane, ponieważ są powiązane z cyfrowym odciskiem pliku wideo. Jeśli odłączysz zewnętrzny dysk twardy, karty pozostaną w bazie danych, a gdy ponownie podłączysz dysk, staną się ponownie aktywne.

  4. Nawigacja i filtrowanie. Możesz znajdować filmy według tagów, studiów, aktorek lub daty wydania. Jest wygodna funkcja losowego wyboru, która działa w całej bibliotece multimedialnej lub w ramach określonego zestawu filtrów.

Interfejs wygląda przejrzyście i nie jest zaśmiecony niepotrzebnymi menu:

Katalog JAV

Profil aktorki

Wyszukiwanie i filtry

Integracja mpv

Stos technologiczny i wdrożenie

Architektura projektu jest przejrzysta. Backend jest napisany w Go z wykorzystaniem frameworka Gin, GORM i wbudowanej bazy danych SQLite. ffprobe służy do odczytu parametrów technicznych wideo, a podglądy i storyboardy są generowane przez mpv lub ffmpeg.

Frontend jest zbudowany z React, Vite, Tailwind CSS i Zustand. Domyślnie usługa działa na porcie 86. Możesz zainstalować ją za pomocą automatycznego skryptu, pobierając plik binarny lub przez 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

W kontenerze filmy są odtwarzane przez wbudowany odtwarzacz HTML5 w przeglądarce, a lokalne ścieżki z systemu hosta są automatycznie przekazywane.

Zalety i szczególne uwagi

To narzędzie będzie przydatne dla każdego, kto prowadzi lokalną kolekcję i jest zmęczony chaosem w systemie plików.

Zalety projektu:

  • Brak ingerencji w oryginalną strukturę folderów.
  • Prosty transfer bazy danych między systemami poprzez proste kopiowanie katalogu data/.
  • Wykorzystanie wielu źródeł do agregacji metadanych.
  • Wygodny interfejs sieciowy z obsługą otwierania stron w różnych kartach przeglądarki.

Należy wziąć pod uwagę pewne ograniczenia. Początkowy import dużej kolekcji zajmie czas na generowanie podglądów w tle i pobieranie okładek. Jeśli zewnętrzne strony z metadanymi będą niedostępne, automatyczne scrapowanie zostanie wstrzymane, choć lokalnie przechowywana baza danych będzie nadal działać w trybie offline.

Podsumowanie

JavBoss okazał się praktycznym, wyspecjalizowanym rozwiązaniem. Autor nie próbował zbudować kolejnego rozbudowanego systemu multimedialnego, lecz rozwiązał konkretny problem katalogowania treści niszowych. Jeśli potrzebujesz uporządkować swoje dyski bez dodatkowej pracy ręcznej, ten projekt zdecydowanie warto wypróbować.

Powiązane projekty