Files
geutebruck/api_test_response.json
Administrator 14893e62a5 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>
2025-12-31 18:10:54 +01:00

1 line
20 KiB
JSON
Raw Blame History

{"success":true,"error_message":null,"mappings":[{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000GSC ViewerConnectLive V <- C\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0016\u0000@ Vie","actions":["GSC ViewerConnectLive V <- C"],"start_offset":253894,"end_offset":253978},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\"\u0000GSC warning: demo mode for 100 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActiong","actions":["GSC warning: demo mode for 100 min"],"start_offset":254333,"end_offset":254417},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 90 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 90 min"],"start_offset":254768,"end_offset":254852},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 80 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 80 min"],"start_offset":255200,"end_offset":255284},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 70 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 70 min"],"start_offset":255632,"end_offset":255716},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 60 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 60 min"],"start_offset":256064,"end_offset":256148},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 50 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 50 min"],"start_offset":256496,"end_offset":256580},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 40 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 40 min"],"start_offset":256928,"end_offset":257012},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 30 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 30 min"],"start_offset":257360,"end_offset":257444},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 20 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 20 min"],"start_offset":257792,"end_offset":257876},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@!\u0000GSC warning: demo mode for 10 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActionf\u0000","actions":["GSC warning: demo mode for 10 min"],"start_offset":258224,"end_offset":258308},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0011\u0000GSC ViewerClear V\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0010\u0000@ ViewerClear ()","actions":["GSC ViewerClear V"],"start_offset":258581,"end_offset":258665},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001f\u0000GSC info: re_porter mode active\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@2\u0010\u0000\u0000\u0007\tGscAction\\\u0000@ ","actions":["GSC info: re_porter mode active"],"start_offset":258928,"end_offset":259012},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@5\u0000GSC error: \"GeViIO Client: start of interface failed\"\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004","actions":["GSC error: \"GeViIO Client: start of interface failed\""],"start_offset":259542,"end_offset":259626},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@.\u0000GSC warning: \"GeViSoft Server: client warning\"\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000","actions":["GSC warning: \"GeViSoft Server: client warning\""],"start_offset":260093,"end_offset":260177},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@*\u0000GSC error: \"GeViIO Client: interface lost\"\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@4\u0010\u0000\u0000\u0007\tGs","actions":["GSC error: \"GeViIO Client: interface lost\""],"start_offset":260716,"end_offset":260800},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (1,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (1,close)"],"start_offset":261215,"end_offset":261299},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (2,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (2,close)"],"start_offset":261602,"end_offset":261686},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (3,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (3,close)"],"start_offset":261989,"end_offset":262073},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (4,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (4,close)"],"start_offset":262376,"end_offset":262460},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (5,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (5,close)"],"start_offset":262763,"end_offset":262847},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (6,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (6,close)"],"start_offset":263150,"end_offset":263234},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000GSC info: licence satisfied\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@2\u0010\u0000\u0000\u0007\tGscAction\u000f\u0000@ Syst","actions":["GSC info: licence satisfied"],"start_offset":263553,"end_offset":263637},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (7,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (7,close)"],"start_offset":263936,"end_offset":264020},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001c\u0000Set digital output (8,close)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ Set","actions":["Set digital output (8,close)"],"start_offset":264323,"end_offset":264407},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (1,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (1,open)"],"start_offset":264711,"end_offset":264795},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (2,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (2,open)"],"start_offset":265097,"end_offset":265181},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (3,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (3,open)"],"start_offset":265483,"end_offset":265567},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (4,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (4,open)"],"start_offset":265869,"end_offset":265953},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (5,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (5,open)"],"start_offset":266255,"end_offset":266339},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (6,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (6,open)"],"start_offset":266641,"end_offset":266725},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (7,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (7,open)"],"start_offset":267027,"end_offset":267111},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001b\u0000Set digital output (8,open)\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\u001f\u0010\u0000\u0000\u0007\tGscAction)\u0000@ SetD","actions":["Set digital output (8,open)"],"start_offset":267413,"end_offset":267497},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@B\u0000GSC error: \"GeViSoft Server: license conditions are not satisf","actions":[],"start_offset":267879,"end_offset":267963},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@-\u0000GscCustomAction:GscDiagnostics still running.\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@\b\u0010\u0000\u0000\u0007","actions":["GscCustomAction:GscDiagnostics still running."],"start_offset":268506,"end_offset":268590},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u000b\u0000GSC PanLeft\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@f\u0010\u0000\u0000\u0007\tGscAction\f\u0000@ PanLeft ()\u0007\tGscServe","actions":["GSC PanLeft"],"start_offset":268929,"end_offset":269013},{"name":"ules\u0003\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000GSC PanRight\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@e\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ PanRight ()\u0007\tGscSer","actions":["GSC PanRight"],"start_offset":269241,"end_offset":269325},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u000b\u0000GSC PanStop\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@g\u0010\u0000\u0000\u0007\tGscAction\f\u0000@ PanStop ()\u0007\tGscServe","actions":["GSC PanStop"],"start_offset":269671,"end_offset":269755},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000GSC TiltDown\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@i\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ TiltDown ()\u0007\tGscSer","actions":["GSC TiltDown"],"start_offset":269973,"end_offset":270057},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\n\u0000GSC TiltUp\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@h\u0010\u0000\u0000\u0007\tGscAction\u000b\u0000@ TiltUp ()\u0007\tGscServer\u0000","actions":["GSC TiltUp"],"start_offset":270287,"end_offset":270371},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000GSC TiltStop\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@j\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ TiltStop ()\u0007\tGscSer","actions":["GSC TiltStop"],"start_offset":270587,"end_offset":270671},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\n\u0000Gsc ZoomIn\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@k\u0010\u0000\u0000\u0007\tGscAction\u000b\u0000@ ZoomIn ()\u0007\tGscServer\u0000","actions":["Gsc ZoomIn"],"start_offset":270891,"end_offset":270975},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u000b\u0000Gsc ZoomOut\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@l\u0010\u0000\u0000\u0007\tGscAction\f\u0000@ ZoomOut ()\u0007\tGscServe","actions":["Gsc ZoomOut"],"start_offset":271198,"end_offset":271282},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000Gsc ZoomStop\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@m\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ ZoomStop ()\u0007\tGscSer","actions":["Gsc ZoomStop"],"start_offset":271502,"end_offset":271586},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@3\u0000GSC error: \"GeViSoft Server: dongle DLLs not found\"\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@","actions":["GSC error: \"GeViSoft Server: dongle DLLs not found\""],"start_offset":271916,"end_offset":272000},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0010\u0000Gsc FocusFar 128\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@o\u0010\u0000\u0000\u0007\tGscAction\u0017\u0000@ FocusFar (Speed","actions":["Gsc FocusFar 128"],"start_offset":272414,"end_offset":272498},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0011\u0000Gsc FocusNear 128\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@n\u0010\u0000\u0000\u0007\tGscAction\u0018\u0000@ FocusNear (Spe","actions":["Gsc FocusNear 128"],"start_offset":272765,"end_offset":272849},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\r\u0000Gsc FocusStop\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@p\u0010\u0000\u0000\u0007\tGscAction\u000e\u0000@ FocusStop ()\u0007\tGscS","actions":["Gsc FocusStop"],"start_offset":273109,"end_offset":273193},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0018\u0000Gsc MoveToDefaultPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@u\u0010\u0000\u0000\u0007\tGscAction\u0015\u0000@ Default","actions":["Gsc MoveToDefaultPostion"],"start_offset":273419,"end_offset":273503},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0017\u0000Gsc ClearDefaultPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0014\u0000@ DefaultP","actions":["Gsc ClearDefaultPostion"],"start_offset":273764,"end_offset":273848},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0016\u0000Gsc SaveDafaultPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0013\u0000@ DefaultPo","actions":["Gsc SaveDafaultPostion"],"start_offset":274104,"end_offset":274188},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0018\u0000Gsc MoveToPresentPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@t\u0010\u0000\u0000\u0007\tGscAction\u0011\u0000@ PrePosC","actions":["Gsc MoveToPresentPostion"],"start_offset":274457,"end_offset":274541},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0017\u0000Gsc ClearPresentPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0010\u0000@ PrePosCl","actions":["Gsc ClearPresentPostion"],"start_offset":274774,"end_offset":274858},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0016\u0000Gsc SavePresentPostion\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u000f\u0000@ PrePosSav","actions":["Gsc SavePresentPostion"],"start_offset":275086,"end_offset":275170},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\r\u0000Gsc IrisClose\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@r\u0010\u0000\u0000\u0007\tGscAction\u000e\u0000@ IrisClose ()\u0007\tGscS","actions":["Gsc IrisClose"],"start_offset":275374,"end_offset":275458},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@.\u0000GSC error: \"GeViSoft Server: dongle not found\"\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@4\u0010\u0000\u0000","actions":["GSC error: \"GeViSoft Server: dongle not found\""],"start_offset":275787,"end_offset":275871},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000Gsc IrisOpen\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@q\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ IrisOpen ()\u0007\tGscSer","actions":["Gsc IrisOpen"],"start_offset":276237,"end_offset":276321},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\f\u0000Gsc IrisStop\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@s\u0010\u0000\u0000\u0007\tGscAction\r\u0000@ IrisStop ()\u0007\tGscSer","actions":["Gsc IrisStop"],"start_offset":276535,"end_offset":276619},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u0007\u0000VC live\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@<40>\u0010\u0000\u0000\u0007\tGscAction\u0016\u0000@ ViewerConnectLive ()\u0007\tGs","actions":["VC live"],"start_offset":276848,"end_offset":276932},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\t\u0000\u0000\u0000\u0001\u000b.SwitchMode\u0001\u0001\u000b.VideoInput\u0000\u0001\f.VideoOutput\u0000\u0007\u0001@\u001b\u0000CrossSwitch OpCon -","actions":[],"start_offset":277187,"end_offset":277271},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\t\u0000\u0000\u0000\u0001\u000b.SwitchMode\u0001\u0001\u000b.VideoInput\u0000\u0001\f.VideoOutput\u0000\u0007\u0001@\u001b\u0000CrossSwitch OpCon -","actions":[],"start_offset":277470,"end_offset":277554},{"name":"ules\u0002\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\u001f\u0000GSC warning: demo mode finished\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscAction\\\u0000@ ","actions":["GSC warning: demo mode finished"],"start_offset":277761,"end_offset":277845},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\"\u0000GSC warning: demo mode for 120 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActiong","actions":["GSC warning: demo mode for 120 min"],"start_offset":278314,"end_offset":278398},{"name":"ules\u0001\u0000\u0000\u0000\u0000\u00011\u0005\u0000\u0000\u0000\u0007\u0001@\"\u0000GSC warning: demo mode for 110 min\u0004\u0002@!\u0000\u0000\u0000\u0000\u0004\u0002@@3\u0010\u0000\u0000\u0007\tGscActiong","actions":["GSC warning: demo mode for 110 min"],"start_offset":278749,"end_offset":278833}],"total_count":64}