Track recordings
A track represents a single media stream published into the WebRTC session captured from a device's camera or microphone. Multiple tracks can be sent by each peer. Broadly, they are categorised into 2 types:
- Video track - contains video data captured from a video source such as a camera or desktop screen capture
- Audio track - contains audio data captured from an audio source such as a microphone
Track Recording Basics
- Track recordings start automatically when the first peer joins a room, and stops automatically when the last peer leaves the room.
- Recorded track assets are of type
track
and are available via Recording Asset APIs and track webhook events. - Multiple track recording assets can be available for a single peer. For example, for a 1:1 call for Peer A and Peer B, with both publishing audio, video and desktop screen, there shall be 3 track assets for each peer.
- Recording assets will be available within a few minutes of a successful recording event.
Some of the use cases of recording a track:
- Integrating with custom composition workflows where tracks (video/audio) from specific participants are composed together in a single recording file
- Integrating with AI workflows for transcription/ translation/ participant insights/ object detection
Guide to setup track recordings
Say there’s a 1:1 call where we want to record the Host and Co-Host tracks individually for a post production edit.
Setup track recordings
Track recordings can be enabled for your template through the 100ms Dashboard. Refer this section to set up track recordings→
Start a track recording
Once enabled for a template, track recording gets auto-started when first peer joins the corresponding room. Track recordings cannot be started from client side or API.
Track recording events
- 100ms notifies you when a recording starts for a track with
track.recording.started.success
event for every peer. - Once the recording is completed successfully,
track.recording.success
event is sent with the details on the recorded file path and associated metadata. - A
track.recording.failure
webhook event is sent if an individual track recording fails.
Get Track Assets
A successfully recorded track generates a recording asset of type track
. Refer here for all recording assets types on 100ms. For successful track recordings, get track recording assets using
- Using List Recording Assets API get the all tracks recording assets for a session_id and asset_type=
track
- Store the
id
as corresponding asset identifier of each track. - Call the Get Presigned URL Asset API using the track's
asset_id
to download the actual recording.
Resources on Track Recording
Get track recording updates via webhooks