Skip to main content

Get recording settings

POST /server/v1/mcu/record-config Authentication: required (see Overview) Global default recording settings Request parameters None Response parameters
string
App ID
string
Layout type: auto, full, grids_2, grids_4, …
integer
Watermark type. 1: none, 2: single row, 3: multiple rows
string
Window label position, a letter or combination: L left, R right, T top, B bottom; empty disables labels
integer
Settings creation time (timestamp)
integer
Settings update time (timestamp)
Response example:

Save recording settings

POST /server/v1/mcu/save-record-config Authentication: required (see Overview) Update the global default recording settings Request parameters
string
Layout type: auto, full, grids_2, grids_4, …
integer
Watermark type. 1: none, 2: single row, 3: multiple rows
string
Window label position, a letter or combination: L left, R right, T top, B bottom; empty disables labels
Request example:
Response parameters data is null Response example:

List recording tasks

POST /server/v1/mcu/list-task Authentication: required (see Overview) List recording tasks. One recording = one task, and a task may contain multiple recording files (a new segment starts when the segment duration is exceeded, and also when recording resumes after an interruption). To get playable files, use “Get recording task details” (includes all files and URLs inline) or “List recording files”. Request parameters
string
Room number; empty means any
string
Meeting ID; empty means any
integer
Task status; omit for any. 0: pending, 1: in progress, 2: stopping, 3: ended abnormally, 4: ended normally
string
Recording title, fuzzy match; empty means any (max length 100)
string
Tag, fuzzy match; empty means any (max length 50)
integer
Start time
integer
End time
integer
Page number, starting from 1 Example: 1
integer
Items per page Example: 10
Request example:
Response parameters
string
Task ID
string
Task initiator ID
string
Task initiator name
string
Channel
string
Channel title
string
External room number
integer
Task type, a bit mask: 1 video recording, 2 stream mixing, 4 audio recording, 8 live stream
integer
0: pending, 1: in progress, 2: stopping, 3: ended abnormally, 4: ended normally
string
Error description
integer
Recording start time (timestamp); 0 means the underlying task has not started running yet
integer
Recording end time (timestamp); 0 means not ended
integer
Number of recording files; a recording produces extra files when it exceeds the segment duration or resumes after an interruption
integer
Total duration of all recording files (seconds)
integer
Total size of all recording files (bytes)
string
Recording tags, comma-separated
array<object>
Recording file list; returned only in task details
integer
Task creation time (timestamp)
integer
Task update time (timestamp)
integer
Current time, used to calculate the recording duration when the frontend’s local clock is inaccurate
Response example:

Get recording task details

POST /server/v1/mcu/detail Authentication: required (see Overview) Recording task details: task status, start and end times, total duration, and all recording files of this recording (the records array, with each file’s playback URL, duration, start and end times, and segment number). Request parameters
string
Task ID
string
Meeting ID (required if task_id is not set)
boolean
Whether to return internal network playback URLs
Request example:
Response parameters
string
Task ID
string
Task initiator ID
string
Task initiator name
string
Channel
string
Channel title
string
External room number
integer
Task type, a bit mask: 1 video recording, 2 stream mixing, 4 audio recording, 8 live stream
integer
0: pending, 1: in progress, 2: stopping, 3: ended abnormally, 4: ended normally
string
Error description
integer
Recording start time (timestamp); 0 means the underlying task has not started running yet
integer
Recording end time (timestamp); 0 means not ended
integer
Number of recording files; a recording produces extra files when it exceeds the segment duration or resumes after an interruption
integer
Total duration of all recording files (seconds)
integer
Total size of all recording files (bytes)
string
Recording tags, comma-separated
array<object>
Recording file list; returned only in task details
integer
Task creation time (timestamp)
integer
Task update time (timestamp)
integer
Current time, used to calculate the recording duration when the frontend’s local clock is inaccurate
Response example:

List recording files

POST /server/v1/mcu/list-record Authentication: required (see Overview) List recording files. Each entry is one file (segment) produced by a recording. Ascending seq is the playback order; offset_ms is the offset from the task start, used for the progress bar in multi-segment playback; reason=2 means there is a time gap between this segment and the previous one (recording was interrupted and then resumed). Request parameters
string
Recording task ID; set it to see only the files of one recording. Empty means any
string
Meeting ID; empty means any
integer
Page number, starting from 1 Example: 1
integer
Items per page Example: 10
Request example:
Response parameters
string
Recording file ID, used to get the playback URL
string
ID of the recording task it belongs to
string
Channel
integer
Segment number, starting from 1; sorting by it gives the playback order
integer
Recording size (bytes)
integer
Segment duration (seconds)
integer
Segment start time (timestamp)
integer
Segment end time (timestamp)
integer
Offset from the task start (ms), used for the progress bar in multi-segment playback
integer
Segment reason. 0: unknown, 1: split by duration, 2: resumed after an interruption (gap after the previous segment)
string
Presigned playback URL; returned only in task details
integer
Record creation time (timestamp)
Response example:

Get the playback URL of a recording file

POST /server/v1/mcu/vod-url Authentication: required (see Overview) Get the playback URL of a single recording file. The URL expires (after 2 hours), so do not cache it long-term Request parameters
string
required
Recording file ID, taken from the task details or the recording file list
boolean
Whether to return LAN (internal network) URLs
Request example:
Response parameters
string
Recording URL
integer
Recording size (bytes)
integer
Segment start time (compatibility field, same as began_at)
integer
Segment duration (seconds) (compatibility field, same as duration)
string
Recording file ID, used to get the URL of or delete a single file
string
ID of the recording task it belongs to
integer
Segment number, starting from 1; sorting by it gives the playback order
integer
Segment start time (timestamp)
integer
Segment end time (timestamp)
integer
Segment duration (seconds)
integer
Offset from the task start (ms), used for the progress bar in multi-segment playback
integer
Segment reason. 0: unknown, 1: split by duration, 2: resumed after an interruption (gap after the previous segment)
Response example:

Get playback URLs of multiple recording files

POST /server/v1/mcu/vod-url/batch Authentication: required (see Overview) Get playback URLs of recording files in batch, up to 50 at a time; useful for fetching everything at once for continuous playback of a whole meeting Request parameters
array<string>
required
Recording file ID list, up to 50 per request (max length 50)
boolean
Whether to return LAN (internal network) URLs
Request example:
Response parameters
string
Recording URL
integer
Recording size (bytes)
integer
Segment start time (compatibility field, same as began_at)
integer
Segment duration (seconds) (compatibility field, same as duration)
string
Recording file ID, used to get the URL of or delete a single file
string
ID of the recording task it belongs to
integer
Segment number, starting from 1; sorting by it gives the playback order
integer
Segment start time (timestamp)
integer
Segment end time (timestamp)
integer
Segment duration (seconds)
integer
Offset from the task start (ms), used for the progress bar in multi-segment playback
integer
Segment reason. 0: unknown, 1: split by duration, 2: resumed after an interruption (gap after the previous segment)
Response example:

Get playback URLs of all recordings in a meeting

POST /server/v1/mcu/vods-url Authentication: required (see Overview) Playback URLs of all recordings in a meeting. When a recording produces multiple files, all of them are returned, sorted by segment number. url/size/mcu_at/mcu_dur are legacy fields with unchanged meaning (mcu_at is the segment start time, mcu_dur is the segment duration); new fields such as record_id / seq / offset_ms are for locating a file precisely and for multi-segment playback. Request parameters
string
Meeting ID (required if room_no is not set)
string
Room number
boolean
Whether to return LAN (internal network) URLs
Request example:
Response parameters
string
Recording URL
integer
Recording size (bytes)
integer
Segment start time (compatibility field, same as began_at)
integer
Segment duration (seconds) (compatibility field, same as duration)
string
Recording file ID, used to get the URL of or delete a single file
string
ID of the recording task it belongs to
integer
Segment number, starting from 1; sorting by it gives the playback order
integer
Segment start time (timestamp)
integer
Segment end time (timestamp)
integer
Segment duration (seconds)
integer
Offset from the task start (ms), used for the progress bar in multi-segment playback
integer
Segment reason. 0: unknown, 1: split by duration, 2: resumed after an interruption (gap after the previous segment)
Response example:

Get live stream URLs

POST /server/v1/mcu/live-url Authentication: required (see Overview) Get live stream URLs Request parameters
string
Room number
string
Meeting ID
Request example:
Response parameters
string
RTMP playback URL
string
HTTP-FLV playback URL
string
HLS playback URL
Response example:

Delete a recording task

POST /server/v1/mcu/del-task Authentication: required (see Overview) Delete a recording task together with all of its recording files Request parameters
string
Task ID
string
Meeting ID (required if task_id is not set)
boolean
Whether to return internal network playback URLs
Request example:
Response parameters data is null Response example:

Delete a recording file

POST /server/v1/mcu/del-record Authentication: required (see Overview) Delete a single recording file; other files from the same recording are not affected Request parameters
string
required
Recording file ID
Request example:
Response parameters data is null Response example:

Start or update a recording task

POST /server/v1/mcu/start Authentication: required (see Overview) Start a recording task Request parameters
string
Room number
string
Meeting ID
integer
required
Task type, a bit mask: 1 video recording, 2 stream mixing, 4 audio recording, 8 live stream; e.g. 3 = video recording + stream mixing, 9 = video recording + live stream Example: 9
string
Recording task title
string
Task initiator ID
string
Task initiator name
string
Recording tags, comma-separated
object
required
Layout data
Request example:
Response parameters
string
Keys are dynamic; see the description above
Response example:

Stop a recording task

POST /server/v1/mcu/stop Authentication: required (see Overview) Request parameters
string
Room number
string
Meeting ID
integer
Task type (optional). If omitted, tasks of all types in the meeting are stopped; if set, only the given types are stopped. Values are the same as for the start endpoint Example: 1
Request example:
Response parameters data is null Response example: