Files

4.5 KiB

Troubleshooting

All guides · Install · Troubleshooting

Start with the capture page's error/status message. For Docker, check docker compose ps and docker compose logs --tail=100. For a native process, read its terminal output. /health reports the model, actual device, readiness, workers, running/queued requests and failures.

Symptom What to do
Windows says py is not recognized or Python 3.12 is missing Install Python 3.12 with the Windows launcher, reopen the terminal, and check py -3.12 --version. Existing Python installations do not need to be removed.
Cannot open deploy.py Extract the project archive and open the terminal in the folder containing deploy.py. Do not run from inside the ZIP or its parent folder.
Python or venv is missing Install Python 3.12 and your distribution's venv package. On Ubuntu 24.04: sudo apt-get install python3 python3-venv. Then rerun ./start.sh.
Permission denied running start.sh Run bash start.sh, or restore its executable bit with chmod +x start.sh.
PowerShell blocks start.ps1 Run py -3.12 deploy.py run from the project folder. You do not need to relax machine-wide script policy.
Installation was interrupted Run python3 deploy.py setup again. On Windows use py -3.12. Existing environments are not automatically repaired by normal startup.
Page unavailable during startup Wait for model download and warmup. Check the terminal/logs for a real error before restarting. A first download may take several minutes.
Offline startup fails Cache the selected model online first. Native: python3 deploy.py download --model small. Docker uses a separate named-volume cache: first run with CAPTION_OFFLINE=0, then enable offline mode.
Port already in use Stop the other Caption Local instance or set --port 8770 for native / CAPTION_PORT=8770 in Docker's .env. Open the matching browser port.
Microphone is unavailable Allow browser microphone permission and select the correct device. Open localhost directly or through SSH; a remote plain-HTTP IP address is not a secure microphone context.
Page requests a service access token / API returns 401 Ask the service operator for the configured local token. It is not an OpenAI, Google or Gemini key. The browser forgets it on reload; enter it again.
Meter moves, captions do not appear Speak for several seconds, select the language explicitly and try Quiet speech sensitivity. Whisper's voice detection may suppress noise or very quiet audio.
Captions are wrong Check the source audio, language and model. Rehearse names and overlapping speakers. The faster base preset is unsuitable for the supplied Spanish quality fixture; use small and human review.
Translation language is wrong Whisper translates into English only. For another target language you need a separate translation system. English-only .en models cannot translate.
Stream capacity reached Stop and drain an unused capture page. Abandoned idle sessions expire after 120 seconds. Each producer needs a different stream ID.
Buffer keeps growing / capture stopped Reduce active streams or translation work and competing CPU load. Do not increase the buffer to hide a machine that cannot keep up. Retry retained audio after addressing the cause.
Relay is disconnected Local captions can still work. Check connectivity and the editor source room. The relay queue is bounded; watch its dropped count. External relay delivery is not guaranteed.
CUDA is unavailable Run nvidia-smi, check the documented drivers/runtime, then test real inference. --device cuda intentionally fails if unavailable; use CPU explicitly if needed.
Server restarted Docker/systemd may restart a worker that exceeded its 90-second watchdog deadline. Wait for readiness and retry pending browser audio. The server's retry cache does not survive restart.

Report a reproducible issue

Include your OS, release/tag, installation method, model, worker/thread/beam settings, number of streams, chosen mode, the error message and whether the issue also occurs with one stream. Include sanitized /health output and relevant logs. An audio fixture is optional: share only audio you have permission to publish. Never include credentials, private room names or confidential transcripts.

Open an issue. For security vulnerabilities, follow SECURITY.md.