Chat recording

100ms can record chat messages sent in a room when a video recording is used. Chat messages that are broadcasted to the room or sent to a role are recorded (direct messages are not recorded).

Chat recording generates a .csv file, which will be uploaded to the storage bucket configured for your video recordings.

File structure

The file header will be: SenderPeerID,SenderName,SenderUserID,Roles,SentAt,Type,Message

Header information

SenderPeerIDSender's peer id
SenderNameSender's name
SenderUserIDSender's user id
RolesRoles to which the message is sent; [] in case of all roles
SentAtSentAt in RFC.3339 format
TypeMessage type - chat
MessageMessage that was sent

Fetch chat recording

On the 100ms Dashboard

You can access your chat recordings on the sessions page in the 100ms Dashboard.

Recording Links

With the REST API

Recordings generate recording assets that can be fetched with the REST API.

With webhooks

100ms can send webhooks when the recording has stopped and is available for download. The recording path is available in following webhook responses:

  • Browser Recording: beam.recording.success (attribute: chat_recording_path ; chat_recording_presigned_url)
  • SFU Recording: recording.success (attribute: chat_recording_path ; chat_recording_presigned_url)
  • Multiresolution Recording: hls.recording.success (attribute: chat_recording_path ; chat_recording_presigned_url)

Path structure

The recording path will look like:


The breakdown of the aforementioned tags is as follows:

Tag NameDescription
LocationName of the bucket where recordings are stored
PrefixPrefix for upload path which is configured in storage settings of your template. If not configured, the default value for this will be your Customer ID
Room IDThe identifier for the room which was recorded
Start DateStart date of the session
EpochStart time of the recorder in the session

Have a suggestion? Recommend changes ->

Was this helpful?