Record a Video Room with Twilio Programmable Video

Twilio Programmable Video Rooms have different methods for enabling recording, depending on a number of factors including the room type, the participant type, and how the room was created. This guide will walk users through enabling recording, as well as how to access and manage your recording files.

Click the desired section heading to read more information:

Video Room Recording Methods

Please select the desired room type and creation option for instructions:

Notice: Peer-to-Peer (P2P) Room participants share media directly, and are therefore can't be recorded via Twilio's REST API.

Record an Ad-hoc Group Room or Small Group Room

Ad-hoc Rooms are created on-the-fly, whenever a participant connects. When recording is enabled, participants in an ad-hoc rooms will produce up to three different recording files - one for each applicable audio, video, or data track.

Recording can be enabled for all Ad-hoc Group and Small Group Rooms via Console:

  1. Access the Programmable Video Rooms Settings page in Console.
  2. Scroll to the "Room Topology" section, and then click the Recording slider.
    Note: Peer-to-Peer (P2P) rooms do not support video recording.
  3. Once Recording is enabled, click Save.

Notice: This setting in Console only controls the default behavior for video rooms created on-the-fly. Rooms created via the REST API will default to what is specified in your API request. See Record an API-created Group Room or Small Group Room for more information.

Record an API-created Group Room or Small Group Room

Group Video Rooms created via the REST API can specify whether to record or not in the initial HTTP POST request. When recording is enabled, participants in API-created small or standard size group rooms will produce up to three different recording files - one for each applicable audio, video, or data track.

To enable group room recording, add the RecordParticipantsOnConnect parameter to your API request. Here’s an example cURL script:

curl -X POST https://video.twilio.com/v1/Rooms \
--data-urlencode "RecordParticipantsOnConnect=True" \
--data-urlencode "StatusCallback=http://www.mysite.com/twilio/video" \
--data-urlencode "Type=group" \
--data-urlencode "UniqueName=myVideoRoom" \
-u "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token"

This example will create a new (standard) Group Room myVideoRoom, and record new participants when they connect. Twilio will also make HTTP requests to the included StatusCallback URL with Room Events and Recording file details, and well as a final request once the recording files are posted and available for access. To make this script work for you, make the following updates, and then paste it into a terminal window:

For full details, including code samples with our SDKs, please see Twilio Video Rooms API (Twilio Docs).

Record a Twilio Voice-only Group Room Participant

Voice-only participants in Twilio Video will be recorded based on the room's recording settings. These participants will only have a single voice track, and produce a single audio-only recording file.

Recording for voice-only participants can also be enabled via the Twilio Programmable Voice call that connects them:

Notice: If recording a voice-only participant's call in a recorded group video room, Twilio will produce two different recording files, and charge the corresponding price for each recording.

How to View, Download, and Delete your Recordings

Twilio Video Group Room participants create up to three different recording files - one for each applicable audio, video, or data track. These recordings are captured in separate Matroska container files: Video files use the .MKV extension, and Audio files use the .MKA extension.

Notice: We suggest users having trouble playing or lining up these files use our Recording Compositions API (Beta) for transcoding and combining your recordings into a more user-friendly format.

Twilio Video room participants' track recordings are accessible via the Video Recordings Log page in Console, as well as the REST API. You can see a list of your recordings, download them, and delete them from either of these resources. For more information, please see Twilio Video REST API: Recordings (Twilio Docs).

Voice-only participants recorded via the Twilio Programmable Voice call will have their recordings found in the Programmable Voice Recording Logs in Console, as well as the REST API. If the video room is being recorded also, Twilio will produce two different recording files - an .MKA file for the participant's audio track in the video room, and a .WAV or .MP3 file for the call. For more information, please see Downloading and Deleting Twilio Call Recordings.

Recording Data Deletion Details

All video track and call recording files are kept in Twilio’s cloud storage until you delete them.When a Video Recording is deleted via the API or Console, a request to delete the Recording file is issued. The Recording file will no longer be accessible via the API or Console. Please note it may take up to 30 days for the Recording file to be completely removed from all systems.

The Recording resource metadata (e.g. the Recording SID, Date Created, etc) is preserved for a period of 40 days after the Recording deletion is issued, during which time the metadata is still visible in the Console.

Legal Implications of Call Recording

If you choose to record video calls, you need to comply with certain laws and regulations, including those regarding obtaining consent to record (such as California’s Invasion of Privacy Act and similar laws in other jurisdictions). Additional information on the legal implications of call recording can be found here.

Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.

Have more questions? Submit a request
Powered by Zendesk