The Real-Time Video Stream Analytics application is a robust full-stack web application designed to upload and analyze vehicular traffic videos in real time. It allows users to upload traffic videos to AWS S3, process them through a Databricks pipeline running Apache Spark to perform object detection, tracking, and counting. The application showcases advanced data engineering, full-stack development, computer look capabilities, and adherence to software development best practices.
- Video Upload: Users can upload traffic videos to be processed.
- Real-Time Processing: Utilizes Apache Spark on Databricks for real-time video frame processing.
- Object Detection and Tracking: Implements YOLOv8n for accurate and efficient object detection and tracking.
- Data Visualization: Integrates with Snowflake and Power BI for real-time data visualization of analysis results.
- Public Accessibility: Hosted on an AWS EC2 instance, available for public use.
- Demonstrate advanced data engineering capabilities with Apache Spark and Databricks.
- Create a full-stack, publicly accessible application.
- Showcase computer look prowess using state-of-the-art models.
- Adhere to best practices with CI/CD pipelines via GitLab.
- Utilize modern data storage and visualization tools (Snowflake and Power BI).
- Docker
- AWS Account
- Databricks Account
- Power BI Account
- Snowflake Account
-
Starting the Application: Access the application through your browser at
http://52.12.53.176:8501/if running locally, or use the public EC2 instance URL. -
Uploading Videos: Use the interface to upload vehicular traffic videos for processing.
-
Running the Analysis: Click "Run Job" to start the video processing pipeline on Databricks.
-
Viewing Results: After processing, click "Show Output" to view the output video and the real-time graphs for person and vehicle counts.
- Frontend: Streamlit, Flask
- Backend: AWS S3, Databricks (Apache Spark), Snowflake
- CI/CD: GitLab, Docker
- Data Visualization: Power BI
- Deployment: AWS EC2

