A Go SDK for interacting with Flussonic Media Server, Flussonic Watcher, Flussonic Central and Flussonic Vision APIs.
go get github.com/flussonic/go-flussonicThis SDK provides a simple and idiomatic Go interface for managing Flussonic products. The library includes public API clients for:
- Flussonic Media Server - Video streaming server management
- Flussonic Central - Centralized management of multiple Flussonic instances
- Flussonic Vision Inference - Video analytics and episode processing
- Flussonic Vision Identification - Object and person identification
- Flussonic Watcher Admin - Administrative API for Watcher platform
- Flussonic Watcher Client - Client API for Watcher platform
Examples for the SDK usage is located in Examples directory.
A complete demo application (examples/demo/) that demonstrates:
- Creating streamers in Central
- Creating streams from CSV file
- Streaming episodes with QR code detection and payload output
Run with: LICENSE_KEY='your_key' make up (from examples/demo/ directory)
- Stream management (create, update, delete, list)
- DVR archive management and querying
- Session monitoring and management
- Package management
- Server configuration and health checks
- SSL/TLS certificate management (Let's Encrypt)
- Real-time statistics and metrics
- Pagination support with iterators for large datasets
- Agent management (list, get, configure)
- Stream configuration across multiple instances
- Central configuration management
- Pagination support for agents and streams
- Episode management and listing
- Stream configuration for analytics
- Counter records and metrics
- Worker statistics
- Episode filtering and search
- Iterator support for large episode lists
- Person identification management
- Object recognition capabilities
- Vision stream configuration
- Administrative stream management
- Agent management and configuration
- Organization and user management
- Stream zone configuration
- Client-side stream access
- Attendance tracking (persons and vehicles)
- Agent activation token management
- Organization-based stream access
- Type-safe API - Comprehensive Go types generated from API schemas
- Pagination support - Built-in iterators for handling large datasets
- Error handling - Detailed error messages with status codes
- Context support - Full support for Go contexts (timeouts, cancellation)
- Flexible configuration - URL-based or struct-based configuration
- Production ready - Retry logic, proper error handling, comprehensive tests
See LICENSE file for details.