会议录制可以具有以下状态:
| 状态名称 | 说明 |
|---|---|
| INVOKED | RealtimeKit 后端服务器已收到录制请求,主节点正在寻找准备就绪的工作节点(worker)来分配录制任务。 |
| RECORDING | 会议目前正由工作节点(worker)进行录制;请注意,如果会议正在进行直播,此状态也同样适用。 |
| UPLOADING | 录制已停止,文件正在上传到云存储。如果您没有指定存储详情,则文件将仅上传到 RealtimeKit 的服务器。在此阶段,任何 RTMP 和直播链接也将停止。 |
| UPLOADED | 录制文件上传完成,同时触发状态 Webhook。 |
| ERRORED | 录制会议时发生不可恢复的错误,文件将不可用。 |
您可以通过两种方式跟踪录制所处的状态或查看有关录制的更多详细信息:
当录制在其生命周期中发生状态转换时,RealtimeKit 会发送 recording.statusUpdate Webhook。将 recording.statusUpdate 添加到您的 Webhook 的 events 数组中即可接收这些通知。
curl --request POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/webhooks" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "Recording status webhook",
"url": "https://example.com/webhook",
"events": ["recording.statusUpdate"],
"enabled": true
}'Webhook 负载包括当前录制状态、录制元数据以及关联的会议详情。当状态为 UPLOADED 时,负载可以包含用于访问上传文件的 downloadUrl、audioDownloadUrl 和 downloadUrlExpiry 字段。
有关设置、签名验证、重试行为以及完整负载示例,请参阅 RealtimeKit webhooks。
或者,您也可以使用以下 API:
- List recordings:该端点获取与会议关联的所有过去和进行中的录制。
- Fetch active recording:该端点获取会议的所有进行中的录制。
- Fetch details of a recording:该端点使用录制 ID 获取特定的录制。