Skip to main content
bthebigclass
All help topics

For creators

Cloud recording → your CDN

How class recording works end-to-end: who clicks what, what gets stored where, and who gets notified.

Last updated May 20, 2026

Start a recording

Inside the host view, click Start recording in the top-right of the call. LiveKit's egress workers spin up a headless browser that joins the room, captures the composited view (active speaker + filmstrip), encodes 1080p / 30fps H.264, and uploads the final MP4 to your Cloudflare R2 bucket.

Stop + finalise

Click Stop recording. The button flips to "Finalizing recording…" while LiveKit wraps the encode + upload. A backend poller checks every 15 seconds; the moment the file lands on R2, the class's recording_url is set and an email goes to the instructor.

Where the file lives

Object key: recordings/<roomCode>/<timestamp>.mp4 inside your R2 bucket. Public URL is your CDN base + the same key (e.g. https://cdn.thebigclass.com/recordings/...). The file is served directly from Cloudflare — no proxy through your backend, no bandwidth cost on your origin.

What students see

Once the recording URL is stamped, it appears on the class detail page, the past-meetings tile, and any course-recap surface. Students who join via the public live page can replay it; no separate account or login needed.

LiveKit Cloud egress is metered separately (~$0.30 per recorded hour at the time of writing). Free tier covers ~10 hours/month. Self-hosting the egress service unlocks unlimited recording at a fixed VPS cost.

Email notification

If you've set SMTP_HOST + SMTP_USER + SMTP_PASS + SMTP_FROM on the backend, the instructor gets a workspace-branded email titled "Recording ready — {class title}" with a Watch button linking to the CDN URL. Without SMTP, the would-have-been email is logged to the backend console — useful for local dev.

Related