Merge recording
Muxes individual recordings into a two-channel stereo audio file.
- Node.js
- Go
- Rust
const { recording } = await client.recordings.merge.create({
sessionId,
channel1: [{ participantId: "participant-alice" }],
channel2: [{ participantId: "participant-bob" }],
});
result, err := client.Recordings.Merge.Create(ctx, videosdk.MergeRecordingCreateParams{
SessionID: sessionID,
Channel1: []videosdk.MergeChannelEntry{{ParticipantID: "participant-alice"}},
Channel2: []videosdk.MergeChannelEntry{{ParticipantID: "participant-bob"}},
})
use videosdk::{MergeRecordingCreateParams, MergeChannelEntry};
let result = client.recordings().merge().create(MergeRecordingCreateParams {
session_id: session_id.into(),
channel1: vec![MergeChannelEntry { participant_id: "participant-alice".into(), recording_id: None, kind: None }],
channel2: vec![MergeChannelEntry { participant_id: "participant-bob".into(), recording_id: None, kind: None }],
..Default::default()
}).await?;
let recording = result.recording;
Manage recordings
List merge jobs, or fetch one by its muxer id:
- Node.js
- Go
- Rust
await client.recordings.merge.list({ sessionId });
await client.recordings.merge.get(muxerId);
client.Recordings.Merge.List(ctx, videosdk.MergeRecordingListParams{SessionID: videosdk.String(sessionID)})
client.Recordings.Merge.Get(ctx, muxerID)
use videosdk::MergeRecordingListParams;
client.recordings().merge().list(MergeRecordingListParams {
session_id: Some(session_id.into()),
..Default::default()
}).await?;
client.recordings().merge().get(muxer_id).await?;
The recording object
recordings.merge.create returns { message, recording }. list and get return the recording directly.
| Field | Type | Description |
|---|---|---|
id | string | Merge id. |
channel1 | object[] | Left-channel sources (recordingId, participantId). |
channel2 | object[] | Right-channel sources (recordingId, participantId). |
status | string | Merge job status. |
sessionId | string | Session whose audio was merged. |
file | object | Merged output file (contains fileUrl). |
start | string | Start time (ISO-8601). |
end | string | End time, null while still processing. |
Got a Question? Ask us on discord

