Skip to content

A video analysis application that helps students, educators, and professionals analyze presentations by combining speech transcription, visual analysis, and AI-powered feedback. The app processes videos to provide actionable insights on speaking performance, visual effectiveness, and overall presentation quality.

Notifications You must be signed in to change notification settings

michaelborck-education/video-lens

Repository files navigation

Video Lens

PyPI version Python 3.11+ License: MIT

A video analysis application that helps students, educators, and professionals analyze presentations by combining speech transcription, visual analysis, and AI-powered feedback.

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
  • AI Feedback: Actionable insights and recommendations for improvement
  • 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-lens

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-lens.git
cd video-lens

# 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-lens --help

# Check version
video-lens version

# Launch web interface (coming soon)
video-lens analyze

# Analyze a specific video (CLI mode - coming soon)
video-lens 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-lens.git
cd video-lens
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"

# Verify setup
video-lens --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_lens/          # 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.

About

A video analysis application that helps students, educators, and professionals analyze presentations by combining speech transcription, visual analysis, and AI-powered feedback. The app processes videos to provide actionable insights on speaking performance, visual effectiveness, and overall presentation quality.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •