Part of the analyser family.
A video analysis engine that extracts signals from presentations — speech transcription, delivery metrics, scene detection, and visual analysis — as structured JSON. (Rubric grading / assessment is intentionally not here: it's assessment-aware, so it lives in a lens above the analysers, not in this signal generator.)
Migrating from
--grade(≤0.9.x)? Rubric-based assessment moved toassessment-lens(pip install assessment-lens), which maps signals from this analyser (and the rest of the family) to a rubric as observations, not grades — a human assigns every mark. video-analyser 0.10.0 is signal-only.
Status: Phase 1 MVP in development. Core infrastructure complete, video processing pipeline in progress.
- Video Processing: Support for MP4, MOV, AVI, and WebM formats
- Speech Analysis: Automatic transcription with speaking rate and filler word detection
- Visual Analysis: Scene detection with frame captioning and quality assessment
- Structured Signals: Every metric emitted as JSON, ready for downstream assessment tools
- Professional Reports: Interactive HTML and structured JSON outputs
- Python 3.11 or higher
- ffmpeg (for video processing)
pip install video-analyser# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/michael-borck/video-analyser.git
cd video-analyser
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"macOS:
brew install ffmpegUbuntu/Debian:
sudo apt update && sudo apt install ffmpegWindows: Download from https://ffmpeg.org/download.html
# Show available commands
video-analyser --help
# Check version
video-analyser version
# Launch web interface (coming soon)
video-analyser analyze
# Analyze a specific video (CLI mode - coming soon)
video-analyser analyze video.mp4 --output ./reportsCurrent Status: The CLI framework is complete. Video processing features are in active development.
This project uses modern Python tooling and follows strict quality standards:
- uv for fast package management
- ruff for formatting and linting
- basedpyright for strict type checking
- pytest for testing with coverage
- pyproject.toml for all configuration (no setup.py)
# Clone and setup
git clone https://github.com/michael-borck/video-analyser.git
cd video-analyser
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
# Verify setup
video-analyser --help
pytest -v# Format code
ruff format .
# Lint code
ruff check .
# Type checking (strict mode)
basedpyright
# Run tests with coverage
pytest -v
# Run all quality checks
ruff format . && ruff check . && basedpyright && pytest -vsrc/video_analyser/ # Main package
├── core/ # Video processing pipeline
├── analysis/ # Speech and visual analysis
├── reports/ # Report generation
├── interface/ # Gradio web interface
└── utils/ # Configuration and utilities
tests/ # Test suite (mirrors src structure)
docs/ # Documentation and specs
tasks/ # Development task tracking
config/ # Configuration files
- ✅ Phase 0: Project setup, packaging, PyPI publication
- 🚧 Phase 1: Core video processing pipeline (in progress)
- 📋 Phase 2: Enhanced analysis features
- 📋 Phase 3: Advanced AI features
See tasks/tasks-prd-phase1-mvp.md for detailed task tracking.
- PyPI: https://pypi.org/project/video-analyser/
- GitHub: https://github.com/michael-borck/video-analyser
- Documentation: Coming soon
MIT License - see LICENSE file for details.
Contributions are welcome! Please read the development guidelines in CLAUDE.md for our coding standards and toolchain requirements.