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>
10 KiB
Installation_GscStreamer_en
Converted from
GeViScope/Additional documentation/Installation_GscStreamer_en.pdfusingpdftotext -layout.
Installation GscStreamer / preliminary version
Important information The present documentation is only a preliminary version and should only facilitate the installation of “GscStreamer” for evaluation purposes.
Mode of operation The “GscStreamer” supports 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
Video footage via
Actions via TACI
HTTP GET
Actions + Video
GeViScope/re_porter
GscStreamer
Server
Figure 1: System overview
Configuring the “GscStreamer” The “GscStreamer” consists of three files. “GscStreamer.EXE” is the windows service application and “GscStreamerSetup.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 folder:
C:\Program Files\GEVISCOPE
At first the service has to be installed and started. The following commands should be called at the command prompt:
C:\Program Files\GEVISCOPE\GscStreamer.exe /install
C:\Program Files\GEVISCOPE\GscStreamer.exe /start
In case of a successful installation in the future the service will start automatically during the boot up of the windows OS.
To configure “GscStreamer” the setup user interface “GscStreamerSetup.EXE” has to be started.
Figure 2: Setup user interface of "GscStreamer"
To ensure 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”. 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
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 possible 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 viewer ID should be a unique global number in the whole system. Then live 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 access 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.
“GscStreamer” offers the following http requests:
Single picture request: http://:/jpg/image.jpg
MJPEG request: http://:/mjpg/video.mjpg
Function test To ensure “GscStreamer” delivering video streams the function should be proofed via a standard web browser.
At first a camera should be switched on a streaming output channel of the “GscStreamer”. 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 following command out of a standard browser:
http://localhost:12015/jpg/image.jpg List of supported URLs The following URLs are supported in the browser 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 Image 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) Transfer 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: Command Description
auxiliary= User-defined GeViScope actions. Please consider 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=&tilt Go to an absolute position
rpan=&rtilt Go to a relative position
riris= Open iris (parameter value > 0) Close iris (parameter value < 0) Stop iris (parameter value = 0)
autofocus= Turn on or off the auto focus with the parameter values “on” or “off”.
autoiris= Turn on or off the auto iris with the parameter values “on” or “off”.
continuouspantiltmove=, Pan/tilt movement
continuouszoommove= Zoom movement
continuousfocusmove= Focus movement
move=home Go to default (home) position
gotoserverpresetno= Go to preset position
home=yes Save the default position
setserverpresetno= Save a preset position, 0 – default position
removeserverpresetno= 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= Save a preset position, 0 – default position
removeserverpresetno= Remove a preset position, 0 – default position 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 implemented. The following parameters are supported: “action=goto” and “sourcename=” (with is the camera number)
Show camera on viewer
http://:/axis-cgi/videocontrol.cgi?action=goto&sourcename=
Database display starting at time t
http://:/axis-cgi/com/ptz.cgi?auxiliary=ViewerPlayFromTime(0,,,"2010/12/08 14:19:43,720 GMT+01:00")
http://:/axis-cgi/com/ptz.cgi?auxiliary=ViewerSetPlayMode(0,,)
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 Supported viewer actions that can be sent via URL
ViewerConnectLive()
ViewerConnect()
ViewerClear()
VCShowViewerText()
ViewerJumpByTime()
ViewerPlayFromTime()
ViewerSetPlayMode()
ViewerClearTextOutput()
ViewerTextOutput()
Switch resolution
http://:/mjpg/video.mjpg?width=720&height=576
Parameter Value range
width 32-2048
height 23-2048
quality 0-100 (JPEG compression quality)