Этот проект создан для изучения работы с Apache Kafka и PostgreSQL с использованием Python и Django.
Проект включает четыре основных компонента:
- Producer: Захватывает кадры с веб-камеры и отправляет их в Kafka.
- Consumer: Читает кадры из Kafka, обрабатывает их (преобразует в оттенки серого) и сохраняет в PostgreSQL.
- Analyzer: Анализирует кадры, хранящиеся в PostgreSQL, и может создавать видео из этих кадров.
- Web Interface: Веб-интерфейс на Django, который повторяет функциональность Analyzer. Также в админской панели можно управлять кадрами (удалять, изменять, добавлять).
Запустите скрипт setup.sh
, который автоматически создаст виртуальное окружение, установит необходимые зависимости из requirements.txt
, настроит докер-контейнеры для Kafka, Zookeeper и PostgreSQL, а также проверит их состояние перед созданием таблицы в базе данных PostgreSQL.
Если Python установлен не в /usr/bin/python3, то измените файл setup.sh
, заменив /usr/bin/python3 на путь к вашему python3.
./setup.sh
Django
python -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Для наглядности рекомендуется запускать producer.py
, consumer.py
и analyzer.py
в отдельных терминалах.
source myenv/bin/activate && python producer.py
source myenv/bin/activate && python consumer.py
source myenv/bin/activate && python analyzer.py
http://127.0.0.1:8000/admin/
- доступ к админкеDjango
.http://127.0.0.1:8000/frames/
- функционалanalyzer.py
.