Skip to main content

A structured pipeline for transforming video content into **searchable, metadata-rich, and SEO-optimized assets**, combining ingestion, transcription, OCR, NLP enrichment, and persistent storage.

Project description

Part of the Abstract Media Intelligence Platform

This module handles video ingestion and multimodal extraction within a unified media pipeline.

abstract_videos processes:

  • video download + metadata registry
  • transcription (Whisper) + frame OCR
  • NLP enrichment and structured storage

Full system: https://github.com/AbstractEndeavors/abstract-media-intelligence

abstract_videos — Video Processing & Media Intelligence Pipeline

A structured pipeline for transforming video content into searchable, metadata-rich, and SEO-optimized assets, combining ingestion, transcription, OCR, NLP enrichment, and persistent storage.

Designed for:

  • large-scale video ingestion
  • transcription and content extraction
  • media indexing and search
  • automated metadata generation and SEO

🔹 What This System Is

abstract_videos is not a downloader or transcription tool — it is a multi-stage media processing system:

  • ingests video from URLs or local sources
  • extracts audio, frames, and text
  • performs transcription (Whisper)
  • applies OCR to extracted frames
  • enriches content via NLP (keywords, summaries, titles)
  • persists structured results to database or filesystem

The system produces fully structured video representations usable for:

  • search
  • indexing
  • content generation
  • analytics

🔹 Pipeline Overview

Video Input (URL / File)
        ↓
Download + Registry (yt-dlp + metadata)
        ↓
Video Processing
    ├─ Conversion / normalization
    ├─ Audio extraction
    ├─ Frame extraction
        ↓
Content Extraction
    ├─ Transcription (Whisper)
    ├─ OCR on frames
        ↓
NLP Enrichment
    ├─ Summarization
    ├─ Keyword extraction
    ├─ Title generation
        ↓
Metadata Assembly
        ↓
Persistence Layer
    ├─ Database (JSONB structured storage)
    └─ Filesystem (artifacts + media)

Pipeline

flowchart TD
    A[Video URL / Local Video]
    B[VideoDownloader + Registry]
    C[Normalization / Conversion]
    D[Audio Extraction]
    E[Frame Extraction]
    F[Whisper Transcription]
    G[Frame OCR]
    H[NLP Enrichment\nSummary + Keywords + Title]
    I[Metadata Assembly\nCategory + Thumbnail + SEO]
    J[Persistence Layer\nFilesystem + DB / JSONB]
    K[Searchable / Structured Video Record]

    A --> B --> C
    C --> D --> F
    C --> E --> G
    F --> H
    G --> H
    H --> I --> J --> K

🔹 Core Capabilities

Video Ingestion & Registry

  • URL normalization and ID generation
  • Metadata extraction via yt-dlp
  • Persistent registry with atomic updates and locking

Processing Pipeline

  • Video normalization and format handling
  • Audio extraction for transcription
  • Frame extraction for visual analysis

Transcription & OCR

  • Whisper-based transcription pipeline
  • Frame-level OCR for embedded text
  • Combined multimodal text extraction

NLP & Metadata Enrichment

  • Keyword extraction and refinement
  • Title generation from summaries
  • Category inference based on content
  • Thumbnail selection via frame sharpness analysis

Structured Persistence

  • PostgreSQL storage with JSONB fields for:

    • raw info
    • metadata
    • transcripts
    • captions
    • thumbnails
    • aggregated outputs
  • Upsert-based lifecycle management for idempotent processing


🔹 Dual Pipeline Model (Key Concept)

The system supports two execution modes:

1. Local / Read-Write Pipeline

  • full processing on local machine
  • filesystem-based outputs
  • direct artifact generation

2. Database-Centric Pipeline

  • persistent storage as primary interface
  • JSONB-backed structured data
  • incremental updates and enrichment

🔹 Design Intent

Database + local modules as primary External ML (HuggingFace / APIs) as secondary

This enables:

  • offline-first operation
  • reproducibility
  • plug-and-play ML upgrades

🔹 Architecture

Core Components

  • VideoDownloader

    • ingestion + metadata acquisition
  • infoRegistry

    • centralized state + persistence
  • VideoTextPipeline

    • orchestrates processing stages
  • Metadata Console

    • post-processing and optimization (summaries, SEO)
  • Database Layer

    • structured storage with upsert semantics

🔹 Key Design Decisions

Idempotent Processing

  • all steps tracked via processed_steps
  • pipeline resumes without duplication
  • safe reprocessing of partial runs

Structured Over Raw

Everything is stored as structured JSON:

  • transcripts
  • keywords
  • metadata
  • derived content

Multimodal Extraction

Combines:

  • audio → text (transcription)
  • image → text (OCR)
  • text → meaning (NLP)

Registry as Source of Truth

  • central video registry
  • thread-safe and process-safe updates
  • ensures consistency across runs

🔹 Why This Exists

Most video pipelines:

  • stop at transcription
  • lack structure
  • are not searchable
  • are not reusable

abstract_videos transforms video into:

  • structured data
  • searchable content
  • SEO-ready metadata
  • indexable media assets

🔹 Example Use Cases

  • video → searchable content pipelines
  • media indexing platforms
  • transcription + analytics systems
  • SEO content generation
  • LLM-ready dataset creation

🔹 Integration Context

This system integrates directly with:

  • abstract_hugpy → NLP / summarization / keyword extraction
  • abstract_ocr → image/frame OCR
  • abstract_pdfs → document pipeline

🔹 Design Philosophy

  • Media is data, not just content
  • Structure enables reuse
  • Pipelines should be resumable and deterministic
  • Local-first, cloud-optional

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

abstract_videos-0.0.0.264.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

abstract_videos-0.0.0.264-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file abstract_videos-0.0.0.264.tar.gz.

File metadata

  • Download URL: abstract_videos-0.0.0.264.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for abstract_videos-0.0.0.264.tar.gz
Algorithm Hash digest
SHA256 df7549e580d7d1a46b9ec509660289ea608daa8e5df0294268aa893d4eb4d0c5
MD5 2786529286e6fbd1fa66aa8c5f09b25a
BLAKE2b-256 10983a3fb16f0b35775799d0ffc62b51b2134f79fab94e2c359531d34ecbc761

See more details on using hashes here.

File details

Details for the file abstract_videos-0.0.0.264-py3-none-any.whl.

File metadata

File hashes

Hashes for abstract_videos-0.0.0.264-py3-none-any.whl
Algorithm Hash digest
SHA256 0a88e0a0ec491c4d6faa6dac8ab71ca847c5d38147cae86440321d3ec39f6b85
MD5 16a2916a9c38a52266a22c5862f9b414
BLAKE2b-256 aa47061a8c6d0ac67a47028259ea7fd38cb59e907dfcb2f444bfb870d224aa8e

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