Video Analysis
Upload match footage and let AI automatically detect events, track players, and generate statistics from your video.
Prerequisites
Before using video analysis, you need:
- A Balla Stats account
- TEAM plan or higher
- Admin or Owner role in the group
- Video file (MP4, MOV, AVI, WebM, or MKV, up to 5GB)
TEAM plan or higher required for video analysis features.
Upload match footage and let AI automatically detect events, track players, and generate statistics.
Upload
Detect
Track
Classify
Recognize
Stats
- Navigate to video analysis
- Upload a match video
- Monitor processing
- Review detected events
- Explore spatial analytics
- Review and approve stats
- Jersey number recognition
- Approve stats to database
- AI Coach insights
Go to a match detail page and click the "Video Analysis" tab. This is where you upload footage and view AI-generated results.

Drag and drop your video file or click the upload area to select a file. Supported formats: MP4, MOV, AVI, WebM, and MKV. Maximum file size is 5GB.

After uploading, your video moves through several stages: Uploading, Queued, Processing, Completed (or Failed). You can track progress in real-time on the status panel.

Processing time varies based on video length and resolution. A 90-minute match typically takes 15-30 minutes.
The Events tab shows auto-detected events: goals, shots, passes, tackles, and more. Each event has a timestamp, type, and involved players (when identifiable).

Visual analytics provide deeper tactical insights including heatmaps, shot maps, pass networks, and speed/distance dashboards.

Review auto-detected statistics before they are saved to the database. You can approve or reject individual detections based on accuracy.

If your roster includes jersey numbers, the AI maps tracked players to actual player profiles using OCR-based jersey number recognition. The system reads jersey numbers from video frames, uses multi-frame voting for accuracy, and matches detections against your roster.
Add jersey numbers to player profiles before uploading video for the best player attribution results.
Once you are satisfied with the detected statistics, bulk approve them to create StatEvent records in the database. You can approve all stats at once or select individual stats. Rejected stats are discarded and will not be saved.
View tactical insights generated by AI analysis, including formation suggestions, player positioning recommendations, and performance summaries. Auto-generated highlight clips capture key moments from the match.

High Quality Video
Use 1080p or higher video quality for best detection accuracy.
Add Jersey Numbers First
Add jersey numbers to your roster before uploading for player-level attribution.
Full Match Footage
Upload full match footage rather than highlights for comprehensive stats.
Review Before Approving
Review detected events before approving -- AI is accurate but not perfect.
Processing Stuck
- Large video files take longer to process; check the status page for progress updates
- If processing has not advanced for an extended period, try re-uploading the video
- Ensure your video file is not corrupted by playing it locally first
Low Detection Accuracy
- Ensure good video quality with at least 1080p resolution
- Use a stable camera angle that captures the full pitch
- Adequate lighting improves player and ball detection significantly
No Player Attribution
- Add jersey numbers to player profiles in the roster before uploading
- Ensure players are wearing clearly visible jersey numbers during the match
- Without jersey numbers in the roster, stats will be team-level only