Video Recording & Streaming¶
Navigate to Videofelvételek via /Club/VideoRecording.
Overview¶
HellaBooking integrates with SVM (Sport Video Manager) and Cloudflare Stream to offer local recording, cloud recording, and live streaming of matches on sports fields.
Recording Types¶
| ID | Type | Description |
|---|---|---|
| 1 | Local Recording | Stored on local infrastructure |
| 2 | Cloud Recording | Uploaded to Cloudflare Stream |
| 3 | Live Streaming | Real-time stream via Cloudflare |
Recording Lifecycle¶
Each recording moves through an 8-step status lifecycle:
stateDiagram-v2
[*] --> Scheduled: 1
Scheduled --> Pending: 2
Pending --> Starting: 3
Starting --> Started: 4
Started --> Stopping: 5
Stopping --> Finished: 6
Finished --> Ready: 7
Scheduled --> Failed: 8
Pending --> Failed: 8
Starting --> Failed: 8
Started --> Failed: 8
Stopping --> Failed: 8
Finished --> Failed: 8
Failed state
A recording can transition to Failed (8) from any active step. Check the SVM logs if recordings are stuck in a non-Ready state.
Data Model¶
VideoCameraSportsFieldLink¶
Maps cameras to sports fields, defining which camera records which court.
VideoRecording Table¶
Stores each recording session, linking to:
- Reservation_ID — the booking that triggered the recording
- User_ID — the customer who owns the recording
- Status — current lifecycle step (1–8)
System Parameters¶
| Parameter | Description |
|---|---|
SVMApiBaseUrl |
SVM API endpoint (default: http://89.223.184.249/api/camera/) |
CloudflareBaseUrl |
Cloudflare Stream player URL |
CloudflareAccountId |
Cloudflare account identifier |
CloudflareApiUrl |
Cloudflare API endpoint |
CloudflareApiKey |
API authentication key |
CloudflareSigningKeyId |
Signed URL key ID |
CloudflarePEM |
PEM certificate for signed URLs |
CloudflareWebhookSecret |
Webhook signature verification secret |
SCMSVMWebhookApiKey |
API key for SVM-to-SCM webhook calls |
Integration Architecture¶
The SVMIntegration/ project handles all API communication with the SVM service.
Two webhook controllers receive callbacks:
- SVMApiWebhookController — receives status updates from SVM cameras.
- SVMCloudflareWebhookController — receives encoding/streaming events from Cloudflare.
Customer Side¶
Customers access their recordings at /Customer/VideoRecording.
Playback availability
Play and download buttons are only enabled when the recording status is Ready (7). Recordings in any other state show their current status instead.
Access Control¶
Available to Casual visitor (Alkalmi látogató), Club member (Klubtag), and Club manager (Klubvezető) user types.