Debugging a Go Call-Transcriber on Jitsi's Video Bridge
TL;DR: I built a Go call-transcriber for Jitsi group calls: audio in from JVB, transcription via Deepgram, storage in MongoDB, events out on NATS. Five protocol-level bugs shaped how it works. Studying opus-transcriber-proxy opus-transcriber-proxy is Jitsi’s official transcription proxy: multi-provider (OpenAI, Deepgram, Gemini, xAI), built-in failover, translation. I studied it as a reference for how JVB’s transcription protocol works (a WebSocket JVB opens to stream conference audio out to a listener), and how a production relay handles multi-provider routing. Then I built a smaller version. ...