mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-18 22:28:23 +03:00
When using two-way audio, the camera mic picks up speaker audio and sends it back through RTSP → go2rtc → WebRTC → phone speaker, creating an echo feedback loop. Two changes working together: 1. Half-duplex echo suppression: mute receive audio while mic is active. This is the standard approach used by camera talkback implementations. 2. Obtain mic track once, reuse across toggles: instead of rebuilding the PeerConnection on every mic toggle, the mic track is obtained once on first activation and reused. Subsequent toggles just flip track.enabled. This is critical for iOS where getUserMedia triggers audio routing mode switches that cannot be reversed without closing the PeerConnection. |
||
|---|---|---|
| .. | ||
| .vscode | ||
| images | ||
| patches | ||
| public | ||
| src | ||
| themes | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| .prettierrc | ||
| components.json | ||
| index.html | ||
| login.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| site.webmanifest | ||
| tailwind.config.cjs | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
This is the Frigate frontend which connects to and provides a User Interface to the Python backend.
Web Development
Installing Web Dependencies Via NPM
Within /web, run:
npm install
Running development frontend
Within /web, run:
PROXY_HOST=<ip_address:port> npm run dev
The Proxy Host can point to your existing Frigate instance. Otherwise defaults to localhost:5000 if running Frigate on the same machine.
Extensions
Install these IDE extensions for an improved development experience:
- eslint