diff --git a/README.md b/README.md index 54d2d95..47091e0 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,21 @@ # People Counter with YOLOv8, ByteTrack, and Prometheus -This project implements a real-time people counting system based on object detection and tracking using [YOLOv8](https://github.com/ultralytics/ultralytics) and [ByteTrack](https://github.com/ifzhang/ByteTrack). It supports **RTSP input**, **in/out counting** using a vertical line, and exposes **Prometheus metrics** for integration with monitoring systems. +This project implements a real-time people counting system based on object detection and tracking using [YOLOv8](https://github.com/ultralytics/ultralytics) and [ByteTrack](https://github.com/ifzhang/ByteTrack). It supports **MJPEG input**, **in/out counting** using either a vertical or a horizontal line, and exposes **Prometheus metrics** for integration with monitoring systems. ## 🚀 Features -- 🎥 RTSP camera stream input +- 🎥 MJPEG camera stream input - 🧠 YOLOv8 person detection - 🔁 ByteTrack object tracking -- ➕➖ In/Out counting via virtual vertical line +- ➕➖ In/Out counting via virtual line - 📊 Prometheus metrics at `http://localhost:9100/` -- 🌐 Streamlit UI for live video and statistics +- 🌐 Web UI for live video and statistics -## Start mediamtx +## Start MJPEG stream from webcam -``` -mediamtx -``` - -## Stream webcam - -``` -ffmpeg \ - -vaapi_device /dev/dri/renderD128 \ - -y \ - -f v4l2 \ - -framerate 30 \ - -video_size 1280x720 \ - -input_format mjpeg \ - -i /dev/video0 \ - -vf 'format=nv12,hwupload' \ - -c:v h264_vaapi \ - -f rtsp \ - rtsp://localhost:8554/cam -``` +mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1280x720 -f 30" -o "output_http.so -p 8080" ## Run application ``` -streamlit run streamlit_app.py +uvicorn main:app --host 0.0.0.0 --port 8000 ```