Media Server 25.3
Media Server Help

# Introduction to Event Stream Processing

Event Stream Processing (ESP) applies rules to the output of other tasks, including other ESP tasks.

One use of ESP is to identify interesting events from a large number of records. A simple example is detecting the occurrence of a particular word in an audio stream. A more complex example is detecting when a combination or sequence of events occurs within a specific time interval; for example, a number plate is detected shortly after a traffic light changes to red.

The tracks passed to ESP engines are not modified. An ESP task produces a new output track that contains records which meet the specified conditions.

ESP engine | Description | Example
--- | --- | ---
Filter | Filters a track, and produces an output track that contains only records that meet specified conditions. | Filter speech-to-text results for a news channel to produce an output track that only contains records for the word "weather".
Deduplicate | Identifies duplicate records in a track, and produces an output track without the duplicates. | Face recognition produces a result each time a person is recognized. Deduplication can filter the output to remove any records produced when the same person is recognized again within a certain number of seconds.
Or | Combines two or more tracks into a single output track. The output track contains all of the records from all of the input tracks. | Combine tracks from OCR, speech-to-text, and face recognition to produce an output track that contains information about text, speech, and faces in a video.
And / AndThen | Compares two or more tracks to identify combinations of events. The events must occur within specific time intervals of each other. The records in the output track contain a group of related records. A record can appear in the output track more than once if it becomes part of multiple combinations. The `AndThen` engine enforces the condition that, for records to be grouped, a record in an input track must start after the record in the preceding input track | Identify when the text "election results" appears on-screen and a news presenter speaks the name of a politician up to ten seconds after the text appears.
AndNot | Compares a track (`Input0`) with one or more other tracks. The output contains every record from the `Input0` track which is not preceded or followed, within a specified time interval, by an event in any of the other tracks. | Produce a track containing records for all appearances of a logo that are not accompanied by the company name in the ten seconds preceding or following the logo's appearance.
AndNotThen | Compares a track (`Input0`) with one or more other tracks. The output contains every record from the `Input0` track which is not followed, within a specified time interval, by an event in any of the other tracks. | Produce a track containing records for all appearances of a logo that are not followed within ten seconds by the company name.
AndAny | Compares a track (`Input0`) with one or more other tracks. The output contains every record from the `Input0` track which is preceded or followed, within a specified time interval, by at least one event in any of the other tracks. |
AndThenAny | Compares a track (`Input0`) with one or more other tracks. The output contains every record from the `Input0` track which is followed, within a specified time interval, by at least one event in any of the other tracks. |
Combine | Combines records from two or more tracks. This is similar to the And ESP task, except: It produces an output record for every record in the first input track, and this output record contains copies of all related records from the other input track(s). In comparison, the And task creates one output record for each pair of related records. Every record from the first input track always appears in the output, even if there are no related records in the other input track(s). | Combine information about detected faces that appear at the same time so that all of the faces can be blurred by a transformation task.
CombineWithLast | Combines a record in one track with the most recent record from another track. | Combine a record with the most recent state of traffic lights (determined by the `TrafficLight` engine), so that you can detect vehicles failing to stop for a red light.

The ESP engines support configuration parameters that allow you to customize the operations for your data. Some engines also allow you to run scripts written in the Lua scripting language. For more information about Lua scripts, see Write a Lua Script for an ESP Engine.

Copyright 2025 Open Text
Version 25.3 | Last updated July 2025

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: Knowledge Discovery Media Server 25.3

Topic Title: Introduction to Event Stream Processing