Skip to content

feat: Add video capture query blueprint, 520-video-query-api, and ONVIF camera tooling #467

@auyidi1

Description

@auyidi1

Summary

Add a complete video capture and query pipeline to the edge-ai accelerator. This introduces a new blueprint (video-capture-query), a new application component (520-video-query-api), ONVIF camera deployment scripts, and enhanced continuous recording capabilities in the media capture service (503).

Motivation

Industrial edge AI scenarios require continuous 24/7 video recording from cameras with the ability to query and retrieve historical video segments by camera, location, and timeframe. Data scientists need a REST API to request video clips (e.g., "get video from camera-01 on January 20th from 10:00 to 10:30") for analysis, model training, and incident review.

Scope

New Components

  • 520-video-query-api — Azure Function providing REST endpoints for time-based video queries with SAS URL generation, optimized blob filtering, and MQTT-triggered capture
  • video-capture-query blueprint — end-to-end Terraform blueprint orchestrating media capture, blob storage, and video query API with lifecycle management and architecture diagrams

Enhanced Components

  • 503-media-capture-service — continuous recording mode with ACSA (Azure Connected Storage Account) sync, multi-trigger support, and video processing improvements
  • 508-media-connector — updated docker-compose and mock RTSP camera configurations
  • 111-assets — new ONVIF camera deployment scripts (Bicep and Terraform), PTZ profile discovery, and quick PTZ test utilities

Documentation

  • ONVIF camera quickstart — step-by-step guide for deploying ONVIF cameras with Azure IoT Operations
  • Architecture Decision Records — dual-component video architecture (ADR-006), continuous video capture with ACSA sync, edge video streaming and image capture
  • Blueprint architecture diagrams — 6 drawio/mermaid diagrams covering high-level architecture, component integration, blob storage organization, data flow, network topology, and deployment sequence

Blueprint Integration

  • full-single-node-cluster — video capture query variables, outputs, and video-capture-query.tfvars.example

Components Affected

  • src/500-application/520-video-query-api (new)
  • src/500-application/503-media-capture-service (enhanced)
  • src/500-application/508-media-connector (updated)
  • src/100-edge/111-assets/scripts (new ONVIF tooling)
  • blueprints/video-capture-query (new)
  • blueprints/full-single-node-cluster (integration)
  • docs/getting-started/onvif-camera-quickstart.md (new)
  • project-adrs/Accepted/006-dual-component-video-architecture.md (new)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions