work with go2rtc
by API
- in the Dockerfile,
go2rtc
is integrated in the form of executable instead of package/library
- It's based on preact. No typescript.
- No widget libs like MUI is used. They implemented their own.
iei@iei-POCm-ADL:~/frigate/web/src$ ls
api app.css assets context hooks index.css __mocks__ routes __tests__ vite-env.d.ts
AppBar.jsx app.tsx components env.js icons main.tsx preact.d.ts Sidebar.jsx utils
- the region editor is based canvas
iei@iei-POCm-ADL:~/frigate/web/src$ grep -i canvas `find . -name "*.*sx"
`
./components/CameraImage.jsx: const canvasRef = useRef(null);
./components/CameraImage.jsx: if (canvasRef.current) {
./components/CameraImage.jsx: const ctx = canvasRef.current.getContext('2d');
./components/CameraImage.jsx: [img, scaledHeight, scaledWidth, setHasLoaded, onload, canvasRef]
./components/CameraImage.jsx: if (!config || scaledHeight === 0 || !canvasRef.current) {
./components/CameraImage.jsx: }, [apiHost, canvasRef, name, img, searchParams, scaledHeight, config]);
./components/CameraImage.jsx: <canvas data-testid="cameraimage-canvas" height={scaledHeight} ref={canvasRef} width={scaledWidth} />
./components/JSMpegPlayer.jsx: if (video.els.canvas.webkitRequestFullScreen) {
./components/JSMpegPlayer.jsx: video.els.canvas.webkitRequestFullScreen();
./components/JSMpegPlayer.jsx: video.els.canvas.mozRequestFullScreen();
./components/JSMpegPlayer.jsx: video.els.canvas.addEventListener('click',fullscreen);
Back End
it's based on
Flask
andBlueprint