Skip to main content

Recording

Overview

The recording module allows for the recording of a room

Joining the room

JoinSuccess

When joining a room with a timer running, the join_success message contains the recording status of the room.

Fields

The module data has the following structure:

FieldTypeRequiredDescription
statusenumyesEither initializing or recording
recording_idstringwhen status is recordingThe id of the recording

The participant list contains the recording-consent status in the recording-module namespace under the variable recording_consent.

Example
{
"status": "recording",
"recording_id": "00000000-0000-0000-0000-000000000000"
}

Joined

When joining a room, the joined control event sent to all other participants contains the module-specific fields described below.

Fields

FieldTypeAlwaysDescription
consents_recordingboolyesWhether the joining participant consents to recording or not
Example
    ...
"consents_recording": true
...

Commands

Overview

Start

The Start message can be sent by a moderator to request a recording for the current room.

Response

A Started message with the recording id is sent to every participant in the room.

Fields

FieldTypeRequiredDescription
actionenumyesMust be "start".

Example

{
"action": "start"
}

Stop

The Stop message can be sent by a moderator to stop a recording in the current room.

Response

A Stopped message with the recording id is sent to every participant in the room.

Fields

FieldTypeRequiredDescription
actionenumyesMust be "stop".
recording_idstringyesId of the recording

Example

{
"action": "stop",
"recording_id": "00000000-0000-0000-0000-000000000000"
}

SetConsent

The SetConsent message must be sent by every participant to consent to a recording of their video+audio. Can always be set regardless if a recording is running or a new one is being started. By default, the consent is always off (false).

Fields

FieldTypeRequiredDescription
actionenumyesMust be "set_consent".
consentboolyesSet true if consenting to a recording

Example

{
"action": "set_consent",
"consent": true
}

Events

Overview

Started

Is received by every participant when a moderator started a recording.

Fields

FieldTypeRequiredDescription
messageenumyesIs "started".
recording_idstringyesThe recording id

Example

{
"message": "started",
"recording_id": "00000000-0000-0000-0000-000000000000"
}

Stopped

Is received by every participant when a moderator stopped a recording.

Fields

FieldTypeRequiredDescription
messageenumyesIs "stopped".
recording_idstringyesThe recording id

Example

{
"message": "stopped",
"recording_id": "00000000-0000-0000-0000-000000000000"
}

Error

An error has occurred while issuing a command.

Fields

FieldTypeRequiredDescription
messageenumyesIs "error".
errorenumyesIs any of insufficient_permissions, invalid_recording_id or already_recording

Example

{
"message": "error",
"error": "insufficient_permissions"
}