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>
266 lines
17 KiB
HTML
266 lines
17 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|GeViScope Software Development Kit (SDK)">
|
||
<!-- saved from url=(0014)about:internet -->
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Remote control GSCView by actions
|
||
</title>
|
||
<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"> > </span><a class="MCBreadcrumbsLink" href="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> > </span><span class="MCBreadcrumbs">Remote control GscView</span>
|
||
</div>
|
||
<h2 xmlns="http://www.w3.org/TR/REC-html40">Remote control GSCView by actions
|
||
</h2>
|
||
<h3 xmlns="http://www.w3.org/TR/REC-html40">Introduction
|
||
</h3>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The simplest approach to view and browse
|
||
live and recorded video of one or more GeViScopes is to remote control GSCView
|
||
out of custom solutions. </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">GSCView can be used in a special mode so that
|
||
it can be controlled by actions that are sent from a GeViScope server. The
|
||
actions can be channeled into the system using the SDK (GSCDBI.DLL and
|
||
GSCActions.DLL) in custom applications. As an alternative the actions can be
|
||
sent to the TACI interface of the GeViScope server. The TACI interface is a
|
||
media plugin of the GeViScope server, which can receive actions as ASCII text
|
||
commands similar to a TELNET communication. The TACI plugin has to be licensed.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image002_600x435.jpg" alt="Overview.jpg" class="padding600" style="width: 600;height: 435;" />
|
||
</p>
|
||
<h3 xmlns="http://www.w3.org/TR/REC-html40">Step by step
|
||
</h3>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The following step by step instructions
|
||
show how to configure a simple system to demonstrate remote controlling
|
||
GSCView. The virtual test environment included in the SDK should be
|
||
successfully installed and set up before following these instructions (see topic
|
||
<a href="012Setting_Up_Virtual_Test_Environment.htm">Setting up a virtual test
|
||
environment</a>).
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 1: start the GeViScope server
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Start the server by double clicking on file
|
||
“\BIN\GSCServer.exe“. Now a console application should start.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image001_600x300.jpg" alt="GSCServer.JPG" class="padding600" style="width: 600;height: 300;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 2: start GSCView
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Start the GSCView software (file
|
||
“\BIN\GSCView.exe”).
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 3: start the profile manager
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The menu entry “Options – Profile manager…”
|
||
starts the internal profile manager of GSCView. The profil manager allows
|
||
configuring all GSCView settings.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image003_600x447.jpg" alt="ProfileManager.jpg" class="padding600" style="width: 600;height: 447;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 4: declare local connection as “connect
|
||
automatically”
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">By selecting “Connections” in the section
|
||
“Resources” the local connection can be declared as a connection that is
|
||
automatically built up after starting GSCView. Additional the option “Reconnect
|
||
automatically” should be activated.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image004_600x447.jpg" alt="LocalConnectionAutomatic.jpg" class="padding600" style="width: 600;height: 447;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">If the connection is open in GSCView or
|
||
GSCSetup, the settings of the connection cannot be changed. Close all local
|
||
connections at first to be able to change the connection settings.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 5: configure GSCView to be able to remote control it
|
||
by actions
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The entry “Options profile” in the section
|
||
“Profiles” shows a tab control with a lot of different GSCView settings. To be
|
||
able to remote control GSCView the option “Remote control” on the “Actions” tab
|
||
has to be set.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image005_600x447.jpg" alt="RemoteControlGSCViewOption.jpg" class="padding600" style="width: 600;height: 447;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The “Viewer client number” should be set to
|
||
a arbitrary global number that is unique in the whole system. This global
|
||
“Viewer client number” identifies this special instance of GSCView in the whole
|
||
network. The number is used in different actions to remote control GSCView.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">By contrast the “global number” of a viewer
|
||
in a custom scene identifies a special viewer in a user defined scene. Details
|
||
about user defined scenes will be topic of the next step.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 6: user defined scenes
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">To define user defined scenes in GSCView
|
||
the entry “Scenes” in section “Resources” should be selected. By right clicking
|
||
on one of the predefined scenes new user defined scenes can be created. For
|
||
this step by step example two new scenes with the names “MyStartScene” and
|
||
“MyScene” have to be added. With the button “Edit scene” the global numbers of
|
||
the viewers of the scene and the video channels that should be displayed can be
|
||
set.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The “MyStartScene” should be based on the
|
||
“Matrix 4x4”. The viewers should have the global numbers 1001 to 1016. Each
|
||
viewer should display live pictures of a video channel of the local connection.
|
||
The video channels can be set via drag & drop while editing the scene.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image016_600x438.jpg" alt="MyStartSceneDefinition.jpg" class="padding600" style="width: 600;height: 438;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The “MyScene” should be based on the
|
||
“Matrix 2x2” and the viewers should have the global numbers 1101 to 1104. The
|
||
viewers should not automatically display any video channel. They will be used by
|
||
special actions to display video channels.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image007_600x431.jpg" alt="MySceneDefinition.jpg" class="padding600" style="width: 600;height: 431;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 7: modify the appearance of GSCView
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">The appearance of GSCView can be controlled
|
||
by different settings in the entry “Options profile” of the section “Profiles”.
|
||
For this test scenario, GSCView should appear as a stupid video wall without
|
||
any user controls directly visible in the GSCView application window. To
|
||
achieve this, the following options on the “Application” tab have to be set:
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image008_600x447.jpg" alt="GSCViewAppearanceSettings.jpg" class="padding600" style="width: 600;height: 447;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Please keep in mind, that if the option “Sensitive
|
||
area enabled” is not set and if all “Hide…” options are set, the main menu of
|
||
GSCView only can be accessed by pressing F10!
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 8: save all settings
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">All settings should be saved by selecting
|
||
the menu entry “File – Save”.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 9: test the system with GSCPLCSimulator
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">After restarting GSCView it should appear
|
||
in full mode with 16 viewers displaying live pictures of the video channels of
|
||
the local connection.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image009_600x467.jpg" alt="GSCViewAfterStartUp.jpg" class="padding600" style="width: 600;height: 467;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Now start the software “\BIN\
|
||
GSCPLCSimulator.exe” to test the system. The GSCPLCSimulator serves as a
|
||
monitoring tool for all messages (actions) and events that are transported
|
||
inside the complete system. Furthermore actions can be triggered and events can
|
||
be started and stopped.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">After its start the connection to the local
|
||
server should be build up automatically and all action traffic is displayed in
|
||
a list.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image010_600x497.jpg" alt="GSCPLCSimulatorAfterStartUp.jpg" class="padding600" style="width: 600;height: 497;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">With the button “Dialog” an action can be selected
|
||
and with the button “Send” this action can be send to the GeViScope server. For
|
||
testing the system first select the action “VC change scene by name” in the
|
||
category “Viewer actions” to display “MyScene” on the GSCView with the global
|
||
“Viewer client number” 1000.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image011.jpg" alt="DisplayMyScene.jpg" class="padding600" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">After sending the action, GSCView should
|
||
display an “empty” “MyScene”.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image012_600x467.jpg" alt="EmptyMyScene.jpg" class="padding600" style="width: 600;height: 467;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">To display video channels in the viewers of
|
||
“MyScene” the action “Viewer connect live” can be used. The parameter “viewer”
|
||
now means the global number of a viewer of “MyScene”, e.g. 1102. The parameter
|
||
“channel” should be set to the global number of the video channel that should
|
||
be displayed, e.g. 2.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image013.jpg" alt="DisplayVideoChannel.jpg" class="padding600" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">After sending the action, GSCView displays
|
||
live video of the video channel 2 on the upper left viewer in GSCView.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image014_600x467.jpg" alt="GSCViewWithDisplayedVideoChannel.jpg" class="padding600" style="width: 600;height: 467;" />
|
||
</p>
|
||
<h3 xmlns="http://www.w3.org/TR/REC-html40">Background information
|
||
</h3>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">In GeViScope systems actions are used to
|
||
communicate between the GeViScope server and any client application. All available
|
||
actions can be divided into three groups:
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Notification actions (for example “User
|
||
Login”), command actions (for example “Viewer connect live”) and logical
|
||
actions (these actions are not directly created by the GeViScope server and
|
||
they don’t directly result in any reaction in the GeViScope server, for example
|
||
“Custom action”).
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">All actions are grouped in different
|
||
categories. The category “Viewer actions” contains all actions that are
|
||
relevant for remote controlling GSCView.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">To get notifications about GSCView
|
||
activities, one of the options “Send notification actions” in the profile
|
||
manager of GSCView has to be set. All possible notification actions are
|
||
collected in the action category “Viewer notifications”.
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">
|
||
<img src="Images/014image015_600x447.jpg" alt="GSCViewNotifications.jpg" class="padding600" style="width: 600;height: 447;" />
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">More detailed information about all available
|
||
actions can be found in the topic “Action documentation” (especially <a href="ActionDoku/VideoActions.htm">Viewer actions</a> and <a href="ActionDoku/ViewerNotificationActions.htm">Viewer notifications</a>).
|
||
</p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
|
||
<p xmlns="http://www.w3.org/TR/REC-html40">Please be aware of the fact that GSCView is
|
||
working in an asynchronous mode. If a custom application sends an action, that
|
||
depends on the result of the previous sent action there may be the need for
|
||
inserting a pause time before sending the second action (e.g. send action “Viewer
|
||
connect live”, wait one second, send action “Viewer print picture”). GSCView
|
||
does not have an input queue for remote control actions.
|
||
</p>
|
||
</body>
|
||
</html> |