Overview#
Surveillance footage from a petrol station captures a partial vehicle registration. An investigator uploads the clip, and within moments the system extracts the visible text from every relevant frame, aggregates the results, and adds them to the evidence file. The Media domain handles that pipeline: secure file management, OCR-driven video text extraction, and URL-based processing for remote content.
Key Features#
- Media file upload and management with type classification
- Video text extraction via OCR with configurable frame sampling
- URL-based media processing for remote content
- Text aggregation from extracted video frames
- Metadata extraction for media files
- Configurable confidence thresholds for OCR accuracy
- Frame limit controls for processing optimisation
Use Cases#
Relevant sectors include law enforcement, intelligence agencies, and financial crime investigation.
- Extracting text content from surveillance video footage for investigation analysis
- Managing media evidence files with classification and metadata
- Processing remote media content from URLs without local download
- Aggregating OCR results from video frames for searchable text output
Integration#
The Media domain integrates with Evidence for media file management, Investigation for case context, and the intelligence service for AI-powered media analysis.
Open Standards#
- GraphQL (June 2018 specification): All media queries and mutations, including video upload, text extraction, and media listing, are exposed through a GraphQL API with strongly typed schemas and response envelopes.
- GraphQL multipart request specification: Binary video file uploads are handled via the community multipart request specification (used by Strawberry's
Uploadscalar), which layers file streaming on top of the GraphQL HTTP transport. - MPEG-4 Part 12 / ISO Base Media File Format (ISO/IEC 14496-12): The primary supported container format for video evidence is MP4, which is defined by this ISO standard; the service reads frame rate, resolution, and duration metadata from the container headers.
- Matroska / WebM: MKV and WebM container formats, defined by the IETF WebM specification and the Matroska open standard, are natively supported alongside MP4/AVI for evidence video ingestion.
- hOCR (open OCR output format): Tesseract's
image_to_dataoutput uses the hOCR-derived data model, providing per-word bounding boxes, confidence scores, and positional metadata that the service exposes directly in its GraphQL types. - HTTP/1.1 and HTTP Semantics (RFC 9110 / RFC 9112): Remote media content is retrieved from caller-supplied URLs using standard HTTP GET requests, respecting status codes and error semantics for upstream media sources.
- JSON (RFC 8259): All GraphQL responses, including extracted text, frame metadata, and bounding-box coordinates, are serialised as JSON, which is the wire format for the GraphQL HTTP transport.
Last Reviewed: 2026-02-05 Last Updated: 2026-04-14