Deploy the LiveKit Egress service with configuration that includes your LiveKit server URL, API credentials, and optionally a pipeline backend (AWS S3, GCS, Azure, or S3-compatible).
Call the StartRoomCompositeEgress API (or use the server SDK) with the roomName, layout preset or custom layout URL, and an S3 output configuration specifying bucket, key prefix, region, and credentials.
The Egress service renders a composite view of all room participants (using a headless Chrome instance) and encodes to the specified format (MP4, HLS, WebM, etc.).
For a live HLS output during the room session, set the output to HLS segments and point the segment upload path to your S3 bucket; the Egress service uploads segments as they are produced.
Stop the egress via StopEgress when recording should end; the final MP4 (if selected) is uploaded to S3 at completion.
Use GetEgress or ListEgress to monitor egress status (starting, active, stopping, failed) and retrieve the file location.
Known gotchas
Room composite egress renders video server-side and is CPU-intensive; size the egress host based on the expected number of concurrent recordings and the room layout complexity.
S3 upload credentials must have PutObject (and optionally CreateMultipartUpload/CompleteMultipartUpload for large files) permissions on the target bucket/prefix.
Egress output layout and codec options are version-dependent; consult the current LiveKit Egress release notes for supported output formats and layout names.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp