Files
Administrator 14893e62a5 feat: Geutebruck GeViScope/GeViSoft Action Mapping System - MVP
This MVP release provides a complete full-stack solution for managing action mappings
in Geutebruck's GeViScope and GeViSoft video surveillance systems.

## Features

### Flutter Web Application (Port 8081)
- Modern, responsive UI for managing action mappings
- Action picker dialog with full parameter configuration
- Support for both GSC (GeViScope) and G-Core server actions
- Consistent UI for input and output actions with edit/delete capabilities
- Real-time action mapping creation, editing, and deletion
- Server categorization (GSC: prefix for GeViScope, G-Core: prefix for G-Core servers)

### FastAPI REST Backend (Port 8000)
- RESTful API for action mapping CRUD operations
- Action template service with comprehensive action catalog (247 actions)
- Server management (G-Core and GeViScope servers)
- Configuration tree reading and writing
- JWT authentication with role-based access control
- PostgreSQL database integration

### C# SDK Bridge (gRPC, Port 50051)
- Native integration with GeViSoft SDK (GeViProcAPINET_4_0.dll)
- Action mapping creation with correct binary format
- Support for GSC and G-Core action types
- Proper Camera parameter inclusion in action strings (fixes CrossSwitch bug)
- Action ID lookup table with server-specific action IDs
- Configuration reading/writing via SetupClient

## Bug Fixes
- **CrossSwitch Bug**: GSC and G-Core actions now correctly display camera/PTZ head parameters in GeViSet
- Action strings now include Camera parameter: `@ PanLeft (Comment: "", Camera: 101028)`
- Proper filter flags and VideoInput=0 for action mappings
- Correct action ID assignment (4198 for GSC, 9294 for G-Core PanLeft)

## Technical Stack
- **Frontend**: Flutter Web, Dart, Dio HTTP client
- **Backend**: Python FastAPI, PostgreSQL, Redis
- **SDK Bridge**: C# .NET 8.0, gRPC, GeViSoft SDK
- **Authentication**: JWT tokens
- **Configuration**: GeViSoft .set files (binary format)

## Credentials
- GeViSoft/GeViScope: username=sysadmin, password=masterkey
- Default admin: username=admin, password=admin123

## Deployment
All services run on localhost:
- Flutter Web: http://localhost:8081
- FastAPI: http://localhost:8000
- SDK Bridge gRPC: localhost:50051
- GeViServer: localhost (default port)

Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 18:10:54 +01:00

1494 lines
80 KiB
HTML

<!DOCTYPE html>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" lang="en" xml:lang="en" data-mc-search-type="Stem" data-mc-help-system-file-name="index.xml" data-mc-path-to-help-system="../../" data-mc-target-type="WebHelp2" data-mc-runtime-file-type="Topic" data-mc-preload-images="false" data-mc-in-preview-mode="false" data-mc-toc-path="GeViScope SDK|Action documentation">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Video control</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/TextEffects.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/Topic.css" rel="stylesheet" />
<link href="../Resources/Stylesheets/Styles.css" rel="stylesheet" />
<script src="../../Resources/Scripts/jquery.min.js">
</script>
<script src="../../Resources/Scripts/plugins.min.js">
</script>
<script src="../../Resources/Scripts/require.min.js">
</script>
<script src="../../Resources/Scripts/require.config.js">
</script>
<script src="../../Resources/Scripts/MadCapAll.js">
</script>
</head>
<body>
<div class="MCBreadcrumbsBox_0"><span class="MCBreadcrumbsPrefix">| </span><a class="MCBreadcrumbsLink" href="../Titel.htm">GeViScope SDK</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="../300_Action documentation.htm">Action documentation</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Video control</span>
</div>
<h1>Video control actions</h1>
<p>All actions to control the video streams, also all notifications about the state change of the video streams.</p>
<p>&#160;</p>
<h2><a name="Activate"></a>Activate external process</h2>
<p>Action name:ActivateExternalProcess(Channel, TimeStamp, ExternalSystem)</p>
<p>Action category: logical</p>
<p>Activate external process.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">external system
</td>
<td class="BodyE-Column1-Body1">ExternalSystem
</td>
<td class="BodyD-Column1-Body1">External system to activate.
</td>
</tr>
</table>
<h2><a name="Change"></a>Change AD parameter set</h2>
<p>Action name:ChangeADParameterSet(Channel, ParameterSet)</p>
<p>Action category: logical</p>
<p>This action changes the current AD parameter set of the video channel.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">AD parameter set
</td>
<td class="BodyE-Column1-Body2">ParameterSet
</td>
<td class="BodyD-Column1-Body2">The name of the new AD parameter set.
</td>
</tr>
</table>
<h2>Change camera profile</h2>
<p>Action name:ChangeCameraProfile(HardwareModule, CameraProfile)</p>
<p>Action category: logical</p>
<p>This action changes the current camera profile of the hardware module.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">hardware
</td>
<td class="BodyE-Column1-Body1">HardwareModule
</td>
<td class="BodyD-Column1-Body1">Hardware module.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">profile
</td>
<td class="BodyE-Column1-Body2">CameraProfile
</td>
<td class="BodyD-Column1-Body2">The name of the camera profile.
</td>
</tr>
</table>
<h2>Change CPA parameter set</h2>
<p>Action name:ChangeCPAParameterSet(Channel, ParameterSet)</p>
<p>Action category: logical</p>
<p>This action changes the current CPA parameter set of the video channel.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">CPA parameter set
</td>
<td class="BodyE-Column1-Body2">ParameterSet
</td>
<td class="BodyD-Column1-Body2">The name of the new CPA parameter set.
</td>
</tr>
</table>
<h2>Change OBTRACK parameter set</h2>
<p>Action name:ChangeObtrackParameterSet(Channel, ParameterSet)</p>
<p>Action category: logical</p>
<p>This action changes the current OBTRACK parameter set of the video channel.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">OBTRACK parameter set
</td>
<td class="BodyE-Column1-Body2">ParameterSet
</td>
<td class="BodyD-Column1-Body2">The name of the new OBTRACK parameter set.
</td>
</tr>
</table>
<h2>Change VMD parameter set</h2>
<p>Action name:ChangeVMDParameterSet(Channel, ParameterSet)</p>
<p>Action category: logical</p>
<p>This action changes the current VMD parameter set of the video channel.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">VMD parameter set
</td>
<td class="BodyE-Column1-Body2">ParameterSet
</td>
<td class="BodyD-Column1-Body2">The name of the new VMD parameter set.
</td>
</tr>
</table>
<h2><a name="Channel"></a>Channel error</h2>
<p>Action name:ChannelError(Channel, SensorType, Source, Message, WindowsError, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify channel error.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Windows error code
</td>
<td class="BodyE-Column1-Body1">WindowsError
</td>
<td class="BodyD-Column1-Body1">Optional Windows error code.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">description
</td>
<td class="BodyE-Column1-Body2">Description
</td>
<td class="BodyD-Column1-Body2">Optional description of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">additional info
</td>
<td class="BodyE-Column1-Body1">XMLInfo
</td>
<td class="BodyD-Column1-Body1">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2>Channel info</h2>
<p>Action name:ChannelInfo(Channel, SensorType, Source, Message, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify channel information.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description
</td>
<td class="BodyE-Column1-Body1">Description
</td>
<td class="BodyD-Column1-Body1">Optional description of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">additional info
</td>
<td class="BodyE-Column1-Body2">XMLInfo
</td>
<td class="BodyD-Column1-Body2">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2>Channel live check</h2>
<p>Action name:ChannelLiveCheck(Channel, SensorType, TimeStamp)</p>
<p>Action category: logical</p>
<p>This action notifies that the channbel is alive.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp
</td>
<td class="BodyE-Column1-Body1">TimeStamp
</td>
<td class="BodyD-Column1-Body1">Time stamp.
</td>
</tr>
</table>
<h2>Channel warning</h2>
<p>Action name:ChannelWarning(Channel, SensorType, Source, Message, WindowsError, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify channel warning.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Windows error code
</td>
<td class="BodyE-Column1-Body1">WindowsError
</td>
<td class="BodyD-Column1-Body1">Optional Windows error code.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">description
</td>
<td class="BodyE-Column1-Body2">Description
</td>
<td class="BodyD-Column1-Body2">Optional description of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">additional info
</td>
<td class="BodyE-Column1-Body1">XMLInfo
</td>
<td class="BodyD-Column1-Body1">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2><a name="CPA"></a>CPA measurement</h2>
<p>Action name:CPAMeasurement(Channel, Correlation)</p>
<p>Action category: logical</p>
<p>CPA measurement.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">correlation
</td>
<td class="BodyE-Column1-Body2">Correlation
</td>
<td class="BodyD-Column1-Body2">Correlation factor.
</td>
</tr>
</table>
<h2><a name="IAS"></a>IAS settings changed</h2>
<p>Action name:IASSettingsChanged(Channel, SensorType)</p>
<p>Action category: logical</p>
<p>IAS settings changed.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
</table>
<h2><a name="IP"></a>IP camera raw command</h2>
<p>Action name:IPCameraRawCommand(URL, User, Password, POST)</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>This action sends a special command to the IP camera.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1">
</col>
<col class="Column-Column1">
</col>
<col class="Column-Column1">
</col>
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">url </td>
<td class="BodyE-Column1-Body1">URL </td>
<td class="BodyD-Column1-Body1">Complete command URL (like http://192.168.0.165:80/set?daynight=night).
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">user
</td>
<td class="BodyE-Column1-Body2">User </td>
<td class="BodyD-Column1-Body2">User name to authenticate by the camera (optional). </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">password</td>
<td class="BodyE-Column1-Body1">Password</td>
<td class="BodyD-Column1-Body1">Password to authenticate by the camera (optional).</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">post </td>
<td class="BodyE-Column1-Body2">POST</td>
<td class="BodyD-Column1-Body2">POST parameters (optional, separate lines with \\r\\n). </td>
</tr>
</table>
<h2><a name="Make"></a>Make CPA reference image</h2>
<p>Action name:MakeCPAReferenceImage(Channel)</p>
<p>Action category: logical</p>
<p>Make CPA reference image.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
</table>
<h2><a name="Media"></a>Media channel setup</h2>
<p>Action name:MediaChannelSetupInfo(Channel, TimeStamp, Parameter)</p>
<p>Action category: logical</p>
<p>Media channel setup info.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">parameter
</td>
<td class="BodyE-Column1-Body1">Parameter
</td>
<td class="BodyD-Column1-Body1">Parameter.
</td>
</tr>
</table>
<h2><a name="NPR"></a>NPR raw data</h2>
<p>Action name:NPRRawData(PlateNo, Country, Channel, TimeStamp, ZoneRect, Weight, ZoneState, ZonePlace, Speed, Direction, ZoneIndex, CurBest, PlateWidth, PlateHeight, PlateAngle, SymHeight, Type)</p>
<p>Action category: logical</p>
<p>NPR raw data.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">plate no.
</td>
<td class="BodyE-Column1-Body1">PlateNo
</td>
<td class="BodyD-Column1-Body1">Recognized plate no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">country
</td>
<td class="BodyE-Column1-Body2">Country
</td>
<td class="BodyD-Column1-Body2">Country.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">zone rect
</td>
<td class="BodyE-Column1-Body1">ZoneRect
</td>
<td class="BodyD-Column1-Body1">Zone rectangle.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">weight
</td>
<td class="BodyE-Column1-Body2">Weight
</td>
<td class="BodyD-Column1-Body2">Weight of recognition.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">zone state
</td>
<td class="BodyE-Column1-Body1">ZoneState
</td>
<td class="BodyD-Column1-Body1">Zone state.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">zone status
</td>
<td class="BodyE-Column1-Body2">ZonePlace
</td>
<td class="BodyD-Column1-Body2">Zone status.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">speed
</td>
<td class="BodyE-Column1-Body1">Speed
</td>
<td class="BodyD-Column1-Body1">Speed in km/h
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">direction
</td>
<td class="BodyE-Column1-Body2">Direction
</td>
<td class="BodyD-Column1-Body2">Direction of the motion.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">zone index
</td>
<td class="BodyE-Column1-Body1">ZoneIndex
</td>
<td class="BodyD-Column1-Body1">Zone index.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">best
</td>
<td class="BodyE-Column1-Body2">CurBest
</td>
<td class="BodyD-Column1-Body2">Current recognition is best.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">plate width
</td>
<td class="BodyE-Column1-Body1">PlateWidth
</td>
<td class="BodyD-Column1-Body1">Plate width.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">plate height
</td>
<td class="BodyE-Column1-Body2">PlateHeight
</td>
<td class="BodyD-Column1-Body2">Plate height.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">plate angle
</td>
<td class="BodyE-Column1-Body1">PlateAngle
</td>
<td class="BodyD-Column1-Body1">Plate angle.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Symbol height
</td>
<td class="BodyE-Column1-Body2">SymHeight
</td>
<td class="BodyD-Column1-Body2">Symbol height.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Number type.
</td>
</tr>
</table>
<h2>NPR recognition</h2>
<p>Action name:NPRRecognition(PlateNo, Country, Channel, TimeStamp, ZoneRect, Restriction, Category, Speed, Direction, ZoneIndex, Type, Weight)</p>
<p>Action category: logical</p>
<p>NPR recognition.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">plate no.
</td>
<td class="BodyE-Column1-Body1">PlateNo
</td>
<td class="BodyD-Column1-Body1">Recognized plate no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">country
</td>
<td class="BodyE-Column1-Body2">Country
</td>
<td class="BodyD-Column1-Body2">Country.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">zone rect
</td>
<td class="BodyE-Column1-Body1">ZoneRect
</td>
<td class="BodyD-Column1-Body1">Zone rectangle.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">restriction
</td>
<td class="BodyE-Column1-Body2">Restriction
</td>
<td class="BodyD-Column1-Body2">Restriction of recognized number.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">category
</td>
<td class="BodyE-Column1-Body1">Category
</td>
<td class="BodyD-Column1-Body1">Category of recognized number.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">speed
</td>
<td class="BodyE-Column1-Body2">Speed
</td>
<td class="BodyD-Column1-Body2">Speed in km/h
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">direction
</td>
<td class="BodyE-Column1-Body1">Direction
</td>
<td class="BodyD-Column1-Body1">Direction of the motion.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">zone index
</td>
<td class="BodyE-Column1-Body2">ZoneIndex
</td>
<td class="BodyD-Column1-Body2">Zone index.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Number type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">weight
</td>
<td class="BodyE-Column1-Body2">Weight
</td>
<td class="BodyD-Column1-Body2">Weight of recognition.
</td>
</tr>
</table>
<h2><a name="OBTRACK"></a>OBTRACK channel counter</h2>
<p>Action name:ObtrackChannelCounter(Channel, CounterType, CounterValue, ObjectDirection, TimeStamp, ResetTimeStamp)</p>
<p>Action category: logical</p>
<p>OBTRACK channel counter.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">counter type
</td>
<td class="BodyE-Column1-Body2">CounterType
</td>
<td class="BodyD-Column1-Body2">Counter type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">counter value
</td>
<td class="BodyE-Column1-Body1">CounterValue
</td>
<td class="BodyD-Column1-Body1">Counter value.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">object direction
</td>
<td class="BodyE-Column1-Body2">ObjectDirection
</td>
<td class="BodyD-Column1-Body2">Object direction.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp
</td>
<td class="BodyE-Column1-Body1">TimeStamp
</td>
<td class="BodyD-Column1-Body1">Time stamp.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">reset time stamp
</td>
<td class="BodyE-Column1-Body2">ResetTimeStamp
</td>
<td class="BodyD-Column1-Body2">Reset time stamp.
</td>
</tr>
</table>
<h2>OBTRACK channel counter threshold</h2>
<p>Action name:ObtrackChannelCounterThreshold(Channel, CounterType, CounterValue, ExceedingDirection, TimeStamp)</p>
<p>Action category: logical</p>
<p>OBTRACK channel counter threshold.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">counter type
</td>
<td class="BodyE-Column1-Body2">CounterType
</td>
<td class="BodyD-Column1-Body2">Counter type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">counter value
</td>
<td class="BodyE-Column1-Body1">CounterValue
</td>
<td class="BodyD-Column1-Body1">Counter value.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">exceeding direction
</td>
<td class="BodyE-Column1-Body2">ExceedingDirection
</td>
<td class="BodyD-Column1-Body2">Exceeding direction.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp
</td>
<td class="BodyE-Column1-Body1">TimeStamp
</td>
<td class="BodyD-Column1-Body1">Time stamp.
</td>
</tr>
</table>
<h2>OBTRACK channel set counter</h2>
<p>Action name:ObtrackChannelSetCounter(Channel, CounterType, CounterValue, TimeStamp)</p>
<p>Action category: logical</p>
<p>OBTRACK channel set counter.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">counter type
</td>
<td class="BodyE-Column1-Body2">CounterType
</td>
<td class="BodyD-Column1-Body2">Counter type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">counter value
</td>
<td class="BodyE-Column1-Body1">CounterValue
</td>
<td class="BodyD-Column1-Body1">Counter value.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
</table>
<h2>OBTRACK frame raw data</h2>
<p>Action name:ObtrackFrameRawData(TimeStamp, Channel, Brightness, Contrast)</p>
<p>Action category: logical</p>
<p>OBTRACK frame raw data.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp
</td>
<td class="BodyE-Column1-Body1">TimeStamp
</td>
<td class="BodyD-Column1-Body1">Time stamp.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel
</td>
<td class="BodyE-Column1-Body2">Channel
</td>
<td class="BodyD-Column1-Body2">Channel.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">brightness
</td>
<td class="BodyE-Column1-Body1">Brightness
</td>
<td class="BodyD-Column1-Body1">Brightness.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">contrast
</td>
<td class="BodyE-Column1-Body2">Contrast
</td>
<td class="BodyD-Column1-Body2">Contrast.
</td>
</tr>
</table>
<h2>OBTRACK group counter</h2>
<p>Action name:ObtrackGroupCounter(GroupId, CounterType, CounterValue, ObjectDirection, TimeStamp, ResetTimeStamp, GroupName)</p>
<p>Action category: logical</p>
<p>OBTRACK group counter.
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">group id
</td><td class="BodyE-Column1-Body1">GroupId
</td><td class="BodyD-Column1-Body1">Group ID.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">counter type
</td><td class="BodyE-Column1-Body2">CounterType
</td><td class="BodyD-Column1-Body2">Counter type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">counter value
</td><td class="BodyE-Column1-Body1">CounterValue
</td><td class="BodyD-Column1-Body1">Counter value.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object direction
</td><td class="BodyE-Column1-Body2">ObjectDirection
</td><td class="BodyD-Column1-Body2">Object direction.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">time stamp
</td><td class="BodyE-Column1-Body1">TimeStamp
</td><td class="BodyD-Column1-Body1">Time stamp.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">reset time stamp
</td><td class="BodyE-Column1-Body2">ResetTimeStamp
</td><td class="BodyD-Column1-Body2">Reset time stamp.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">group name
</td><td class="BodyE-Column1-Body1">GroupName
</td><td class="BodyD-Column1-Body1">Group name.
</td></tr></table><h2>OBTRACK group counter threshold</h2><p>Action name:ObtrackGroupCounterThreshold(GroupId, CounterType, CounterValue, ExceedingDirection, TimeStamp, GroupName)</p><p>Action category: logical</p><p>OBTRACK group counter threshold.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">group id
</td><td class="BodyE-Column1-Body1">GroupId
</td><td class="BodyD-Column1-Body1">Group ID.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">counter type
</td><td class="BodyE-Column1-Body2">CounterType
</td><td class="BodyD-Column1-Body2">Counter type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">counter value
</td><td class="BodyE-Column1-Body1">CounterValue
</td><td class="BodyD-Column1-Body1">Counter Value.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">exceeding direction
</td><td class="BodyE-Column1-Body2">ExceedingDirection
</td><td class="BodyD-Column1-Body2">Exceeding direction.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">time stamp
</td><td class="BodyE-Column1-Body1">TimeStamp
</td><td class="BodyD-Column1-Body1">Time stamp.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">group name
</td><td class="BodyE-Column1-Body2">GroupName
</td><td class="BodyD-Column1-Body2">Group name.
</td></tr></table><h2>OBTRACK group set counter</h2><p>Action name:ObtrackGroupSetCounter(GroupId, CounterType, CounterValue, TimeStamp, GroupName)</p><p>Action category: logical</p><p>OBTRACK group set counter.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">group id
</td><td class="BodyE-Column1-Body1">GroupId
</td><td class="BodyD-Column1-Body1">Group ID.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">counter type
</td><td class="BodyE-Column1-Body2">CounterType
</td><td class="BodyD-Column1-Body2">Counter type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">counter value
</td><td class="BodyE-Column1-Body1">CounterValue
</td><td class="BodyD-Column1-Body1">Counter value.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">time stamp
</td><td class="BodyE-Column1-Body2">TimeStamp
</td><td class="BodyD-Column1-Body2">Time stamp.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">group name
</td><td class="BodyE-Column1-Body1">GroupName
</td><td class="BodyD-Column1-Body1">Group name.
</td></tr></table><h2>OBTRACK object raw data</h2><p>Action name:ObtrackObjectRawData(TimeStamp, Channel, Area, ObjectID, ObjectStatus, ObjectClass, Confidence, Position, Speed, Duration, Direction, Size, ObjectWidth, ObjectHeight, ProcessSize, GscNetName)</p><p>Action category: logical</p><p>OBTRACK object raw data.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">time stamp
</td><td class="BodyE-Column1-Body1">TimeStamp
</td><td class="BodyD-Column1-Body1">Time stamp.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">channel
</td><td class="BodyE-Column1-Body2">Channel
</td><td class="BodyD-Column1-Body2">Channel.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">area no
</td><td class="BodyE-Column1-Body1">Area
</td><td class="BodyD-Column1-Body1">Area no.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object ID
</td><td class="BodyE-Column1-Body2">ObjectID
</td><td class="BodyD-Column1-Body2">Object ID.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">object status
</td><td class="BodyE-Column1-Body1">ObjectStatus
</td><td class="BodyD-Column1-Body1">Object status.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object class
</td><td class="BodyE-Column1-Body2">ObjectClass
</td><td class="BodyD-Column1-Body2">Object class.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">confidence
</td><td class="BodyE-Column1-Body1">Confidence
</td><td class="BodyD-Column1-Body1">Confidence.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">position
</td><td class="BodyE-Column1-Body2">Position
</td><td class="BodyD-Column1-Body2">Position.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">speed
</td><td class="BodyE-Column1-Body1">Speed
</td><td class="BodyD-Column1-Body1">Speed.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">duration
</td><td class="BodyE-Column1-Body2">Duration
</td><td class="BodyD-Column1-Body2">Duration.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">direction
</td><td class="BodyE-Column1-Body1">Direction
</td><td class="BodyD-Column1-Body1">Direction.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object size
</td><td class="BodyE-Column1-Body2">Size
</td><td class="BodyD-Column1-Body2">Object size.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">object width
</td><td class="BodyE-Column1-Body1">ObjectWidth
</td><td class="BodyD-Column1-Body1">Object width in meters.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object height
</td><td class="BodyE-Column1-Body2">ObjectHeight
</td><td class="BodyD-Column1-Body2">Object height in meters.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">process size
</td><td class="BodyE-Column1-Body1">ProcessSize
</td><td class="BodyD-Column1-Body1">Process size.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">GSC net name
</td><td class="BodyE-Column1-Body2">GscNetName
</td><td class="BodyD-Column1-Body2">GeviScope network name.
</td></tr></table><h2>OBTRACK tunnel alarm</h2><p>Action name:ObtrackTunnelAlarm(Channel, TimeStamp, AlarmReason, ObjectID, AlarmAreaID, ObjectArea)</p><p>Action category: logical</p><p>OBTRACK tunnel alarm notification.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">time stamp
</td><td class="BodyE-Column1-Body2">TimeStamp
</td><td class="BodyD-Column1-Body2">Time stamp.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">alarm reason
</td><td class="BodyE-Column1-Body1">AlarmReason
</td><td class="BodyD-Column1-Body1">Alarm reason.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object ID
</td><td class="BodyE-Column1-Body2">ObjectID
</td><td class="BodyD-Column1-Body2">Object ID.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">alarm area ID
</td><td class="BodyE-Column1-Body1">AlarmAreaID
</td><td class="BodyD-Column1-Body1">Alarm area ID.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">object area
</td><td class="BodyE-Column1-Body2">ObjectArea
</td><td class="BodyD-Column1-Body2">Object area.
</td></tr></table><h2><a name="Sensor"></a>Sensor alarm finished</h2><p>Action name:SensorAlarmFinished(Channel, SensorType)</p><p>Action category: logical</p><p>This action will be fired when the alarm is finished.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">sensor type
</td><td class="BodyE-Column1-Body2">SensorType
</td><td class="BodyD-Column1-Body2">Sensor type.
</td></tr></table><h2>Sensor inhibit alarm finished</h2><p>Action name:SensorInhibitAlarmFinished(Channel, SensorType)</p><p>Action category: logical</p><p>This action will be fired when the inhibit alarm finished.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">sensor type
</td><td class="BodyE-Column1-Body2">SensorType
</td><td class="BodyD-Column1-Body2">Sensor type.
</td></tr></table><h2>Sensor inhibit video alarm</h2><p>Action name:SensorInhibitVideoAlarm(Channel, SensorType, ADArea, ADCell, VMDGroup, VMDZone, VMDCycle, AlarmArea, ObjectClass)</p><p>Action category: logical</p><p>This action will be fired when the motion in inhibit area detected.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">sensor type
</td><td class="BodyE-Column1-Body2">SensorType
</td><td class="BodyD-Column1-Body2">Sensor type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">AD alarm area
</td><td class="BodyE-Column1-Body1">ADArea
</td><td class="BodyD-Column1-Body1">AD alarm area.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">AD cell
</td><td class="BodyE-Column1-Body2">ADCell
</td><td class="BodyD-Column1-Body2">AD cell nr.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">VMD alarm group
</td><td class="BodyE-Column1-Body1">VMDGroup
</td><td class="BodyD-Column1-Body1">VMD alarm group.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">VMD zone
</td><td class="BodyE-Column1-Body2">VMDZone
</td><td class="BodyD-Column1-Body2">VMD zone nr.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">VMD cycle
</td><td class="BodyE-Column1-Body1">VMDCycle
</td><td class="BodyD-Column1-Body1">VMD measure cycle.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">alarm area
</td><td class="BodyE-Column1-Body2">AlarmArea
</td><td class="BodyD-Column1-Body2">Alarm area.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">object class
</td><td class="BodyE-Column1-Body1">ObjectClass
</td><td class="BodyD-Column1-Body1">OBTRACK object class.
</td></tr></table><h2>Sensor video alarm</h2><p>Action name:SensorVideoAlarm(Channel, SensorType, ADArea, ADCell, VMDGroup, VMDZone, VMDCycle, AlarmArea, ObjectClass)</p><p>Action category: logical</p><p>This action will be fired when video alarm is detected.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">sensor type
</td><td class="BodyE-Column1-Body2">SensorType
</td><td class="BodyD-Column1-Body2">Sensor type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">AD alarm area
</td><td class="BodyE-Column1-Body1">ADArea
</td><td class="BodyD-Column1-Body1">AD alarm area.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">AD cell
</td><td class="BodyE-Column1-Body2">ADCell
</td><td class="BodyD-Column1-Body2">AD cell nr.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">VMD alarm group
</td><td class="BodyE-Column1-Body1">VMDGroup
</td><td class="BodyD-Column1-Body1">VMD alarm group.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">VMD zone
</td><td class="BodyE-Column1-Body2">VMDZone
</td><td class="BodyD-Column1-Body2">VMD zone nr.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">VMD cycle
</td><td class="BodyE-Column1-Body1">VMDCycle
</td><td class="BodyD-Column1-Body1">VMD measure cycle.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">alarm area
</td><td class="BodyE-Column1-Body2">AlarmArea
</td><td class="BodyD-Column1-Body2">Alarm area.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">object class
</td><td class="BodyE-Column1-Body1">ObjectClass
</td><td class="BodyD-Column1-Body1">OBTRACK object class.
</td></tr></table><h2><a name="Set"></a>Set system time</h2><p>Action name:SetSystemTime(TimeStamp)</p><p>Action category: logical</p><p>Set system time.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">time stamp
</td><td class="BodyE-Column1-Body1">TimeStamp
</td><td class="BodyD-Column1-Body1">Time stamp.
</td></tr></table><h2><a name="Set2"></a>Set test picture mode</h2><p>Action name:SetTestPictureMode(Channel, Mode)</p><p>Action category: logical</p><p>Enable or disable test picture generator.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">enable
</td><td class="BodyE-Column1-Body2">Mode
</td><td class="BodyD-Column1-Body2">Enable or disable test picture generator.
</td></tr></table><h2><a name="Video"></a>Video contrast detected</h2><p>Action name:VideoContrastDetected(Channel)</p><p>Action category: logical</p><p>This action will be fired when the contrast is detected in the video signal.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr></table><h2>Video contrast failed</h2><p>Action name:VideoContrastFailed(Channel)</p><p>Action category: logical</p><p>This action will be fired when the contrast is lost in the video signal.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td colspan="2" class="BodyE-Column1-Body1">Parameter
</td><td class="BodyD-Column1-Body1">Function
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">channel
</td><td class="BodyE-Column1-Body2">Channel
</td><td class="BodyD-Column1-Body2">Channel.
</td></tr></table><h2><a name="Video2"></a>Video set image brightness</h2><p>Action name:VideoSetImageBrightness(Channel, SensorType, Brightness)</p><p>Action category: logical</p><p>Video set image brightness.</p><table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0"><col class="Column-Column1" /><col class="Column-Column1" /><col class="Column-Column1" /><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr class="Body-Body1"><td class="BodyE-Column1-Body1">channel
</td><td class="BodyE-Column1-Body1">Channel
</td><td class="BodyD-Column1-Body1">Channel.
</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">sensor type
</td><td class="BodyE-Column1-Body2">SensorType
</td><td class="BodyD-Column1-Body2">Sensor type.
</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">brightness
</td><td class="BodyE-Column1-Body1">Brightness
</td><td class="BodyD-Column1-Body1">Brightness.
</td></tr></table><h2>Video set image contrast</h2>Action name:VideoSetImageContrast(Channel, SensorType, Contrast)</p>
<p>Action category: logical</p>
<p>Video set image contrast.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">contrast
</td>
<td class="BodyE-Column1-Body1">Contrast
</td>
<td class="BodyD-Column1-Body1">Contrast.
</td>
</tr>
</table>
<h2>Video set image saturation</h2>
<p>Action name:VideoSetImageSaturation(Channel, SensorType, Saturation)</p>
<p>Action category: logical</p>
<p>Video set image saturation.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">sensor type
</td>
<td class="BodyE-Column1-Body2">SensorType
</td>
<td class="BodyD-Column1-Body2">Sensor type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">saturation
</td>
<td class="BodyE-Column1-Body1">Saturation
</td>
<td class="BodyD-Column1-Body1">Saturation.
</td>
</tr>
</table>
<h2><a name="Video3"></a>Video source has changed</h2>
<p>Action name:VideoSourceChanged(Channel, SignalNorm, SignalType, InterlaceType)</p>
<p>Action category: logical</p>
<p>This action indicates the changes on the video input source.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">signal norm
</td>
<td class="BodyE-Column1-Body2">SignalNorm
</td>
<td class="BodyD-Column1-Body2">New signal norm.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">signal type
</td>
<td class="BodyE-Column1-Body1">SignalType
</td>
<td class="BodyD-Column1-Body1">New signal type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">interlace type
</td>
<td class="BodyE-Column1-Body2">InterlaceType
</td>
<td class="BodyD-Column1-Body2">New interlace type.
</td>
</tr>
</table>
<h2><a name="Video4"></a>Video sync detected</h2>
<p>Action name:VideoSyncDetected(Channel)</p>
<p>Action category: logical</p>
<p>This action will be fired when the sync is detected in the video signal.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
</table>
<h2>Video sync failed</h2>
<p>Action name:VideoSyncFailed(Channel)</p>
<p>Action category: logical</p>
<p>This action will be fired when the sync is lost in the video signal.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>