analyticscombiner

analyticscombiner is a generic, media-agnostic stream combiner element for analytics purposes.

Buffers and serialized events of one or more streams are combined into batches of a specific duration, which can be configured via the batch-duration property. The batches are pushed downstream as empty buffers with the GstAnalyticsBatchMeta, which contains the original data flow of each stream. The order of the streams inside the GstAnalyticsBatchMeta are defined by the index property on each of the sink pads, which defaults to being the index of all sink pads when sorted according to the pad name.

The caps on the source pad are of type multistream/x-analytics-batch and contain the original caps of each stream in the streams field in the same order as they appear in the GstAnalyticsBatchMeta. Caps negotiation ensures that downstream can provide constraints for each of the input streams.

By default all buffers that start inside a batch are included in the output. Via the batch-strategy property on the sink pads this behaviour can be modified.

The intended usage is to follow analyticscombiner by one or more inference elements that process the combined stream, attach additional meta on the buffers, and then pass through analyticssplitter that then splits the combined stream into its original streams again.

Usage

gst-launch-1.0 filesrc location=file-1.mp4 ! decodebin3 ! combiner.sink_0 \
    filesrc location=file-2.mp4 ! decodebin3 ! combiner.sink_1 \
    analyticscombiner name=combiner batch-duration=100000000
      sink_0::batch-strategy=first-in-batch-with-overlay \
      sink_1::batch-strategy=first-in-batch-with-overlay ! \
    inference-elements ! \
    analyticssplitter name=splitter \
    splitter.src_0_0 ! objectdetectionoverlay ! videoconvert ! autovideosink \
    splitter.src_0_1 ! objectdetectionoverlay ! videoconvert ! autovideosink

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstAggregator
                    ╰──analyticscombiner

Implemented interfaces

Factory details

Authors: – Sebastian Dröge

Classification:Combiner/Analytics

Rank – none

Plugin – rsanalytics

Package – gst-plugin-analytics

Pad Templates

sink_%u

ANY

Presencerequest

Directionsink

Object typeGstAnalyticsCombinerSinkPad


src

multistream/x-analytics-batch(meta:GstAnalyticsBatchMeta):

Presencealways

Directionsrc

Object typeGstAggregatorPad


Properties

batch-duration

“batch-duration” guint64

Batch Duration

Flags : Read / Write

Default value : 100000000


force-live

“force-live” gboolean

Always operate in live mode and aggregate on timeout regardless of whether any live sources are linked upstream

Flags : Read / Write / Construct Only

Default value : false


The results of the search are