Identify Isolated Events–AndNotThen Engine

The AndNotThen engine compares tracks to identify when an event occurs in the first track and nothing happens in the other track(s) within a specified time interval.

NOTE: The AndNotThen engine enforces the order of events: the first track's event is considered isolated only if an event in another track does not occur after (or at the same time as) it. If you want to consider events in the other tracks occurring both before or after events in the first track, use the AndNot engine (see Identify Isolated Events–AndNot Engine).

To identify isolated events

  1. Create a new configuration to send to Media Server with the process action, or open an existing configuration that you want to modify.

  2. In the [Session] section, add a new task by setting the EngineN parameter. You can give the task any name, for example:

    [Session]
    Engine0=Ingest ... Engine5=MyAndNotThen
  3. Create a configuration section for the task and set the following parameters:

    Type The ESP engine to use. Set this parameter to AndNotThen.
    Input0 The first input track. This track must be an output track produced by another task.
    InputN One or more additional input tracks. These must be output tracks produced by other tasks.
    TimestampCondition (Optional) Specifies time limits for matching records, based on the record timestamps.
    LuaScript (Optional) The name of a Lua script that defines conditions for a discarding a record from the first track. For information about writing the script, see Write a Lua Script for an ESP Engine.

    For more information about these parameters, including the values that they accept, refer to the Media Server Reference.

  4. Save and close the configuration file. OpenText recommends that you save your configuration files in the location specified by the ConfigDirectory parameter.

Example

The following example produces an output track containing records produced when a number plate is not detected within thirty seconds (30,000 milliseconds) of a barrier being raised. The AndNot engine takes tracks produced by SceneAnalysis and NumberPlate engines. The SceneAnalysis output track contains a record for every time a barrier is raised. The Numberplate output track contains a record for every number plate detected in the video. The AndNot engine output track contains all records from the SceneAnalysis output track that are not followed within thirty seconds by an event in the NumberPlate track.

[Barrier]
Type=andnotthen
Input0=sceneanalysis.Result
Input1=numberplate.Result
TimestampCondition=start1<=start0 + 30s