wooden-king-32027
03/26/2026, 8:18 AMtall-airline-16756
03/26/2026, 8:18 AMwooden-king-32027
03/26/2026, 8:18 AMtall-airline-16756
03/26/2026, 8:19 AMrecord=True on session.start() does not trigger room recordings on LiveKit. That parameter isn’t used to create saved media files.
• To produce recordings on a self‑hosted server you must use LiveKit egress (auto‑egress or start egress via the Egress API/Client). Agent-level record is for observability in some setups, not file egress.
What to check / next steps
1. Decide how you want recordings delivered
◦ Single file per room (MP4/WebM) or segmented outputs (HLS)
◦ Where to store them (local disk on your host, S3-compatible storage, etc.)
1. Use Auto‑Egress (recommended for automatic recording)
◦ Configure auto‑egress for the relevant dispatch rule or flow so egress starts automatically when the room starts.
◦ Auto‑egress will send media to the configured destination (S3 or other storage) in formats like MP4/WebM/HLS.
1. Or start egress programmatically
◦ Listen for the room start event (webhook or your agent event).
◦ Call the Egress API / EgressClient to start a RoomComposite egress (e.g., startRoomCompositeEgress()), specifying output type and destination.
◦ Stop the egress when finished with stopEgress() so the file is finalized.
1. For self‑hosted storage
◦ If you want output on the server filesystem, ensure the egress configuration allows writing to local paths and that the process has permission to write there.
◦ More commonly, point egress to an S3-compatible bucket and retrieve files from there.
Quick diagnostics questions so I can give precise commands/config examples
• Do you want automatic recording whenever the room starts, or do you want to start/stop recording yourself from code?
• Where do you want the recordings saved (local disk on your LiveKit host, AWS S3, or another object store)?
• Are you already running the egress service (or configured auto‑egress) on your self‑hosted setup? If unsure, tell me how you start LiveKit (docker-compose/kubernetes) and I’ll tell you what to look for.
If you tell me the answers above I’ll provide the exact egress call or configuration snippet you need for your self‑hosted setup.
, with interactive elementswooden-king-32027
03/26/2026, 8:21 AMtall-airline-16756
03/26/2026, 8:21 AMrecord=True didn’t produce any files. I’ll walk you through what to do next and ask a couple quick questions so I can give the exact commands or config you need.
Why recordings aren’t appearing
• The Agent record=True flag does not create saved media files.
• LiveKit requires the egress service (auto‑egress or programmatic egress) to capture and write room media to storage. Without an egress process, no MP4/WebM/HLS files will be produced.
What you can do (high level)
• Run the egress service as part of your self‑hosted deployment (Docker Compose or Kubernetes).
• Configure where egress should write recordings (S3 or local filesystem).
• Start recordings automatically with Auto‑Egress rules or start them programmatically using the Egress API / EgressClient when a room starts.
Recommended next steps (pick one)
• Automatic recordings (simpler)
◦ Enable Auto‑Egress in your dispatch rules or room configuration so recordings start automatically when rooms begin.
◦ Ensure egress has access to the chosen storage (S3 bucket credentials or writable local path).
• Programmatic recordings
◦ Keep your current flow that starts rooms, but also:
i. Listen for room start (webhook or agent event).
ii. Call the Egress API / EgressClient to start a RoomComposite egress specifying format and destination.
iii. Call stopEgress() when done so files are finalized.
What I need to give you exact commands/config
• How are you deploying LiveKit? (Docker Compose or Kubernetes)
• Where do you want recordings saved? (local disk on the host, AWS S3, or an S3‑compatible store)
• Do you want auto recordings for every room, or manual start/stop from your code?
If you prefer, I can:
• Provide a ready‑to‑use docker‑compose snippet that includes the egress service and S3/local storage config.
• Provide a Kubernetes manifest for egress and instructions to mount storage or configure S3.
• Give example code showing how to call the EgressClient/startRoomCompositeEgress() from your agent.
Tell me your deployment method and preferred storage, and I’ll give the exact configuration and commands you need to get recordings working on your self‑hosted server.
, with interactive elements