BUR-58 Добавлена поддержка работы с камерой #4 #12
Reference in New Issue
Block a user
Delete Branch "bur-58"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Задача
Бэкенд
Таблица
camera:edge— буроваяprotocol— напримерwsssource— хост/путь, напримерbeta.video.drill.greact.ru/wsВместе
protocol+source= полный адрес потока (как раньше был одинurl).GET /api/camera— отдаёт камеры текущей буровой:SELECT protocol, source FROM camera WHERE edge = ${currentEdge}Фронтенд
В сайдбаре (рядом с Обзор / Архив / Показатели) — пункт Видео.
Компоненты по аналогии с метриками:
CameraView— одна камера, пропwsUrl(собирается изprotocol+sourceна фронте)CameraViewsContainer— flex: 2 камеры в ряд, 4 — сетка 2×2 на экран(по аналогии с MetricWidget в контейнере MetricWidgetsContainer)
Данные с
/api/camera→ наборCameraViewв контейнере.Образец как показывать данные с такого источника
12345678910111213141516171819202122232425
Воспроизведение — на React (не vanilla). Референс: https://beta.video.drill.greact.ru/, тестовый поток
wss://beta.video.drill.greact.ru/ws.Что сделано
@@ -0,0 +11,4 @@useEffect(() => {const video = videoRef.current;let player: import('mpegts.js').default.Player | null = null;это надо прям через npm install установить в проект
@@ -0,0 +22,4 @@video.addEventListener('playing', clearError);setError(null);void import('mpegts.js').then(({ default: mpegts }) => {а то у тебя сейчас для каждой камеры подтягивается общая библиотека,
а общая библиотека - на то она и общая библиотека,
чтобы быть в package.json dependencie: {}
и подключаться просто в шапке модуля как import from со всеми остальными import from