Whisper Server Manager
Manages the full lifecycle of a local whisper-server instance: binary download, FFmpeg provisioning, process launch, health-checking, resource monitoring, and shutdown.
Extracted from Whisper.kt so the servlet class only handles configuration and request routing.
Parameters
Logging callback (LogLevel, message).
Properties
GPU backend detected at initialization.
true when ffmpeg is available, enabling the --convert flag.
The TCP port the running server listens on. 0 means no server is running.
true once the whisper-server is healthy and accepting requests.
Functions
Estimated seconds the client should wait before retrying.
Returns a human-readable reason if resource thresholds are exceeded, or null if available.
Marks the server as ready without starting a local process (external API mode).
Starts background initialization: downloads the whisper-server binary and model, ensures ffmpeg, launches the server, and starts the resource monitor.