Skip to main content

Overview

The qtiredissink is a GStreamer sink element that publishes text-based pipeline output to a Redis server in real time via Redis Pub/Sub. It accepts text/x-raw buffers from upstream elements and forwards each buffer as a message to a configured Redis channel. It is designed for media and AI pipelines where machine learning results, analytics output, or serialized metadata must be delivered to backend systems, dashboards, or distributed consumers with minimal integration effort. Supported payload types:
  • Machine learning metadata — detection/classification results, tracking information
  • Application-generated messages or serialized custom data
  • JSON or other serialized text payloads
qtiredissink manages the Redis connection and publishing internally, reducing the application logic needed to bridge a GStreamer pipeline with Redis messaging. Core capabilities:
  • Redis connectivity — connects to a Redis server using configurable host and port, with optional authentication
  • Channel-based publishing — sends each incoming buffer to a selected Redis Pub/Sub channel
  • Live data forwarding — publishes metadata or text output as soon as it arrives
  • qtiredissink is a sink element — it terminates the pipeline branch.
  • It accepts only text/x-raw input; it is not intended for raw audio or video transport.
  • Messages are delivered only to currently connected subscribers and are not retained for later delivery.
  • A valid channel must be configured before publishing.
qtiredissink_arch

Example Pipeline

1

Download Required Files

2

Copy files to device

3

Connect to device

4

Set environment variables

Run below command on your device
5

Run the pipeline

Hierarchy

GObject
   GstObject
      GstElement
         GstBaseSink
            qtiredissink

Pad Templates

sink

Element Properties

Internal Architecture and Messaging Model

qtiredissink connects to the configured Redis host and port (with optional authentication), reads each incoming text/x-raw buffer, and publishes its contents to the specified channel using the Redis PUBLISH command. Because it uses Pub/Sub, messages are delivered only in real time to currently connected subscribers and are not retained for later delivery. This makes the element suitable for live metadata and event distribution rather than persistent storage.

Custom Payload Support

qtiredissink can transport any custom textual or serialized payload as long as it is text/x-raw. This is useful for:
  • Sensor or telemetry data serialized as text
  • Application-specific metadata such as JSON
  • Event notifications and status messages
  • Any AI metadata not natively supported by IMSDK

Usage

Ensure you have followed the prerequisites before continuing

AI pipeline with video overlay and Redis metadata streaming

This pipeline performs object detection on offline video. Inference results are attached to each frame as metadata by qtimetamux, converted to JSON by qtimlmetaparser, and published to a Redis channel by qtiredissink. In parallel, the video stream continues to the display path where detection overlays are rendered on screen. This separates metadata distribution from video rendering, allowing external applications to consume real-time inference results through Redis independently of the displayed video. qtiredissink_arch
Listen to the published data with Redis CLI:

AI pipeline with direct metadata streaming to Redis

This pipeline performs object detection on offline video. The decoded frames pass through the inference and post-processing stages, which produce detection results as structured text. That output is consumed directly by qtiredissink, which publishes the inference metadata to a Redis channel — without any video overlay or display path. qtiredissink_arch
Listen to the published data with Redis CLI: