Video Analyser
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.
Features
- 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
Installation
Prerequisites
- Python 3.11 or higher
- ffmpeg (for video processing)
Option 1: Install from PyPI (recommended for users)
pip install video-analyser
Option 2: Install from source (for development)
# 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]"
Installing ffmpeg
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
Windows: Download from https://ffmpeg.org/download.html
Quick Start
# 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 ./reports
Current Status: The CLI framework is complete. Video processing features are in active development.
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)
Development Setup
# 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
Code Quality Standards
# 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 -v
Project Structure
src/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
Current Development Phase
- ✅ 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.
Links
- PyPI: https://pypi.org/project/video-analyser/
- GitHub: https://github.com/michael-borck/video-analyser
- Documentation: Coming soon
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please read the development guidelines in CLAUDE.md for our coding standards and toolchain requirements.
Metadata
Release files for video-analyser 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| video_analyser-0.13.0.tar.gz | 168.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| video_analyser-0.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 268.4 kB
Release files / video_analyser-0.13.0.tar.gz
| Download URL | video_analyser-0.13.0.tar.gz |
|---|---|
| Size | 168.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cec166b350e5b8a0206421608f261b92f864067126e4a4fdd763ff04dc1e526
|
|
BLAKE2b-256 checksum How to use checksums |
14c2f6545874015e930f4f45b80bb9a10dcd066151d81761622cf30be7f87388
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / video_analyser-0.13.0-py3-none-any.whl
| Download URL | video_analyser-0.13.0-py3-none-any.whl |
|---|---|
| Size | 100.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4497638019af9fcdfdc6b70a7987aa5a4ad481d74117810b89fef727bd60ddfe
|
|
BLAKE2b-256 checksum How to use checksums |
77a2179c30b09ac6b891fd6305c36f4ffa8fcbebe131a8b0f1a6b367cd6c6f39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|