Версия цифровой рецепции с резализованным механизмом отслеживания трека пациента по зонам
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Алексей Разорвин b9f88194d9 Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
..
video_ingest Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
README.md Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
package.json Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
requirements.txt Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago

README.md

video-ingest (минимальный скаффолд)

Это не боевой video-ingest из ТЗ §6. Это smoke-скаффолд Фазы 1, чтобы проверить цепочку «видео → face-service → apps/api → БД» без RTSP/GPU/ByteTrack. Полноценный сервис делается в Фазе 0.

Что делает:

  • Открывает локальный mp4 через OpenCV.
  • Каждый N-й кадр (SAMPLE_EVERY, default 10) отправляет в face-service /embed.
  • Простейший single-camera трекинг по cos-дистанции (< TRACK_DISTANCE_THRESH=0.3 в окне TRACK_WINDOW_SEC=2).
  • На новый трек: POST /ingest/tracks + событие arrived.
  • Каждый эмбеддинг — POST /face-service/track-embeddings.

Запуск

cd apps/video-ingest
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Убедись, что face-service, apps/api, postgres подняты.
python -m video_ingest --source samples/walk-by.mp4 --camera-name cam-entrance --zone A

Переменные окружения

  • FACE_SERVICE_URL (default http://localhost:8001)
  • API_BASE_URL (default http://localhost:4000)
  • SAMPLE_EVERY (default 10)
  • TRACK_DISTANCE_THRESH (default 0.3)
  • TRACK_WINDOW_SEC (default 2.0)

Критерий приёмки

После прогона:

  • В tracks появилось хотя бы 1 запись.
  • В face_embeddings сохранены эмбеддинги.
  • В track_events есть arrived.
  • В логах apps/api видны POST /ingest/tracks и /ingest/track-events.