Версия полностью под докер компоуз на большое количество камер, где используется БД Influx для хранения статистики
Установка:
docker-compose -p traffic_analyzer up -d --build
Необходимо в главной директории создать файл с переменными окружения, которые будут прокинуты во все контейнеры. Для этого создайте файл secrets.txt
и положите подобный текст с паролями:
POSTGRES_DB=traffic_analyzer_db
POSTGRES_USER=user
POSTGRES_PASSWORD=pwd
GF_SECURITY_ADMIN_USER=admin
GF_SECURITY_ADMIN_PASSWORD=admin
Работа с программой:
Перед запуском необходимо в файле configs/app_config.yaml указать все желаемые параметры. Далее можно запускать код.
Чтобы запустить проект с определенным видео, необходимо указать путь к нему в докер компоузе переменной окружения
Каждая новая камера добавляется как +1 инстанс бекенда traffic_analyzer_camera_N в котором надо указать лишь разные scr и конфигурации через переменные окружения
В Grafana у каждой камеры свой дашборд между которыми можно переходит по кнопке:
Дополнительные варианты запуска:
main_stream_optimized.py - вариант под риалтайм стрим, обеспечивающий актуальные кадры без буфера (так как в отдельном процессе гонятся кадры а в главном процессе всегда берется в обработку лишь самый последний актуальный)
main_stream_optimized_v2.py - доработанная версия main_stream_optimized.py с ключевой фичей что при падении люого из процессов завершатся сразу оба и кнтроль жизни ведется через process.is_alive()