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.
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