Skip to main content

🎬 Video Understanding Local

Video Understanding

AI-powered video analysis that combines audio transcription and visual understanding - running entirely on your machine!

Perfect for organizing raw footage, preparing video montages, or extracting insights from your video content - all while keeping your data completely private on your own machine.

✨ Key Features

  • 👁️ Visual Scene Analysis: Frame-by-frame understanding with SmolVLM2
  • 🎙️ Audio Undrestanding: Speech-to-text using Whisper model
  • 🔒 Fully Offline: All models run locally - under your entire control

🚀 Installation

Simply install from PyPI:

pip install video_understanding

💡 Quick Start

from video_understanding.video_understanding import analyze_video

# Analyze any video file
summary = analyze_video("path/to/video.mp4")
print(summary)

That's it! The AI will watch your video and tell you what's happening.

📸 Example: Auto-Organizing Raw Footage

Here's a practical example that can save you hours - automatically renaming raw video files based on their content:

import os
from video_understanding.video_understanding import analyze_video

# Define what you want the AI to focus on
system_prompt = """
Analyze this video and generate a concise filename that describes 
the main action and subject. Use lowercase with underscores.
Focus on key visual elements and dialogue.
"""

# Process videos in your folder
video_folder = "raw_footage"

for video_file in os.listdir(video_folder):
    video_path = os.path.join(video_folder, video_file)
    print(f"🎬 Processing: {video_file}")
    
    # Get AI-generated descriptive name
    new_name = analyze_video(video_path, system_prompt)
    ext = video_file.split(".")[-1]
    new_filename = f"{new_name}.{ext}"
    
    # Rename file
    os.rename(video_path, os.path.join(video_folder, new_filename))
    print(f"✅ Renamed to: {new_filename}\n")

This transforms generic filenames like "VIDEO_001.mp4" into descriptive ones like "team_assembling_robot_arm.mp4", making your footage instantly searchable and organized! 🎉

📝 Description

This package analyzes videos using AI models to understand both audio and visual content. It intelligently splits long videos into manageable chunks, transcribes speech with Whisper, analyzes visual scenes with SmolVLM2, and generates comprehensive summaries using Qwen2.5.

💻 Requirements

Hardware

  • GPU: CUDA-compatible GPU strongly recommended (NVIDIA)
  • VRAM: Minimum 8GB for smooth operation
  • Disk Space: ~25GB for model storage

Software

  • Python 3.10+
  • CUDA toolkit
  • FFmpeg (if on Windows, install it with winget install ffmpeg --version 7.1.1)

Models (Downloaded Automatically)

On first run, these models will be downloaded:

  • 🎙️ Whisper Base (~140MB) - audio transcription
  • 👁️ SmolVLM2-2.2B-Instruct (~9GB) - visual understanding
  • 🧠 Qwen2.5-7B-Instruct (~14GB) - final summary generation

More examples

# General analysis
summary = analyze_video("video.mp4")

# Custom analysis with specific instructions
custom_prompt = "List all technical topics discussed in this video."
topics = analyze_video("video.mp4", system_prompt=custom_prompt)

# Extract specific information
prompt = "Describe what tools and materials are being used in this tutorial."
tools_list = analyze_video("tutorial.mp4", system_prompt=prompt)

🎉 Happy Video Understanding!

Metadata

Release files for video-understanding 0.1.1

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-understanding 0.1.1
File Size Uploaded Provenance
video_understanding-0.1.1.tar.gz 717.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for video-understanding 0.1.1
File Interpreter ABI Platform
video_understanding-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 722.9 kB

Release files / video_understanding-0.1.1.tar.gz

Download URL video_understanding-0.1.1.tar.gz
Size 717.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f6216c18181b71a47b9dd76f759d7c27df6c1cb97bf86b8c055074e52711f8cd
BLAKE2b-256 checksum
How to use checksums
4020b0288f9bf8e5def5d12c2ad9bcb0272156c460ee185673b47f4139b40a92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / video_understanding-0.1.1-py3-none-any.whl

Download URL video_understanding-0.1.1-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
588846435e9c45020bc297e9fa7f02889c0fbe9ad6f9f4eec9f8255e8ad9e474
BLAKE2b-256 checksum
How to use checksums
cdfdfb40675cf901ff9a7c2d038516d644c86b708de7741be6e389b0e8c9686a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for video-understanding 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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