1.1 KiB
1.1 KiB
5.3.8 Recordings and Object Storage
Recording Pipeline
sequenceDiagram
autonumber
participant Cam as Camera Browser
participant Ctrl as Web Controller
participant Videos as /videos/upload-url
participant MinIO as MinIO Object Storage
participant Rec as /recordings/:id/finalize
participant DB as recordings table
participant Viewer as Client Browser
Cam->>Ctrl: stop local MediaRecorder
Ctrl->>Ctrl: compress recording blob
Ctrl->>Videos: request presigned upload URL
Videos-->>Ctrl: objectKey + uploadUrl
Ctrl->>MinIO: PUT recording blob
Ctrl->>Rec: finalize recording metadata
Rec->>DB: mark recording ready
Viewer->>Rec: GET /recordings/:id/download-url
Rec-->>Viewer: presigned download URL
Storage Architecture
flowchart LR
Backend[Backend Service]
PG[(Postgres)]
MinIO[(MinIO / S3)]
Web[Web Client]
Web -->|stream, event, recording metadata| Backend
Backend -->|users, devices, links, sessions, events, recordings| PG
Backend -->|presigned upload/download + object checks| MinIO
Web -->|PUT / GET via presigned URLs| MinIO