lkmeet-livekit-recording-api v0.1.0
subsystem
capsule://quake0day/[email protected]
Provides backend API endpoints to start and stop LiveKit room recordings. It integrates with LiveKit's Egress functionality to capture room content and store it in an S3-compatible bucket.
Owns
- API endpoints for recording control
- LiveKit Egress client integration
Does not own
- Client-side UI for recording control
- S3 bucket management
AI orientation
This capsule consists of Next.js API routes for LiveKit Egress control. It uses `livekit-server-sdk` to interact with the LiveKit server and S3 for storage. Implement robust error handling and ensure environment variables are correctly configured for S3 and LiveKit. Pay close attention to the security warning regarding lack of authentication.
Avoid
- Do not introduce user authentication logic within this capsule; it's explicitly noted as a simplification for the example.
Provides
http_api:/api/record/start— Endpoint to start recording a LiveKit room.http_api:/api/record/stop— Endpoint to stop recording a LiveKit room.
Invariants (must always hold)
- Requires valid LiveKit and S3 credentials to operate.
- Recording cannot start if a recording is already active for the room.
- Recording stops all active egresses for a given room.
Source files (2)
Click any file to view its content; the path on the right shows where the file lands when this capsule is installed.
src/app/api/record/start/route.ts→src/api/record/start/route.tssrc/app/api/record/stop/route.ts→src/api/record/stop/route.ts
Plus capsule.yaml and
install.json.