mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-05 22:57:40 +03:00
When a browser lacks native HEVC/H.265 support, the frontend now
requests a server-side transcoded HLS stream instead of the original
VOD path. FFmpeg consumes Frigate's existing HLS endpoint and outputs
H.264 MPEG-TS segments to /tmp/stream/transcode/, which nginx already
serves via the /stream/ location.
- New API endpoint: GET /api/transcode/{camera}/start/{ts}/end/{ts}
- Spawns FFmpeg to transcode existing H.265 HLS to H.264 HLS
- Deduplicates sessions by camera + time range
- Limits concurrent transcodes (default 3)
- Waits for first segment before returning playlist URL
- Cleanup: stale transcode sessions removed every 60s (10min TTL)
- Frontend: isHevcSupported() detects browser codec support via MSE
and native video element, transparently falls back to transcoded
playback in DynamicVideoPlayer and TrackingDetails
- Zero changes to existing HLS/VOD path or clip download endpoint
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| .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