c13d022a5768575526359b42b8d648331312849e
qBittorrent & SMB AI Video Performer Sorter
An automated, AI-powered media organizer with in-browser video streaming, multi-performer candidate selection, directory-backed Intellisense, and SQLite persistent caching for qBittorrent and SMB/TrueNAS video shares.
Features
- Dual-Tab Media Sorter:
- qBittorrent Library Sorter: Analyzes torrent titles & internal files and moves torrent content seamlessly without breaking active seeding.
- SMB / Network Share Sorter: Directly scans video shares (
/mnt/isolation/videos/videodownloader), parses performer names, and relocates them into categorized folders (/mnt/isolation/videos/<performer>/).
- Multi-AI Provider Support:
- Google Gemini (Gemini 2.5/3.0+ models)
- Anthropic Claude (Claude 3.5 Sonnet, Haiku, Opus)
- OpenAI (GPT-4o, GPT-4o-mini)
- Local / Network LLM Fallback (LM Studio / Ollama on
odysseus.localor localhost with auto-failover on rate limits)
- Multi-Performer Candidate Selection:
- Automatically identifies scenes with multiple co-stars (e.g.
Kendra Lust and Lisa AnnorAlison Rey Reagan Foxx). - Renders distinct clickable candidate pills so you can easily choose which performer folder receives the file.
- Automatically identifies scenes with multiple co-stars (e.g.
- In-Browser Video Streaming & Preview:
- Built-in HTTP 206 Partial Content video streaming server.
- Watch videos directly inside the browser with fast seeking, speed controls (0.75x–2.0x), and skip buttons (-30s, +30s).
- Pick performer candidates and approve moves directly from inside the preview player modal with playlist navigation (
◀ Prev/Next ▶).
- Directory-Backed Performer Intellisense:
- Real-time autocomplete dropdown drawn from your existing video library (hundreds of performer folders) as you type.
- SQLite Persistent Caching:
- Saves all AI analysis results, candidate lists, and move statuses to
performer_sorter.db. - Never wastes API tokens re-analyzing previously scanned files.
- Saves all AI analysis results, candidate lists, and move statuses to
Quick Start
1. Requirements
- Python 3.8+ (Standard library only — zero external Python package dependencies required!)
- CIFS/SMB share mounted or access to qBittorrent WebUI.
2. Start the Server
python3 server.py
3. Open in Browser
Visit http://localhost:8000 (or your machine's IP on port 8000).
Configuration
Expand the Configuration & Engine Settings bar at the top of the web UI to configure:
- qBittorrent WebUI: Host URL, Username, Password, and Target Root (
/isolation/videos). - SMB Share Settings: Source path (
/mnt/isolation/videos/videodownloader) and Target root (/mnt/isolation/videos). - AI Settings: API Provider, API Key, Model name, and optional Local LLM endpoint (
http://odysseus.local:1234/v1). - Naming Format:
firstname.lastname,performername, orFirstname.Lastname.
Description
AI-Powered Video Performer Identification, Candidate Selection, In-Browser Video Streaming Preview, and Sorter for qBittorrent & SMB Shares
2.1 MiB
Languages
HTML
73.1%
Python
26.3%
Shell
0.6%