(Beta) Participant-Separated Video

Produce separate video recordings for each participant.

You may have a use case that requires separate recording files per-participant. Recall supports this through a feature flag enabled at the workspace level.

Once enabled, no additional configuration is needed. Requests to Create Bot will be exactly the same.

All bots created under this workspace will then produce participant-separated video recordings in addition to the mixed, composite recording file.

πŸ“˜

To enable participant-separated video for your bots, reach out to the Recall team in slack.


Retrieving the separate recordings

When you retrieve the bot, it will contain a single recording in recordings:

// GET https://api.recall.ai/api/v1/bot/{id}/
{
  ...
	"recording": "1cc4d5c1-0356-4d74-8908-3377f18674f4",
  "recordings": [
    {
      "id": "1cc4d5c1-0356-4d74-8908-3377f18674f4",
      "started_at": "2024-04-09T18:19:34.284488Z",
      "completed_at": "2024-04-09T18:21:19.892133Z"
    }
  ]
}

This is the same behavior as the default composite video recording normally produced by bots.

To access the participant-separated videos, you can use the id of the recording to call Get Recording.

In the response, it will contain entries with varying type:

  • mp4_video_mixed: The default, mixed video as a single recording file.
  • mp4_video_unmixed: Participant-separated video streams and their corresponding recordings

Example response:

// GET https://api.recall.ai/api/v2/recordings/{id}/
{
  "id": "1cc4d5c1-0356-4d74-8908-3377f18674f4",
  "outputs": [
    {
      "id": "925685c9-d627-49dc-92f7-c5a6883c1d67",
      "type": "mp4_video_mixed",
      "metadata": null,
      "endpoints": [
        {
          "id": "64b255d2-92da-4988-a3c4-93c0909b79cd",
          "type": "s3",
          "video": {
            "download_url": "..."
          }
        }
      ]
    },
    {
      "id": "d53ab51b-867a-4c53-9fba-2770fd2e0955",
      "type": "mp4_video_unmixed",
      "metadata": null,
      "endpoints": [
        {
          "id": "0fc9c786-922c-484d-a0ee-473466f95a30",
          "type": "s3",
          "parts": [
            {
              "stream_id": 16780288,
              "download_url": "...",
              "start_timestamp": 0.667142547,
              "end_timestamp": 100.798540184
            },
            {
              "stream_id": 16778240,
              "download_url": "...",
              "start_timestamp": 0.057904322,
              "end_timestamp": 100.907554255
            }
          ]
        }
      ]
    }
  ],
  "created_at": "2024-04-09T18:19:33.559215Z",
  "expires_at": null
}

Mapping recordings to participants

To map a recording back to its corresponding participant, Recall exposes a stream_id for each recording part.

The stream_id is equivalent to the id of the participant in the participants array of the bot. You should use this to associate each recording to a given meeting participant.