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 acceptstext/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
- 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

Example Pipeline

Download Required Files
| File | Download | Save as |
|---|---|---|
| YOLOX W8A8 model | Qualcomm AI Hub — YOLOX | yolo_x_w8a8.tflite |
| Detection labels | yolov8.json | yolov8.json |
| Sample video | Input video | Draw_1080p_180s_30FPS.mp4 |
Hierarchy
GObjectGstObject
GstElement
GstBaseSink
qtiredissink
Pad Templates
sink
| Capabilities | |
|---|---|
text/x-raw | format: NA |
| Availability: Always | |
| Direction: sink |
Element Properties
| Property | Description |
|---|---|
channel | Redis Pub/Sub channel to publish messages to.Type: StringDefault: NULLFlags: readable/writable |
host | Redis server hostname or IP address.Type: StringDefault: "127.0.0.1"Flags: readable/writable |
password | Password for Redis authentication.Type: StringDefault: NULLFlags: readable/writable |
port | Redis server TCP port.Type: Unsigned IntegerDefault: 6379Range: 0 - 4294967295 Flags: readable/writable |
username | Username for Redis authentication.Type: StringDefault: NULLFlags: readable/writable |
Internal Architecture and Messaging Model
qtiredissink connects to the configured Redis host and port (with optional authentication), reads each incomingtext/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 istext/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 byqtimetamux, 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.

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.

