shiichan

RealtimeKit Can Now Record Each Participant's Audio Track!

Hey friends, it's me, Shiichan! Today I found a nice little update for anyone building audio and video calls.

Cloudflare Changelog developers.cloudflare.com

What was announced?

Over on Cloudflare's Changelog, they announced that RealtimeKit now supports track recording. You can record each participant's audio track separately.

The story so far

Until now, recordings gave you a single composite recording where everyone's audio was mixed into one file. That's great for keeping the whole meeting, but it made things awkward when you only wanted to work with one person's audio later.

What changes

Track recording creates a separate WebM file for each participant. So you can handle each voice on its own for things like:

  • post-processing your audio afterward
  • transcription
  • regulated or content-sensitive workflows

And you can pick exactly which participants to record.

Dive Deep

To limit who gets recorded, pass user_ids when you start a track recording:

curl --request POST \
  --url https://api.cloudflare.com/client/v4/accounts/{account_id}/realtime/kit/{app_id}/recordings/track \
  --header 'Authorization: Bearer {api_token}' \
  --header 'Content-Type: application/json' \
  --data '{ "meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a", "user_ids": ["user-123", "user-456"] }'

To use user_ids for selective track recording, you need these minimum SDK versions:

  • Web Core (@cloudflare/realtimekit): 1.4.0 or later
  • Web UI Kit (@cloudflare/realtimekit-ui / -react-ui / -angular-ui): 1.1.2 or later
  • Android Core or iOS Core: 2.0.0 or later
  • Android UI Kit or iOS UI Kit: 1.1.0 or later

RealtimeKit gives you SDKs and UI components to build your own meeting experience on Cloudflare's global WebRTC infrastructure. Teams build everything from telehealth to education on it. To get going, check out the Quickstart or the Cloudflare Meet repo as a reference.

Wrap-up

  • RealtimeKit added per-participant track recording
  • Instead of one composite file, you get a separate WebM file per participant
  • Pass user_ids through the API to record only the people you choose
  • You'll need minimum SDK versions like Web Core 1.4.0 or later to use it

This one is for developers who need to keep voices separated for transcription or compliance!