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>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,215 @@
|
||||
Installation Gsc Streamer / preliminary version
|
||||
|
||||
Important information
|
||||
The present documentation is only a preliminary version and should only facilitate the installation of
|
||||
“GscStreamer” for evaluation purposes.
|
||||
|
||||
Mod e of operation
|
||||
The “GscStreamer ” support s simple integration of GeViScope video streams (actually only live video
|
||||
footage is supported !) in third -party systems based on the http protocol.
|
||||
Four independent video streams are available. Accessing the streams is similar to accessing video
|
||||
data from Axis IP cameras. To realize this parts of the “VAPIX, http API Specification” are
|
||||
implemented by “GscStreamer ”.
|
||||
The four different streams can be accessed by using different port numbers. Controlling the streams
|
||||
is done by actions that have to be sent to the GeViScope server independent from “GscStreamer ”.
|
||||
This is possible by using the TACI interface of GeViScope for example.
|
||||
Custom device
|
||||
GeViScope/re_porter
|
||||
ServerGscStreamerActions + VideoActions via TACI
|
||||
Video footage via
|
||||
HTTP GET
|
||||
|
||||
Figure 1: System overview
|
||||
|
||||
--- Page 1 ---
|
||||
|
||||
Configuring the “GscStreamer ”
|
||||
The “GscStreamer ” consists of three files. “Gsc Streamer .EXE” is the windows service application and
|
||||
“Gsc Streamer Setup.EXE” is the configuration tool for this service. Additional the file
|
||||
“GscJPEGEncoder.DLL” is needed.
|
||||
The files have to be copied into the GeViScope root fold er:
|
||||
C:\Program Files \GEVISCOPE
|
||||
At first the service has to b e installed and started. The following commands should be called at the
|
||||
command prompt:
|
||||
C:\Program Files \GEVISCOPE \GscStreamer .exe /install
|
||||
C:\Progr am Files \GEVISCOPE \GscStreamer .exe /start
|
||||
In cas e of a successful installation in the future the service will start automatically during the boot up
|
||||
of the windows OS.
|
||||
To configure “Gsc Streamer ” the set up user interface “GscStreamer Setup.EXE” has to be started.
|
||||
|
||||
Figure 2: Setup user interface of "Gsc Streamer "
|
||||
|
||||
To en sure that a connection to GeViScope can be established , connection parameters have to be
|
||||
specified. The according settings have to be assigned in the section “GEVISCOPE server” of category
|
||||
“Connections” .
|
||||
|
||||
--- Page 2 ---
|
||||
|
||||
|
||||
Figure 3: Connection settings
|
||||
|
||||
The default settings belong to a local server connection.
|
||||
Settings for the individual streams are done in the section “Channel X” of the category “Channels” .
|
||||
|
||||
Figure 4: Stream settings
|
||||
|
||||
--- Page 3 ---
|
||||
|
||||
|
||||
The relevant settings are the port number and the viewer ID . The port number defines the TCP/IP
|
||||
port that is used to provide the stream and the viewer ID is a system global number that is used to
|
||||
control the stream by GeViScope actions. If possib le the default settings should be used.
|
||||
The third -party system has to use the defined port number to access the video footage instead of
|
||||
port 80 that is used for normal IP cameras.
|
||||
The viewe r ID should be a unique global number in the whole system. Then li ve footage of a
|
||||
GeViScope camera can be streamed by a ViewerConnectLive action using the global viewer ID.
|
||||
After changing the settings the function “Send setup to service” has to be activated to apply the
|
||||
changes .
|
||||
|
||||
Configuring the third -party system
|
||||
To acc ess the streams of “GscStreamer ” the third -party system has to be able to display video
|
||||
footage of Axis IP cameras by using the Axis http protocol.
|
||||
“Gsc Streamer ” offers the following http requests:
|
||||
Single picture request : http://< ip>:<port> /jpg/image.jpg
|
||||
MJPEG request : http://< ip>:<port >/mjpg/video.mjpg
|
||||
|
||||
Function test
|
||||
To ensure “GscStreamer ” delivering video streams the function should be proofed via a stan dard web
|
||||
browser.
|
||||
At first a camera should be switched on a streaming output channel of the “Gsc Streamer ”. This can
|
||||
be realized by using the GeViScope tool “GscPLCSimulator.EXE” to send an action to the GeViScope
|
||||
server:
|
||||
ViewerConnectLive (1, 1)
|
||||
Afterwards single pictures should be requested by sending the follow ing command out of a standard
|
||||
browser:
|
||||
http://localhost:12015/jpg/image.jpg
|
||||
|
||||
|
||||
|
||||
|
||||
--- Page 4 ---
|
||||
|
||||
List of supported URLs
|
||||
The following URLs are supported in the bro wser to display the video streams:
|
||||
http://host
|
||||
Home page in web interface mode
|
||||
http://host:port/image.html
|
||||
Simple HTML page with image play back
|
||||
http://host:port/jpg/image.jpg
|
||||
Single JPEG picture
|
||||
http://host:port/mjpg/video.mjpg
|
||||
M-JPEG video stream
|
||||
The following “ VAPIX® HTTP API ” URLs are supported:
|
||||
http://host:port/axis -cgi/param.cgi
|
||||
§ 5.1.1 Add, update, remove and list parameters and their values
|
||||
Query of the GscStreamer parameters (only the parameters “action=list” and “group” are
|
||||
supported)
|
||||
http://host:port/axis -cgi/date.cgi
|
||||
§ 5.1.9 System date and time
|
||||
Query of the system date and time (only the parameter “action=list” is supported)
|
||||
http://host:port/axis -cgi/imagesize.cgi
|
||||
§ 5.2.1 Ima ge size
|
||||
Query of the image size (resolution)
|
||||
http://host:port/jpg/image.jpg
|
||||
http://host:port/axis -cgi/jpg/image.cgi
|
||||
§ 5.2.4 JPEG/MJPG (part 1 JPEG)
|
||||
Trans fer of a single picture
|
||||
http://host:port/mjpg/video.mjpg
|
||||
http://host:port/axis -cgi/mjpg/video.cgi
|
||||
§ 5.2.4 JPEG/MJPG (part 2 MJPG)
|
||||
Transfer of a M -JPEG video stream
|
||||
http://host:port/axis -cgi/com/ptz.cgi
|
||||
§ 5.3.3 PTZ control
|
||||
The following PTZ parameters are supported:
|
||||
|
||||
|
||||
|
||||
|
||||
--- Page 5 ---
|
||||
|
||||
Command Description
|
||||
auxiliary=<string> User -defined GeViScope actions. Please cons ider the URL
|
||||
code. You can use 0 as a place holder for the current camera
|
||||
and viewer number.
|
||||
whoami Query of the GscStreamer version
|
||||
pan=<float>&tilt<float> Go to an absolute position
|
||||
rpan=<float>&rtilt<float> Go to a relative position
|
||||
riris=<int> Open iris (parameter value > 0)
|
||||
Close iris (parameter value < 0)
|
||||
Stop iris (parameter value = 0)
|
||||
autofocus=<string> Turn on or off the auto focus with the parameter values “on”
|
||||
or “off”.
|
||||
autoiris=<string> Turn on or off the auto iris with the parameter value s “on” or
|
||||
“off”.
|
||||
continuouspantiltmove=<int>,<int> Pan/tilt movement
|
||||
continuouszoommove=<int> Zoom movement
|
||||
continuousfocusmove=<int> Focus movement
|
||||
move=home Go to default (home) position
|
||||
gotoserverpresetno=<int> Go to preset position
|
||||
home=yes Save the default position
|
||||
setserverpresetno=<int> Save a preset position, 0 – default position
|
||||
removeserverpresetno=<int> Remove a preset position, 0 – default position
|
||||
|
||||
http://host:port/axis -cgi/com /ptzconfig.cgi
|
||||
§ 5.3.4 PTZ configuration
|
||||
The following PTZ parameters are supported:
|
||||
Command Description
|
||||
home=yes Save the default position
|
||||
setserverpresetno=<no> Save a preset position, 0 – default position
|
||||
removeserverpresetno=<no> Remove a preset po sition, 0 – default position
|
||||
|
||||
--- Page 6 ---
|
||||
|
||||
http://host:port/axis -cgi/videocontrol.cgi
|
||||
§ 5.9 AXIS 292 Network Video Decoder in specification version 2
|
||||
Herewith the switching of the cameras to the channel was imp lemented. The following
|
||||
parameters are supported: “action=goto” and “sourcename=<no>” (with <no> is the camera
|
||||
number)
|
||||
Show camera on viewer
|
||||
http://<host>:<port>/axis -cgi/videocontrol.cgi?action=goto&sourcename=<camera number>
|
||||
Database display starting at time t
|
||||
http://<host>:<port>/axis -cgi/com/ptz.cgi?auxiliary=ViewerPlayFromTime(0,<channel>,<play
|
||||
mode>,"2010/12/08 14:19:43,720 GMT+01:00")
|
||||
http://<host>:<port>/axis -cgi/com/ptz.cgi?auxiliary=ViewerSetPlayMode(0,<play mode>,<play
|
||||
speed>)
|
||||
Play mode Value
|
||||
play stop 1
|
||||
play forward 2
|
||||
play backward 3
|
||||
fast forward 4
|
||||
fast backward 5
|
||||
step forward 6
|
||||
step backward 7
|
||||
play BOD 8
|
||||
play EOD 9
|
||||
live 11
|
||||
next event 12
|
||||
prev event 13
|
||||
peek live picture 14
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--- Page 7 ---
|
||||
|
||||
Supported viewer actions that can be sent via URL
|
||||
Viewer ConnectLive()
|
||||
ViewerConnect()
|
||||
ViewerClear()
|
||||
VCShowViewerText()
|
||||
ViewerJumpByTime()
|
||||
ViewerPlayFromTime()
|
||||
ViewerSetPlayMode()
|
||||
ViewerClearTextOutput()
|
||||
ViewerTextOutput()
|
||||
Switch resolution
|
||||
http://<host>:<port>/mjpg/video.mjpg?width=720&height=576
|
||||
Parameter Value range
|
||||
width 32-2048
|
||||
height 23-2048
|
||||
quality 0-100 (JPEG compression quality)
|
||||
|
||||
|
||||
--- Page 8 ---
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
Plugin: TACI - Telnet Action Command
|
||||
Interface
|
||||
Konzept | Concept | Projet | Concepto
|
||||
|
||||
GeViScope provides an internal optional to send and receive actions system -wide. The normal method
|
||||
of externally sending and receiving actions is provided by the GeViScope SDK. However, in a number
|
||||
of situations it is not possible to use the Win32 -based SDK. TACI (Telnet Action Command Interface)
|
||||
thus provides an option for sending and receiving actions in ASCII format. TACI converts these ASCII
|
||||
actions into normal GeViScope actions, or conversely converts GeViScope actions into ASCII format
|
||||
for transmission over a Telnet port.
|
||||
|
||||
G u t z u w is s e n | G o o d to k no w | B o n à s av o i r | C o nv ie ne s ab e r
|
||||
Your software must be capable of sending and receiving text in ASCII format.
|
||||
|
||||
Use the description of the actions in the SDK to become familiar with the actions and their parameters.
|
||||
The GSCPLC Simulator helps you to find the GeViScope directory.
|
||||
|
||||
|
||||
Prozedur | Procedur | Procédure | Procedimiento
|
||||
|
||||
How to configure TACI
|
||||
Ensure that the file GscTelnetActionCommandInterface.dll has been copied to the directory
|
||||
GeViScope/Mediaplugins. Copy the file to this location if it is not already there.
|
||||
|
||||
In GSCSetup, open the Hardware Selection menu.
|
||||
|
||||
Click with the right mouse button in t he list view and select Add in the popup menu.
|
||||
|
||||
|
||||
--- Page 1 ---
|
||||
|
||||
|
||||
Select the plugin GscTelnetActionCommandPlugin (in our example, Plugin 004) by marking it and
|
||||
clicking on Add.
|
||||
|
||||
The TACI plugin is now entered as a hardware resource in the hardware module list. If you clic k on it,
|
||||
you can set the required parameters.
|
||||
|
||||
The following describes the parameters:
|
||||
|
||||
ADVICE
|
||||
UDP is not currently implemented.
|
||||
|
||||
ActionFilterIn/ ActionFilterOut Regular Expression to filter incoming or outgoing
|
||||
messages. * means pass all.
|
||||
CommandTerminationChars Chars defining the end of a command
|
||||
FormatASCIIReply Format string of the reply from TACI {0}: Return value
|
||||
3: Error(No action 4: OK) {1}: Position of echo {2}:
|
||||
Send termination signal at the end (CR/ LF)
|
||||
FormatBinaryReply Obsolete
|
||||
FormatReceivedActions {0} Position of Action in the received string
|
||||
MaxTCPVonnections Maximum number of allowed TACI connections for one
|
||||
server
|
||||
SendAllActions Forward all actions from GeviScope to Telnet
|
||||
TCPBinaryIntelByteOrder Obsolete
|
||||
TCPBinaryRepyDownwardsCompatible Obsolete
|
||||
|
||||
|
||||
--- Page 2 ---
|
||||
|
||||
TCPEnabled Obsolete
|
||||
TCPPort Number of TCP Port for the telnet connection
|
||||
Number of TCP Port for the telnet
|
||||
connection If set tot true you will receive an echo of your
|
||||
command
|
||||
|
||||
Hello World!
|
||||
After you have configured TACI as described above, simply open a Telnet connection using the
|
||||
Windows Telnet program. To do this, open the CMD, tip in telnet and press enter.
|
||||
Then type o [hostname] 12007 .
|
||||
|
||||
You can now send a simple user action, for instan ce CustomAction (1,"HelloWorld") . In the
|
||||
PLCSimulator, you see the actions that you have sent and you can send actions from the
|
||||
PLCSimulator to the Telnet clients.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--- Page 3 ---
|
||||
|
||||
5224
SOURCES/EXTRACTED_TEXT/CODEX/GeViScope/GeViScope_SDK.txt
Normal file
5224
SOURCES/EXTRACTED_TEXT/CODEX/GeViScope/GeViScope_SDK.txt
Normal file
File diff suppressed because it is too large
Load Diff
2175
SOURCES/EXTRACTED_TEXT/CODEX/GeViSoft/GeViSoft_SDK_Documentation.txt
Normal file
2175
SOURCES/EXTRACTED_TEXT/CODEX/GeViSoft/GeViSoft_SDK_Documentation.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
||||
GeViSoft
|
||||
Software Version 6.0.1.5
|
||||
Feature List
|
||||
|
||||
|
||||
--- Page 1 ---
|
||||
|
||||
Feature list
|
||||
1 / 1Software Type Short description Detailed description
|
||||
New Feature GeViSoft Windows 10/Windows
|
||||
Server 2016 SupportThe new GeViSoft Version supports MS Windows 10 and MS Windows Server 2016.
|
||||
New Feature GeViSoft G-Core Support The new GeViSoft Version supports G-Core.
|
||||
Connections can be established to GeViScope as well as to G-Core devices.
|
||||
You need the option 8.20180 'GeVi/SysIntMSC+GSC'.GeViSoft 6.0.1.5
|
||||
|
||||
|
||||
--- Page 2 ---
|
||||
|
||||
GEUTEBRÜCK GmbH
|
||||
Im Nassen 7-9 | D-53578 Windhagen
|
||||
Tel. +49 (0)2645 137-0 | Fax-999 info@geutebrueck.com
|
||||
www.geutebrueck.comTechnische Änderungen vorbehalten.
|
||||
Technical alterations reserved.
|
||||
Sous réserve des modifications.
|
||||
Suministro sujeto a modificaciones técnicas o disponibilidad.
|
||||
GeViSoft 6.0.1.5_FL_EN 26.06.2018
|
||||
|
||||
--- Page 3 ---
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1850
SOURCES/EXTRACTED_TEXT/GeViSoft/GeViSoft/Sitemap_Gevisoft_en.txt
Normal file
1850
SOURCES/EXTRACTED_TEXT/GeViSoft/GeViSoft/Sitemap_Gevisoft_en.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
GeViAPIRLGeViIO
|
||||
PRIMARY
|
||||
MSC
|
||||
MultiMap
|
||||
GSC
|
||||
GeViIO
|
||||
SECONDARYIP based
|
||||
Periphery
|
||||
IP based
|
||||
PeripheryGeViAPIRLGeViAPI
|
||||
GeViAPIGeViAPIRLGeViAPIMscDBIMscDBIRL
|
||||
MscDBIRLMscDBIRL
|
||||
MscDBIRL
|
||||
MscDBIGeViAPIRLGeViAPIMscDBI
|
||||
MscDBIGeViServer
|
||||
PRIMARYGeViServer
|
||||
SECONDARYGeViSoft Redundancy
|
||||
GEUTEBRÜCK GmbH | Im Nassen 7-9 | D-53578 Windhagen | T el: +49 (0) 26 45 / 137 - 0 | Fax: +49 (0) 26 45 / 137 - 999
|
||||
|
||||
|
||||
--- Page 1 ---
|
||||
|
||||
Reference in New Issue
Block a user