<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg" -->

---
title: A framework to share analytics data in GStreamer | daily.dev
description: Collabora has contributed an analytics metadata framework upstream to GStreamer, addressing the lack of a shared standard for video analytics pipelines. The...
canonical: https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A framework to share analytics data in GStreamer | daily.dev
og:description: Collabora has contributed an analytics metadata framework upstream to GStreamer, addressing the lack of a shared standard for video analytics pipelines. The...
og:url: https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg
og:image: https://api.daily.dev/og/posts/IIFDVzSQG.png
og:image:alt: A framework to share analytics data in GStreamer
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A framework to share analytics data in GStreamer

**[Collabora Blog](https://daily.dev/sources/collabora)** · 4 min read · 0 upvotes · 0 comments

## Summary

Collabora has contributed an analytics metadata framework upstream to GStreamer, addressing the lack of a shared standard for video analytics pipelines. The new GstAnalyticsRelationMeta stores an array of metadata structures alongside a graph of relations between them, enabling multi-step analysis workflows — for example, detecting objects in one step and classifying them further in subsequent steps. Base metadata classes for objects, classification, and tracking are defined, with extensibility for plugins to add their own. The goal is to decouple analysis steps, leverage platform-specific acceleration, and scale to large numbers of detections (e.g., hundreds of people in a crowd scene).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/news-and-events/a-framework-to-share-analytics-data-in-gstreamer.html>

## Questions this post answers

### What is GstAnalyticsRelationMeta in GStreamer and what problem does it solve?

GstAnalyticsRelationMeta is a new GStreamer metadata type that stores an array of metadata structures along with a graph of relations between them. It solves the scalability problem of the existing region-of-interest meta, which couldn't handle large numbers of detections (e.g., hundreds of people in a crowd). It also enables multi-step analysis pipelines — one step detects objects, subsequent steps classify or track them — and supports hierarchical relationships like a tire being part of a car.

_Engineers building GStreamer video analytics pipelines track upstream changes like this on daily.dev._

### What base metadata classes does the GStreamer analytics framework define?

The GStreamer analytics framework defines three base metadata classes: objects, classification, and tracking. These are built on top of GstAnalyticsRelationMeta and can be extended — plugins can define their own additional metadata classes beyond these base types.

_Developers integrating ML inference into GStreamer pipelines follow ecosystem developments like these on daily.dev._

## Similar posts on daily.dev

- [Introducing GstPipelineStudio 0.6.0](https://daily.dev/posts/introducing-gstpipelinestudio-0-6-0-ofhghxgo9) · Planet Igalia · 0 upvotes · 0 comments
- [Meet Data Studio: tools to curate your semantic layer in Metabase](https://daily.dev/posts/meet-data-studio-tools-to-curate-your-semantic-layer-in-metabase-mh3unywkj) · Metabase · 40 upvotes · 0 comments
- [Metadata: How data about your data is optimal for AI](https://daily.dev/posts/metadata-how-data-about-your-data-is-optimal-for-ai-4xuavnqbx) · Data Science Central · 1 upvotes · 0 comments
- [GStreamer 1.28.1 Adds Whisper-Based Speech-To-Text, AV1 Stateful V4L2 Decoder Support](https://daily.dev/posts/gstreamer-1-28-1-adds-whisper-based-speech-to-text-av1-stateful-v4l2-decoder-support-njs5v7ce9) · Phoronix · 0 upvotes · 0 comments
- [FFmpeg at Meta: Media Processing at Scale](https://daily.dev/posts/ffmpeg-at-meta-media-processing-at-scale-ftk671jjr) · Facebook Engineering
 · 147 upvotes · 0 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#object-detection](https://daily.dev/tags/object-detection)

[View this post on daily.dev](https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A framework to share analytics data in GStreamer","url":"https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg"},"datePublished":"2026-08-11T08:54:50.597Z","dateModified":"2026-08-11T09:29:07.572Z","description":"Collabora has contributed an analytics metadata framework upstream to GStreamer, addressing the lack of a shared standard for video analytics pipelines. The...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/db0e0afbef136464b9f5962bc092f092?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/db0e0afbef136464b9f5962bc092f092?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,object-detection","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"A framework to share analytics data in GStreamer"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/a-framework-to-share-analytics-data-in-gstreamer-iifdvzsqg#faq","mainEntity":[{"@type":"Question","name":"What is GstAnalyticsRelationMeta in GStreamer and what problem does it solve?","acceptedAnswer":{"@type":"Answer","text":"GstAnalyticsRelationMeta is a new GStreamer metadata type that stores an array of metadata structures along with a graph of relations between them. It solves the scalability problem of the existing region-of-interest meta, which couldn't handle large numbers of detections (e.g., hundreds of people in a crowd). It also enables multi-step analysis pipelines — one step detects objects, subsequent steps classify or track them — and supports hierarchical relationships like a tire being part of a car. Engineers building GStreamer video analytics pipelines track upstream changes like this on daily.dev."}},{"@type":"Question","name":"What base metadata classes does the GStreamer analytics framework define?","acceptedAnswer":{"@type":"Answer","text":"The GStreamer analytics framework defines three base metadata classes: objects, classification, and tracking. These are built on top of GstAnalyticsRelationMeta and can be extended — plugins can define their own additional metadata classes beyond these base types. Developers integrating ML inference into GStreamer pipelines follow ecosystem developments like these on daily.dev."}}]}
```

