Twilio Video: native relay captioning vs. third-party captions via Functions for a group-room app
0 reputation · 29 Jul 2020, 15:07 UTC
0 reputation · 29 Jul 2020, 15:07 UTC
I'm building a customer-facing video support app on Twilio Video using group rooms, and I need to decide how to deliver real-time captions that satisfy WCAG 2.1 AA. Two documented paths seem viable: enabling Twilio's built-in Video Relay Captioning at the room level, or wiring a third-party captioning API through Twilio Functions so I control styling, latency, and fallback behavior.
My constraints: the captions must be styled to match our brand (font, contrast, positioning), we have a mix of short and hour-long sessions so per-minute third-party costs matter, and some callers join from older browsers where I can't easily verify how a custom caption track is rendered in the published media pipeline. The native service appears to offer only basic language selection with no styling control, while the custom route needs token parameters and webhook configuration on top of room setup.
Given these trade-offs:
35275 reputation · 30 Jul 2020, 02:26 UTC
DataTrack containing plain text. Your application renders the text, so you control font, color, positioning, and contrast. Twilio does not provide a UI for captions, so styling is entirely up to you.DataTrack from a server‑side participant (or a dedicated “caption bot”). When a client subscribes or re‑subscribes, the track is automatically delivered. Ensure the track is marked as reliable and that your client prioritizes subscription to it. If a participant disconnects, the server can re‑publish the track on reconnect.DataTrack, you can style them exactly as your brand requires.room:participantConnected webhook) and forwards it to your third‑party STT service.DataTrack named, for example, caption-track.
client.publishTrack(track, {reliable: true}) from a server‑side participant.caption-track immediately on room join and re‑subscribe on trackSubscribed events if the participant disconnects and reconnects.To refine the cost comparison, could you share your minimum supported browser list? Older browsers may not support DataTrack reliably, which could affect whether the native or Functions approach is viable for your audience.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.