Room recording
Records the whole room, composed into one file. start requires a live session and returns an egress handle you pass to stop (or stop by room id).
- Node.js
- Go
const rec = await client.recordings.start(roomId, {
composition: { layout: "grid", quality: "high" },
fileFormat: "mp4",
});
await client.recordings.stop(rec); // or client.recordings.stop(roomId)
rec, err := client.Recordings.Start(ctx, roomID, videosdk.RecordingStartParams{
Composition: &videosdk.Composition{Layout: videosdk.CompositionLayoutGrid, Quality: videosdk.Ptr(videosdk.CompositionQualityHigh)},
FileFormat: videosdk.RecordingFormatMP4,
})
client.Recordings.Stop(ctx, rec) // or videosdk.EgressHandle{RoomID: roomID}
start options: composition (see Composition), transcription, onFailure, fileFormat (mp4 or webm), webhookUrl, dirPath, resourceId, preSignedUrl.
Manage finished recordings:
- Node.js
- Go
await client.recordings.list({ roomId, withTranscription: true });
await client.recordings.get(recordingId, { withTranscription: true });
await client.recordings.delete(recordingId);
client.Recordings.List(ctx, videosdk.RecordingListParams{RoomID: videosdk.String(roomID), WithTranscription: videosdk.Bool(true)})
client.Recordings.Get(ctx, recordingID, videosdk.RecordingGetParams{WithTranscription: videosdk.Bool(true)})
client.Recordings.Delete(ctx, recordingID)
Got a Question? Ask us on discord