This project is a demonstration of a video processing pipeline that utilizes various technologies such as JavaScript, Flask, Kafka, and MongoDB. The pipeline is as follows:
- A video is recorded in .webm format directly on a browser through a JavaScript program.
- The video is sent to the web server back-end through the Flask API in a binary format.
- The video is converted into .mp4 format for simpler manipulation and stored locally.
- A Kafka stream is sent containing a subset of the images via a Kafka producer.
- The Kafka stream is received by a cluster and processed by Kafka consumer which stores the data into a local MongoDB.
- A simple ML model is trained on the data.
- Outside of training, a clip is directly transformed by the front-end and sent to a server which responds with a classification result, shown on the web browser.
- JavaScript
- Flask
- Kafka
- MongoDB
To run this project, you need to have all the requirements installed and configured.