This Streamlit app automatically detects and counts push-ups from an uploaded video using MediaPipe Pose estimation and OpenCV. It also overlays angles and count information on the video and exports the result as an .mp4 (H.264) file for download.
- 📤 Upload any push-up video (
.mp4,.mov,.avi) - 🧠 Detect push-up motion using elbow joint angles
- 🔁 Show real-time progress and estimated time remaining
- 📊 Overlay count and angle in top-right of video
- 🎥 Export processed video in H.264 (.mp4) format
- ⬇️ Download final video with overlays
git clone https://github.com/yourusername/pushup-counter-app.git
cd pushup-counter-apppip install -r requirements.txtstreamlit run app.pypushup-counter-app/
├── app.py # Main Streamlit app
├── requirements.txt # Dependencies
├── result.gif # Output GIF
└── README.md # Project readme-
Python 3.8+
-
streamlit
-
opencv-contrib-python
-
mediapipe
-
numpy
-
Extracts pose landmarks using
MediaPipe. -
Calculates elbow joint angle.
-
Detects push-up motion based on elbow angle range.
-
Overlays count and angle on each video frame.
-
Exports a final video using OpenCV's
VideoWriter.
pushups_result.mp4(available via download button in the app)
