Skip to main content

Video Analyser

Part of the analyser family.

ai-feedback cli-tool computer-vision python speech-recognition video-analysis web-application presentation-analysis edtech ffmpeg

PyPI version Python 3.11+ License: MIT

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 to assessment-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)
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.

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)

Source distribution for video-analyser 0.13.0
File Size Uploaded
video_analyser-0.13.0.tar.gz 168.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for video-analyser 0.13.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.13.0 This release

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page