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
src
multistream/x-analytics-batch(meta:GstAnalyticsBatchMeta):
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