Skip to main content

Build a remote podcast studio

A recorded conversation between a host and guests in different places. Guests check their mic before they go on, the host starts and stops the recording, and the files are ready to fetch afterwards, with AI notes if you want them.

A host editing a recorded remote conversation with an audio waveform and an upload to the cloud
Audio, video or both
recorded in the cloud, landscape or portrait
Recording-only rooms
when nobody needs to watch live
1 request
lists the finished recordings

How it fits together​

  1. Your serverBooks the sessionCreates the room with recording turned on.
  2. GuestsCheck inTest mic and camera before they join the conversation.
  3. HostRecordsStarts, pauses and stops the recording from the room.
  4. MediaSFUDelivers the filesYour server lists and fetches them when the session ends.

What MediaSFU handles​

You needMediaSFU gives youRead
Guests who sound right before you recordA pre-join screen with device selection and previewDevices by SDK
Clean audio from home setupsServer-side audio denoisingAudio denoising
A recording the host controlsCloud recording started, paused and stopped from the roomRecording settings API
The episode layout, not just the callRecording of your own custom interfaceRecord your custom interface
Files when it's overA list of recordings per roomRecordings API
Show notesAI notes from the conversationEvent settings API

Set it up​

  1. Create the session from your server with recording on. For an audio-only show, set recordingVideoSupport to false:

    curl -X POST https://mediasfu.com/v1/rooms \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $MEDIASFU_API_USERNAME:$MEDIASFU_API_KEY" \
    -d '{"action":"create","userName":"host","duration":90,"capacity":4,"eventType":"conference","recordingParams":{"recordingAudioSupport":true,"recordingVideoSupport":true,"recordingPreferredOrientation":"landscape"}}'
  2. Let the host and guests join from your app (below). The host starts the recording once everyone sounds right. Keep the API key on your server (Secure backend).

  3. When the session ends, list the recordings for that room:

    curl "https://mediasfu.com/v1/recordings?action=get&name=ROOM_NAME" \
    -H "Authorization: Bearer $MEDIASFU_API_USERNAME:$MEDIASFU_API_KEY"

    Replace ROOM_NAME with the roomName from step 1.

To record every session the same way, set the defaults once with the recording settings API.

Build it in your SDK​

Check it works​

  • Join as the host and as a guest, each with headphones.
  • Confirm you hear each other clearly, then start recording.
  • Talk for a minute, pause, resume, then stop.
  • End the session and find the recording in the list from step 3.

Go further​