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>
5.6 KiB
5.6 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
This repository contains SDK documentation and installation files for GeViScope and GeViSoft, which are video surveillance and security management systems. The codebase consists primarily of SDK installers and comprehensive documentation for integrating with these systems.
Repository Structure
SOURCES/
├── GeViScope_SDK_7.9.975.68/ # Video surveillance SDK
│ ├── GeViScope_SDK.pdf # Main SDK documentation
│ ├── GeViScope_SDK.chm # SDK help file
│ ├── ActionDoc/ # Action documentation (HTML)
│ └── GeViScope SDK/ # SDK installer (MSI)
└── GeViSoft/ # GeViSoft SDK and documentation
├── GeViSoft_SDK_Documentation.pdf
├── GeViSoft_SDK_Setup_*.exe
└── Handbuch_GeViControl_GeViSoft_EN.pdf
System Components
GeViScope SDK
- Purpose: Video management and surveillance system SDK
- Version: 7.9.975.68
- Core Capabilities:
- Video stream control and management
- Multi-channel video recording
- Event-driven action system
- Video content analysis (VCA)
- Camera control and PTZ operations
- Database recording and playback
GeViSoft SDK
- Purpose: Security management software platform SDK
- Version: 6.0.1.5
- Integration: Works with GeViScope for comprehensive security solutions
Action-Based Architecture
The GeViScope SDK uses an action-based event system organized into categories:
- SystemActions: System lifecycle, events, user authentication, database operations
- VideoActions: Video control, camera management, VCA (Video Content Analysis)
- DeviceActions: Hardware device integration
- ViewerActions: Video viewer and display control
- AudioActions: Audio stream management
- CameraControlActions: PTZ and camera parameter control
- DigitalContactsActions: Digital I/O operations
- ATMActions: ATM integration for banking surveillance
- POSActions: Point-of-Sale integration for retail
- BackupActions: Data backup and export
- RemoteExportActions: Remote video export capabilities
Key Action Categories
Video Analytics:
- VMD (Video Motion Detection)
- NPR (Number Plate Recognition)
- OBTRACK (Object tracking and people counting)
- G-Tect/VMX (Perimeter protection and fence detection)
- CPA (Camera Position Analysis)
Event Management:
- Event-driven architecture with start/stop/kill operations
- Support for event types, instance IDs, and foreign keys
- Recording triggers and alarm management
Key Technical Concepts
Channel-Based Architecture
Video inputs are organized by channels. Most video operations require a Channel parameter to specify which video source to operate on.
Event System
- Events have TypeID (event type) and EventID (instance ID)
- Events can be started, stopped, or killed
- Support for alarm recording and pre/post-alarm recording
- ForeignKey support for linking events to external systems
Time-Based Operations
- All video operations include timestamp support
- Database ring buffer architecture for continuous recording
- Recording depth measured in hours
- Support for time ranges and scheduled operations
Integration Points
- SMTP mail notifications (via GSCMail)
- External system activation
- IP camera control via raw HTTP commands
- Digital contacts for I/O operations
- Support for redundancy and failover
Working with SDK Documentation
Primary Documentation Files
GeViScope_SDK.pdf- Complete SDK referenceGeViSoft_SDK_Documentation.pdf- GeViSoft integration guideActionDoc/*.htm- Detailed action reference by categoryHandbuch_GeViControl_GeViSoft_EN.pdf- Control handbook
Action Documentation Format
Each action in ActionDoc/ follows this structure:
- Action name with parameters (e.g.,
StartEvent(TypeID, ForeignKey)) - Action category (logical, notification, command)
- Parameter descriptions with types
- Usage context and side effects
Installation
GeViScope SDK Installation
cd SOURCES\GeViScope_SDK_7.9.975.68\GeViScope_SDK_7.9.975.68\GeViScope SDK
setup.exe
Or directly:
msiexec /i GeViScopeSDK.msi
GeViSoft SDK Installation
cd SOURCES\GeViSoft\GeViSoft
GeViSoft_SDK_Setup_6.0.1.5_gsc-7.8.975.55_gng-3.1.2.367.exe
Development Notes
When Implementing Video Operations
- Always specify the Channel parameter
- Include SensorType when working with video analytics
- Use TimeStamp parameters for time-based queries
- Handle both sync/contrast detected and failed states
Event Handling Best Practices
- Events should be stopped or killed explicitly
- Use EventID for instance-specific operations
- Use TypeID for type-based operations (affects all instances)
- ForeignKey allows correlation with external systems
Database and Recording
- Database uses ring buffer architecture per channel
- Monitor recording depth and capacity via DatabaseRecordingInfo actions
- Handle NoVideoRecording/NoAudioRecording states
- WriteWaitTimesPercent indicates storage bottlenecks
Error Handling
- Monitor SystemError, SystemWarning, SystemInfo actions
- Channel-specific errors via ChannelError/ChannelWarning
- Windows error codes provided when available
- XMLInfo parameter contains extended error details
Platform Notes
- Target Platform: Windows (native Windows SDK)
- Installation Format: MSI (GeViScope), EXE (GeViSoft)
- Documentation Format: PDF, CHM (Compiled HTML Help), HTML
- Communication: Action-based message passing system