🎬

Platform

Dual Recording

Screen + webcam face, captured simultaneously

FFmpeg pulls both streams off mediasoup PlainTransport into a single split-screen MP4 stored on your MinIO or S3. Configurable retention, encryption at rest, signed-URL playback only.

1080p

Default recording resolution

AES-256

Encryption at rest

Signed URLs

Playback never public

0 browser CPU

Server-side recording only

01

How recordings are produced

Each session's screen producer and webcam producer are routed to dedicated PlainTransport endpoints inside the mediasoup worker. A separate recorder process (Python + FFmpeg) consumes the RTP, transcodes to H.264 + AAC, composites the side-by-side or PiP layout, and writes the final MP4 to your object store. The agent's browser does no recording work — every byte is server-side.

02

Storage you control

Choose MinIO for fully on-prem, AWS S3 Mumbai, GCP Cloud Storage Mumbai, or any S3-compatible target. Configure retention by queue, client, or session type. Lifecycle policies move recordings to cold storage and delete them on schedule.

  • Side-by-side, picture-in-picture, or screen-only layouts
  • Optional waveform burn-in for accessibility
  • Server-side AES-256 encryption at rest
  • Per-tenant KMS keys (BYOK) — Enterprise only
  • Signed-URL playback only — never public
  • Retention windows from 7 days to 'forever'
03

Searchable & retrievable

Every recording is indexed by session ID, agent, queue, customer ID (if provided), tags, and QA score. Find any call in seconds. Recordings are linked from QA scorecards, agent dashboards, and the supervisor floor view.

04

Playback in the same UI

QA reviewers click a recording link and play it back inline — no download, no separate Windows Media Player workflow. Speed controls (0.5×, 1×, 1.5×, 2×), waveform scrubber, and bookmark-anchored comments make review fast.

SPEC

Technical specifications

Container
MP4 (H.264 + AAC)
Default resolution
1080p screen + 720p webcam, 30 fps
Compositor
FFmpeg filter graph (xstack, hstack, overlay)
Bitrate (typical)
~2.5 Mbps combined
Storage size
~1 GB per hour of dual recording
Storage backends
MinIO · AWS S3 · GCP GCS · Azure Blob
Encryption
AES-256 at rest, TLS 1.3 in transit
Recorder host
Separate Linux node, 4 vCPU per 50 streams
FAQ

Frequently asked questions

No. Recording happens entirely on a separate FFmpeg recorder host that consumes a forwarded copy of the RTP from the SFU. The agent's machine sees no extra CPU or bandwidth.

Yes — per-queue config. Audio-only is roughly 5× smaller and skips the FFmpeg compositor.

An automated job runs daily, scans recordings past retention, and deletes them via the S3 API. The deletion is logged in the audit trail and includes a cryptographic proof-of-deletion when using MinIO.