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:
Administrator
2025-12-31 18:10:54 +01:00
commit 14893e62a5
4189 changed files with 1395076 additions and 0 deletions

View File

@@ -0,0 +1,236 @@
================================================================================
GeViScope_SDK.pdf - Pages 1 to 10
================================================================================
────────────────────────────────────────────────────────────────────────────────
Page 1
────────────────────────────────────────────────────────────────────────────────
GeViScopeSDK
Dokumentation|Documentation|Documentation|Documentatión
Version04.2013
────────────────────────────────────────────────────────────────────────────────
Page 2
────────────────────────────────────────────────────────────────────────────────
GeViScopeSoftwareDevelopmentKit(SDK)
Introduction
TheGeViScopeSDKconsistsofacollectionoffreesoftwareinterfacesforthe
GEUTEBRÜCKDVRsGeViScopeandRePorter.Itcanbeusedtointegratethesedevices
incustomapplicationsandalthoughforlinkingnotyetsupportedperipherals.
TheinterfacesarebasedonnativeWin32DLLs.Sotheycanbeusedwithvariousdevel-
opmentplatformsoftheWindowsOS.
Tosupportthe.NETtechnologytheSDKexamplescontainwrapperclassesbasedon
C++/CLI.Thesewrapperexamplescanbefreelyused,modifiedandextendedbytheSDK
users.TheC#examplesincludedintheSDKdemonstrate,howthewrapperscanbeused
bycustomapplications.
Contents
FilesanddirectorystructureoftheSDK
Settingupavirtualtestenvironment
RemotecontrolGSCView
OverviewoftheinterfacesintheSDK
Supporteddevelopmentplatforms
Guidelinesandhints
GSCViewdatafilterplugins
Examplesoverview
Actiondocumentation
Documentation-HistoryVersion3.9/PME
FilesanddirectorystructureoftheSDK
DuringtheinstallationoftheSDKtheenvironmentvariable%GSCSDKPATH%which
pointstotherootdirectoryoftheSDKisset.Thisreferencepathisusedinallexamples.
%GSCSDKPATH%\BinContainsalldynamiclinklibrariesandisthetargetdirectoryforthe
compiledexamples
%GSCSDKPATH%\includeContainsallDelphiimportunits,C++headerandcppfiles
%GSCSDKPATH%\libContainsalllibfilesforBorlandC++BuilderandMicrosoftVisualC++
ThematchinginterfaceunitsbetweenC++andDelphihavethesamenamebutcompiler
specificfileextensions.
────────────────────────────────────────────────────────────────────────────────
Page 3
────────────────────────────────────────────────────────────────────────────────
Settingupavirtualtestenvironment
Introduction
AllrequiredcomponentsforsettingupavirtualGeViScopedeviceareincludedintheSDK.
Soanindependentdevelopmentofcustomsolutionscanbeachievedwithoutanyspecial
hardwarerequired.
AfterstartinguptheGeViScopeserver(partofthevirtualGeViScopedevice)GeViScope
softwarecanbeusedwithfullfunctionfortwohours.Afterthattimethefunctionalityislim-
ited.Afterstopandrestartoftheserverfullfunctionalityisofferedfortwohoursagain.
Stepbystep
AfterthesuccessfulinstallationoftheSDKallnecessaryfilesexistintheinstallationfolder
(normally“%HOMEPATH%\MyDocuments\GeViScopeSDK”).
Step1:Assignlocalpolicy“Lockpagesinmemory”
TorunGeViScopeserveronyourlocalmachine,alocalpolicyneedstobeassignedtothe
useraccountunderwhichGeViScopeservershouldwork.
Pleaseopenthe“LocalSecurityPolicy”dialoginthecontrolpanelAdministrativeTools.
With“SecuritySettings/LocalPolicies/UserRightsAssignment”theprivilege“Lock
pagesinmemory”hastobeassignedtotheuseraccountunderwhichGeViScopeserver
shouldrun.
TheuserhastobeamemberofthelocalAdministratorsgroup.
Theuserhastologoutandloginagaintoletthesettingtakeeffect.
────────────────────────────────────────────────────────────────────────────────
Page 4
────────────────────────────────────────────────────────────────────────────────
Step2:unpackthetestfiles
Unpackthefile“\BIN\GeViScope.Database.zip”totherootdirectoryofyoursystemdrive
(normally“C:”). Afterwardsthefile“C:\GeViScope.Database”shouldexist.Pleasenotethat
thefileisnotseeninthewindowsexplorerifhiddenfilesandfoldersaremaskedout.
Unpackthefile“\BIN\DatabaseBackup.zip”tothesubfolder“\BIN”oftheGeViScopeSDK
basedirectory(normally“%HOMEPATH%\MyDocuments\GeViScopeSDK”).Afterthat
thefile“\BIN\DatabaseBackup.gpf“,whichcontainsatestbackupfileinGBFformat
(“GEUTEBRÜCKBackupFile”)shouldexist.
Step3:starttheGeViScopeserver
Starttheserverbydoubleclickingonfile“\BIN\GSCServer.exe“.Nowaconsoleapplication
shouldstart.
Step4:importthetestsetup
StarttheGSCSetupsoftware(file“\BIN\GSCSetup.exe“ )andestablishaconnectiontothe
localserver.Usethefollowinglogininformation:
Username=sysadmin
Password=masterkey
Sendthesetuponcetotheserverbyusingthemenuentry“Sendsetuptoserver“.
Thetestsetup“\BIN\GeViScopeSDKSetup.set“ canbeimportedintotheserverwiththehelp
ofthemenuentry“Importsetupfromfile“.Afterwardsitshouldbesendtotheserveronce
again.
Step5:viewlivevideoandbackupvideoinGSCView
Nowthecorrectsetupofthetestenvironmentshouldbetested.Forthatpurposethe
GSCViewsoftware(file“\BIN\GSCView.exe”)canbestartedandagainaconnectiontothe
localservershouldbeestablished. Afterasuccessfulconnectionmediachannelsareavail-
ableandcanbeviewed. SimplydragthemediachannelsontheviewersofGSCView.
────────────────────────────────────────────────────────────────────────────────
Page 5
────────────────────────────────────────────────────────────────────────────────
Themenuentry“Openbackupfile…”allowsopeningthetestbackupfile“\BIN\Data-
baseBackup.gpf“,whichalsocontainsmediachannelsthatcanbedisplayed.Pleasecheck
thecorrectfunctionofthebackupbyplaybackthevideomaterial.
Step6:Useoftool“\BIN\GSCPLCSimulator.exe”
Thesoftware“\BIN\GSCPLCSimulator.exe”servesasamonitoringtoolforallmessages
(actions)andeventsthataretransportedinsidethecompletesystem.Furthermoreactions
canbetriggeredandeventscanbestartedandstopped.
Afterbuildingupaconnectiontothelocalserverallactiontrafficisdisplayedinalist.
ThistoolisextremelyhelpfulfortestingofcustomapplicationsbasedontheSDKandfor
analyzingmessageflowinthecompletesystem.
Backgroundinformation
ToprovideatestenvironmentwithfullfunctionalitytheGeViScopemediaplugin“MCS”
(MediaChannelSimulator)isused.Itsimulatesrealvideomediachannelsbychanneling
testpicturesintotheGeViScopeserver.16mediachannelscanbeusedaslivechannelsor
canberecordedintothetestdatabase.Furthermorethechannelscreatemessages
(actions)thatallowusingthemasbasefordevelopingvideoanalysissoftware.
Themediaplugin“MCS”ispartoftheSDKincludingsourcecode(developmentplatformBor-
landC++Builder6)anddocumentation(pleaseseetopic“Examplesoverview”formore
information).
OverviewoftheinterfacesintheSDK
Introduction
ThisdocumentgivesashortoverviewofthedifferentinterfacesthatbelongtotheSDK.
Pleasenote,thatallinterfacesincludeclassdeclarationstoaccesstheexportedfunctions
ofthedynamiclinklibraries.TousetheminC++,thematchingcppfilesandthelibfilescor-
respondingtotheDLLshavetobeaddedtothecustomproject.
────────────────────────────────────────────────────────────────────────────────
Page 6
────────────────────────────────────────────────────────────────────────────────
Buildingblocksoffunctionality
DBI
l Lowlevelserveranddatabaseinterface
l Connectionhandling,GBFaccess,rawdatabaseaccess(novideodisplay!),media
exportfunctionality,backupfunctions,accesstorawlivemedia(novideodisplay!),
setupdataaccess
l Supportsbasicfunctionalityforbuildingblocks“PLC”and“MediaPlayer”
l Mainbinaryfile:GSCDBI.DLL
l Mainincludefiles(C++):GSCDBI.h,GSCDBI.cpp
l Mainincludefiles(Pascal):GSCDBI.pas
PLC
l Complexnotification,actionandeventprocessing
l Listento,dispatch,createandsendactions
l Listentoeventsandsystemnotifications
l Allowscontrollingandmonitoringthesystem
l Mainbinaryfile:GSCActions.DLL
l Mainincludefiles(C++):GSCActions.h
l Mainincludefiles(Pascal):GSCActions.pas
TACI
l TelnetActionCommandInterface
l SimpleASCII-FormatcommunicationbasedonTelnet
l Allowscontrollingandmonitoringthesystem
l Receivedactionsneedtobeparsed
────────────────────────────────────────────────────────────────────────────────
Page 7
────────────────────────────────────────────────────────────────────────────────
l Tousethatinterface,themediaplugin“GSCTelnetActionCommand”needstobe
installed
MediaPlayer
l Highlevelserveranddatabaseinterfaceincludingmediapresentation
l Displayvideo,playaudio(liveandbackup)
l Integratedexportfunctionality(GBF,MPEG,Video-DVD,Singlepicture)
l Searchmediadatabytimeorcorrespondingtoeventdata
l Mainbinaryfile:GSCMediaPlayer.DLL
l Mainincludefiles(C++):GSCMediaPlayer.h,GSCMediaPlayer.cpp
l Mainincludefiles(Pascal):GSCMediaPlayer.pas
OffscreenViewer
l Partofbuildingblock“MediaPlayer”
l SamefunctionalityasMediaPlayer,but:norendering,onlydecompressing
l ClassTGSCOffscreenViewercanbeusedanalogoustoTGSCViewer
Mediaplugin(GeViScopeserverplugins)
l GeViScopeserverpluginsallowintegratingcustomperipheralsinGeViScopesys-
tems
l Channelingofvideoand/oraudiomediaintotheserver
l IncludingfullaccesstoPLC
l PluginsrunasIn-Process-DLLsinGeViScopeserversoftware
GSCViewdatafilter plugin
l GSCViewpluginsallowintegratingcustomdatafilterfrontendsinGSCViewsoft-
ware
l PluginsrunasIn-Process-DLLsinGSCViewsoftware
GSCViewdatapresentationplugin
l GSCViewpluginsallowcustomizedpresentationofeventdatainGSCViewsoft-
ware,especiallyofeventdatapresentedinviewedpictures
l PluginsrunasIn-Process-DLLsinGSCViewsoftware
RemotecontrolGSCViewbyactions
Introduction
ThesimplestapproachtoviewandbrowseliveandrecordedvideoofoneormoreGeViS-
copesistoremotecontrolGSCViewoutofcustomsolutions.
GSCViewcanbeusedinaspecialmodesothatitcanbecontrolledbyactionsthataresent
fromaGeViScopeserver.TheactionscanbechanneledintothesystemusingtheSDK
(GSCDBI.DLLandGSCActions.DLL)incustomapplications.Asanalternativetheactions
canbesenttotheTACIinterfaceoftheGeViScopeserver.TheTACIinterfaceisamedia
pluginoftheGeViScopeserver,whichcanreceiveactionsasASCIItextcommandssimilar
toaTELNETcommunication.TheTACIpluginhastobelicensed.
────────────────────────────────────────────────────────────────────────────────
Page 8
────────────────────────────────────────────────────────────────────────────────
Stepbystep
Thefollowingstepbystepinstructionsshowhowtoconfigureasimplesystemtodemon-
strateremotecontrollingGSCView.ThevirtualtestenvironmentincludedintheSDKshould
besuccessfullyinstalledandsetupbeforefollowingtheseinstructions(seetopicSettingup
avirtualtestenvironment).
Step1:starttheGeViScopeserver
Starttheserverbydoubleclickingonfile“\BIN\GSCServer.exe“.Nowaconsoleapplication
shouldstart.
────────────────────────────────────────────────────────────────────────────────
Page 9
────────────────────────────────────────────────────────────────────────────────
Step2:startGSCView
StarttheGSCViewsoftware(file“\BIN\GSCView.exe”).
Step3:starttheprofilemanager
Themenuentry“OptionsProfilemanager…”startstheinternalprofilemanagerof
GSCView.TheprofilmanagerallowsconfiguringallGSCViewsettings.
────────────────────────────────────────────────────────────────────────────────
Page 10
────────────────────────────────────────────────────────────────────────────────
Step4:declarelocalconnectionas“connectautomatically”
Byselecting“Connections”inthesection“Resources”thelocalconnectioncanbedeclared
asaconnectionthatisautomaticallybuiltupafterstartingGSCView.Additionaltheoption
“Reconnectautomatically”shouldbeactivated.