mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-26 19:06:11 +01:00
d8123d2497
* Pull go2rtc dependency * Add go2rtc to local services and add to s6 * Add relay controller for go2rtc * Add restream role * Add restream role * Add restream to nginx * Add camera live source config * Disable RTMP by default and use restream * Use go2rtc for camera config * Fix go2rtc move * Start restream on frigate start * Send restream to camera level * Fix restream * Make sure jsmpeg works as expected * Make view rspect live size config * Tweak player options to fit live view * Adjust VideoPlayer to accept live option which disables irrelevant controls * Add multiple options from restream live view * Add base for webrtc option * Setup specific restream modules * Make mp4 the default streaming for now * Expose 8554 for rtsp relay from go2rtc * Formatting * Update docs to suggest new restream method. * Update docs to reflect restream role * Update docs to reflect restream role * Add webrtc player * Improvements to webRTC * Support webrtc * Cleanup * Adjust rtmp test and add restream test * Fix tests * Add restream tests * Add live view docs and show different options * Small docs tweak * Support all stream types * Update to beta 9 of go2rtc * Formatting * Make jsmpeg the default * Support wss if made from https * Support wss if made from https * Use onEffect * Set url outside onEffect * Fix passed deps * Update docs about required host mode * Try memo instead * Close websocket on changing camera * Formatting * Close pc connection * Set video source to null on cleanup * Use full path since go2rtc can't see PATH var * Adjust audio codec to enable browser audio by default * Cleanup stream creation * Add restream tests * Format tests * Mock requests * Adjust paths * Move stream configs to restream * Remove live source * Remove live config * Use live persistence for which view to use on each camera * Fix live sizes * Only use jsmpeg sizes for jsmpeg live * Set max live size * Remove access of live config * Add selector for live view source in web view * Remove RTMP from default list of roles * Update docs * Fix tests * Fix docs for live view modes * make default undefined to avoid race condition * Wait until camera source is loaded to avoid race condition * Fix tests * Add config to go2rtc * Work with config * Set full path for config * Set to use stun * Check for mounted file * Look for frigate-go2rtc * Update docs to reflect webRTC configuration. * Add link to go2rtc config * Update docs to be more clear * Update docs to be more clear * Update format Co-authored-by: Felipe Santos <felipecassiors@gmail.com> * Update live docs * Improve bash startup script * Add option to force audio compatibility * Formatting * Fix mapping * Fix broken link * Update go2rtc version * Get go2rtc webui working * Add support for mse * Remove mp4 option * Undo changes to video player * Update docs for new live view options * Make separate path for mse * Remove unused * Remove mp4 path * Try to get go2rtc proxy working * Try to get go2rtc proxy working * Remove unused callback * Allow websocket on restrea dashboard * Make mse default stream option * Fix mse sizing * don't assume roles is defined * Remove nginx mapping to go2rtc ui Co-authored-by: Felipe Santos <felipecassiors@gmail.com> Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
86 lines
2.3 KiB
JavaScript
86 lines
2.3 KiB
JavaScript
import { rest } from 'msw';
|
|
import { API_HOST } from '../src/env';
|
|
|
|
export const handlers = [
|
|
rest.get(`${API_HOST}api/config`, (req, res, ctx) => {
|
|
return res(
|
|
ctx.status(200),
|
|
ctx.json({
|
|
mqtt: {
|
|
stats_interval: 60,
|
|
},
|
|
service: {
|
|
version: '0.8.3',
|
|
},
|
|
cameras: {
|
|
front: {
|
|
name: 'front',
|
|
objects: { track: ['taco', 'cat', 'dog'] },
|
|
record: { enabled: true },
|
|
detect: { width: 1280, height: 720 },
|
|
snapshots: {},
|
|
restream: { enabled: true, jsmpeg: { height: 720 } },
|
|
ui: { dashboard: true, order: 0 },
|
|
},
|
|
side: {
|
|
name: 'side',
|
|
objects: { track: ['taco', 'cat', 'dog'] },
|
|
record: { enabled: false },
|
|
detect: { width: 1280, height: 720 },
|
|
snapshots: {},
|
|
restream: { enabled: true, jsmpeg: { height: 720 } },
|
|
ui: { dashboard: true, order: 1 },
|
|
},
|
|
},
|
|
})
|
|
);
|
|
}),
|
|
rest.get(`${API_HOST}api/stats`, (req, res, ctx) => {
|
|
return res(
|
|
ctx.status(200),
|
|
ctx.json({
|
|
detection_fps: 0.0,
|
|
detectors: { coral: { detection_start: 0.0, inference_speed: 8.94, pid: 52 } },
|
|
front: { camera_fps: 5.0, capture_pid: 64, detection_fps: 0.0, pid: 54, process_fps: 0.0, skipped_fps: 0.0 },
|
|
side: {
|
|
camera_fps: 6.9,
|
|
capture_pid: 71,
|
|
detection_fps: 0.0,
|
|
pid: 60,
|
|
process_fps: 0.0,
|
|
skipped_fps: 0.0,
|
|
},
|
|
service: { uptime: 34812, version: '0.8.1-d376f6b' },
|
|
})
|
|
);
|
|
}),
|
|
rest.get(`${API_HOST}api/events`, (req, res, ctx) => {
|
|
return res(
|
|
ctx.status(200),
|
|
ctx.json(
|
|
new Array(12).fill(null).map((v, i) => ({
|
|
end_time: 1613257337 + i,
|
|
has_clip: true,
|
|
has_snapshot: true,
|
|
id: i,
|
|
label: 'person',
|
|
start_time: 1613257326 + i,
|
|
top_score: Math.random(),
|
|
zones: ['front_patio'],
|
|
thumbnail: '/9j/4aa...',
|
|
camera: 'camera_name',
|
|
}))
|
|
)
|
|
);
|
|
}),
|
|
rest.get(`${API_HOST}api/sub_labels`, (req, res, ctx) => {
|
|
return res(
|
|
ctx.status(200),
|
|
ctx.json([
|
|
'one',
|
|
'two',
|
|
])
|
|
);
|
|
}),
|
|
];
|