Stream Recordings

A stream recording combines the individual video and audio tracks for each participant into a single recording file. If the peer publishes his desktop, the screen share video track is generated as an additional stream recording asset. Stream Recording Assets are classified into three types:

  • Regular - contains video track from camera input and audio track from microphone input
  • Screen - contains video track from screen share (desktop) input; optionally can include audio track if they are published from desktop source.
  • Audio - contains only the audio track from microphone input for audio only calls where video tracks were not published at all by the peer.

Stream Recording Basics

  1. Stream recordings start automatically when the first peer joins a room, and stops automatically when the last peer leaves the room.
  2. Recorded stream assets are of asset type stream and are available via Recording Asset APIs and stream recording webhook events.
  3. Recording assets will be available within a few minutes of a successful recording event.

Some of the use cases of stream recording:

  • Archival/Compliance purposes - Record a session for auditing at a later time.
  • Any AI workflow integration to process individual peer's video and audio

Guide to setup stream recordings

Setup stream recordings

Stream recordings can be enabled for your template through the 100ms Dashboard. Refer this section to set up stream recordings→

Start a stream recording

Once enabled for a template, stream recording gets auto-started when first peer joins the corresponding room. Stream recordings cannot be started from client side or REST APIs.

stream recording events

  1. Once the recording is completed successfully, stream.recording.success event is sent with the details on the recorded file path and associated metadata.
  2. A stream.recording.failure webhook event is sent if an individual stream recording fails.

Get stream Assets

A successfully recorded stream generates a recording asset of type stream. Refer here for all recording assets types on 100ms. For successful stream recordings, get stream recording assets using

  1. Using List Recording Assets API get the all stream recording assets for a session_id and asset_type=stream
  2. Store the id as corresponding asset identifier of each stream.
  3. Call the Get Presigned URL Asset API using the stream's asset_id to download the actual recording.

Have a suggestion? Recommend changes ->

Was this helpful?