Overview
Version 0.2.0 — Initial Release
Live Translator is a browser extension that provides real-time audio transcription and translation with close-captioning on videos.
### Features
Audio Capture & Transcription
- Captures audio from browser tabs using the Tab Capture API (Chrome) or HTML5 captureStream() (Firefox)
- Streams audio to a local companion app (whisper.cpp) for real-time speech-to-text processing
- All processing runs locally on your machine — nothing is sent to external servers
Translation
- Translates transcribed speech into a user-selected target language
- Supports multiple translation models via the companion app
- Source language can be set manually or left on auto-detect
Caption Overlays
- Injects a close-captioning overlay at the bottom of HTML5 video elements
- Shows original text and translated text simultaneously
- Adjustable opacity (background darkness) and font size
- Captions auto-hide after 5 seconds of silence
- Fade-in animation for smooth appearance
Video Player Integration
- Injects a "Caption" button directly onto video players (YouTube, Twitch, etc.)
- Button appears on hover — toggle captions with one click
- Automatically detects video elements even on dynamic/SPA websites
- Re-checks periodically for late-loading videos
Model Management (Popup)
- Browse, download, select, and delete STT models
- Visual indicators for active, downloaded, and available models
- Model size and translation capability shown in the list
- One-click model switching
Companion App Integration
- WebSocket connection to ws://127.0.0.1:9876
- Auto-reconnect with configurable delay
- Status indicators (connecting, connected, error)
- Download link for the companion app when not detected
Settings & Preferences
- Server address configuration
- Source and target language selection
- Caption mode (video overlay only in this release)
- Opacity and font size controls
- All settings persisted via storage.local
### Technical
Chrome MV3 with service worker
Firefox MV2 with non-persistent background page
PCM audio streaming (Int16, 16kHz sample rate)
WebSocket binary protocol for audio data
All innerHTML usage replaced with safe DOM methods for store compliance
### Known Limitations
Firefox does not support tabCapture — uses captureStream() on video elements instead (requires an active <video> tag on the page)
Requires the local companion app to be installed and running separately
Floating overlay mode (captions outside the browser) is planned for a future release
Tags
Privacy Practices
🔐 Security Analysis
This extension hasn't been security-scanned yet.