/camtester

VirusHack hackathon project // занял первое место

Primary LanguageGo

camtester

Архитекутра

Распределённый масштабируемый сервис детекций отклонений в видеоданных.

Видео с демонстрацией.

Презентация системы.

Данный репозиторий включает все компоненты системы кроме restreamer, который находится в отдельном репозитории.

Краткое описание Go-пакетов и папок этого репозитория приведены ниже.

checker

Пакет ядра модуля тестирования видеопотока путём парсинга вывода ffmpeg.

cmd

Содержит исходные коды программ, которые непосредственно компилируются в исполняемые файлы.

core

Пакет ядра core - основного компонента системы, который принимает задачи по REST API и, обрабатывает результаты задач.

deployments

Содержит Dockerfile компонентов системы и docker-compose.yml для запуска тестовой сборки системы. Для сборки и запуска требуется что бы в соответствующих подкаталогах были скомпилированные версии модулей.

entity

Пакет с основными сущностями системы.

ffmpeg

Пакет для работы с программами ffmpeg и ffprobe

http

Пакет для работы с HTTP. Cодержит клиент для restreamer-provider.

nats

Пакет для работы с nats. Содержит клиенты для получения тасков и результатов тасков, а так-же клиенты для отправки тасков и результатов тасков.

pinger

Пакет ядра модуля пинга видеокамер.

prober

Пакет ядра модуля пробинга видеопотока путём парсинга вывода ffprobe.

redis

Пакет для работы с redis. Содержит реализацию интерфейса core.DBStorage.