Skip to main content

Video analysis tool — extracts frames, transcripts, and quality metrics for the analyser family

Project description

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)

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

video_analyser-0.12.0.tar.gz (165.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

video_analyser-0.12.0-py3-none-any.whl (98.0 kB view details)

Uploaded Python 3

File details

Details for the file video_analyser-0.12.0.tar.gz.

File metadata

  • Download URL: video_analyser-0.12.0.tar.gz
  • Upload date:
  • Size: 165.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for video_analyser-0.12.0.tar.gz
Algorithm Hash digest
SHA256 6fa8670bfada1dc634c58ab2761043f8afa90aec16823dba45c2a1a4421033f9
MD5 48d9977231baa7d44850d0e80242fd02
BLAKE2b-256 83478dfeaeb1e260db2405f7ab10d07d9f6157e9bc89faeacbaa3497948b7ab9

See more details on using hashes here.

File details

Details for the file video_analyser-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for video_analyser-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37540126da119c44cdf3ff7395c6d6696a5ecf6f8b28c081d0448c9f2c10cac2
MD5 6e9229c02c559ba00d68d677b2edb78a
BLAKE2b-256 25f607f69a39eb574d320f7634fff636d5b340c251b39381a050d28cb86f4c31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page