How it works
1
Configure scan directories
Add one or more directories under
library.scan_directories in config.yml. Each directory can have its own content_type and recursive setting.2
Run a library scan
Trigger a scan manually via the Web UI or schedule it with a
LibraryScan cron job. tuliprox walks the directory tree, discovers media files by extension, and classifies them as movies or series.3
Enrich metadata
tuliprox reads any existing
.nfo sidecar files and, if TMDB enrichment is enabled, queries the TMDB API to fill in titles, descriptions, posters, and other metadata.4
Probe streams
If ffprobe integration is enabled, tuliprox probes discovered files to determine codec, resolution, and duration information.
5
Expose via outputs
Add a
library input to a source and publish it through any supported output type. Library content appears alongside live and VOD content from IPTV providers.Library configuration
content_type
Supported extensions
The default list of recognised extensions is:library.supported_extensions or per-directory if needed.
NFO files
tuliprox reads and writes Kodi-compatible.nfo sidecar files placed next to media files. On scan, it reads existing NFO metadata and merges it with the internal library record. After a TMDB lookup, it can write enriched metadata back to the NFO file so other tools can benefit from it.
TMDB enrichment
Enable TMDB to automatically match library entries against The Movie Database and retrieve posters, descriptions, release years, genres, and more.ffprobe integration
tuliprox uses ffprobe to probe media files for technical stream information such as video codec, resolution, audio tracks, and duration.
Probe tasks run at the priority configured in
metadata_update.probe.user_priority. Setting this to a high number (e.g. 127) ensures probing never preempts active user playback.
Retry and backoff
Metadata resolve and probe tasks use configurable retry policies to handle transient failures:s, m, h, or d suffixes.
Integrating with outputs
Add alibrary input type to your source.yml to expose library content through any output:
Scheduling library scans
Automate scans with aLibraryScan schedule:
seconds minutes hours day-of-month month day-of-week year.