Projects → SubStation

SubStation

Active

Subtitle Manager — Tower (Unraid) — Docker container

Self-hosted subtitle management for a large media library. AI-powered generation via faster-whisper, translation via LibreTranslate, and language auto-detection to find mislabeled subtitle files. Batch operations with live progress. Built to handle ~90k files without external API dependencies.

Python Flask Docker faster-whisper LibreTranslate lingua SQLite

AI subtitle generation

faster-whisper runs directly in the container, processing audio to SRT without piping through stdin. Handles large files, multiple languages, forced alignment.

Language detection

The lingua library detects the actual language of existing subtitle files and catches mislabeled .en.srt files that contain foreign-language content — a common issue in large libraries.

Translation

LibreTranslate integration for subtitle translation. Fully self-hosted — no external API, no per-character billing, no data leaving the network.

Batch operations

Queue an entire directory for generation or language detection. Live progress tracking via the web UI. Long operations run as background tasks.


SubStation and TMedia are complementary. SubStation generates and manages the subtitle files; TMedia serves them and surfaces track selection in the tvOS client.

The library path is shared between containers via Docker volume mounts. SubStation writes .srt files alongside the source media; TMedia picks them up on next scan. No manual file management.