Start Recording a Meeting
This topic explains how to use Dyte to implement composite recording.
Before getting started with this guide, we recommend that you read Getting Started with Dyte to familiarize yourself with Dyte.
There are three ways to start recording a Dyte meeting:
- Using the
record_on_start
flag when creating a meeting - Using the Start Recording API
- Client side start recording methods on the SDK
Dyte stores recordings for a period of 7 days, after which they will expire and no longer be accessible. It is important to either download a copy of your recording or set up storage before the link expires.
- Our system does not currently support recordings of brief durations that are less than five seconds. In such cases, it is possible that the recording APIs may experience occasional failures. Due to limitations in encoding recordings of short duration, these failures may result in an ERRORED state.
- Recording will stop if there are no participants in a meeting for 60 seconds.
- The average file size for one hour of recording is approximately 300MB.
- There can only be one active recording of a meeting at any given time, unless the
allow_multiple_recording
field is set in the Start recording a meeting API. - Maximum recording time is 24 hours. Recording will automatically stop after
24 hours have elapsed since the recording's start time. This option can be
configured to any value up to 24 hours by passing the
max_seconds
parameter in the start recording API request.
Using the record_on_start
parameter​
When creating a meeting, you can
specify the record_on_start
parameter to start the recording as soon as someone joins the
meeting.
If you're using this method to start the recording, you must specify the `storage-config' using the Developer Portal.
Request​
Specify the record_on_start
parameter. If this flag is true, then a recording
will be started as soon as a meeting starts on Dyte, i.e, when the first
participant joins the meeting.
curl --request POST \
--url https://api.dyte.io/v2/meetings \
--header 'Authorization: Basic NzcyNDMyYXNoZGphZDpkc2ZzZGFmc2FkZmFzZGZzZGY=' \
--header 'Content-Type: application/json' \
--data '{
"title": "Lorem Ipsum",
"preferred_region": "ap-south-1",
"record_on_start": true
}'
Response​
{
"success": true,
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"preferred_region": "ap-south-1",
"record_on_start": true,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}
Using the Start Recording API​
You can also start a recording using the Start Recording API.
Specify the meeting ID
of the meeting that you want to record.
Use the Fetch all meetings for an
organization or Create a meeting API to
get the meeting ID. The API returns a parameter called id
, which is your
meeting ID.
Request​
curl --request POST \
--url https://api.dyte.io/v2/recordings \
--header 'Authorization: Basic NzcyNDMyYXNoZGphZDpkc2ZzZGFmc2FkZmFzZGZzZGY=' \
--header 'Content-Type: application/json' \
--data '{
"meeting_id": "97440c6a-140b-40a9-9499-b23fd7a3868a"
}'
Response​
{
"success": true,
"data": {
"id": "97440c6a-140b-40a9-9499-b23fd7a3868a",
"download_url": "http://example.com",
"download_url_expiry": "2019-08-24T14:15:22Z",
"download_audio_url": "http://example1.com",
"file_size": 0,
"session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82",
"output_file_name": "string",
"status": "INVOKED",
"invoked_time": "2019-08-24T14:15:22Z",
"started_time": "2019-08-24T14:15:22Z",
"stopped_time": "2019-08-24T14:15:22Z",
"storage_config": {
"type": "aws",
"secret_key": "string",
"bucket": "string",
"region": "us-east-1",
"path": "string"
}
}
}