停止云端录制
更新时间不可用
停止一个云端录制任务。
https://api.sd-rtn.com/v1/apps/{appid}/cloud_recording/resourceid/{resourceid}/sid/{sid}/mode/{mode}/stopstop 方法用于停止云端录制。
开始录制后,你可以调用 stop 方法离开频道,停止录制。录制停止后如需再次录制,必须再调用 acquire 方法请求一个新的 Resource ID。
注意
stop请求仅在会话内有效。如果录制启动错误,或录制已结束,调用stop将返回404。- 非页面录制模式下,当频道空闲(无用户)超过预设时间(默认为 30 秒) 后,云端录制也会自动退出频道,停止录制。
- 录制结束后,正常情况下录制文件会在 20 分钟内上传至第三方云存储,但在网络异常等特殊情况下上传时间会达到 24 小时以上。
appidstring你的项目使用的 App ID。
- 对于页面录制模式,只需输入开通了云端录制服务的 App ID。
- 对于单流和合流录制模式,必须使用和待录制的频道相同的 App ID,且该 App ID 需要开通云端录制服务。
resourceidstring通过 acquire 请求获取到的 Resource ID。
sidstring通过 start 获取的录制 ID。
Authorizationstring声网云端录制 RESTful API 仅支持 HTTPS 协议。发送请求时,你需要使用声网提供的客户 ID 和客户密钥生成 Base64 编码凭证,并填入请求头部的 Authorization 字段中。详见实现 HTTP 基本认证。
Content-Typestringapplication/json。
响应
如果返回的 HTTP 状态码为 200,表示请求成功。
响应 Body
resourceIdstring云端录制使用的 Resource ID。
sidstring录制 ID。标识一次录制周期。
页面录制场景下会返回的字段。
页面录制模式下,上传服务返回的字段。
页面录制模式下,上传服务返回的字段。
uploadingStatusstring当前录制上传的状态:
"uploaded":本次录制的文件已经全部上传至指定的第三方云存储。"backuped":本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。"stranded":v2 新增状态。部分录制文件未上传至指定的第三方云存储,需要结合业务逻辑进行处理。"unknown":未知状态。
页面录制模式下,页面录制服务返回的字段。
filenamestring录制产生的 M3U8 文件和 MP4 文件的文件名。
sliceStartTimenumber该文件的录制开始时间,Unix 时间戳,单位为毫秒。
onholdboolean页面录制是否处于暂停状态:
true:处于暂停状态。false:处于运行状态。
statestring将订阅内容上传至扩展服务的状态:
"init":服务正在初始化。"inProgress":服务启动完成,正在进行中。"exit":服务退出。
serviceNamestring服务类型:
"upload_service":上传服务。"web_recorder_service":页面录制服务。
单流云端截图场景下会返回的字段。
uploadingStatusstring当前录制上传的状态:
"uploaded":本次录制的文件已经全部上传至指定的第三方云存储。"backuped":本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。"stranded":v2 新增状态。部分录制文件未上传至指定的第三方云存储,需要结合业务逻辑进行处理。"unknown":未知状态。
除单流云端截图和页面录制场景外的其他场景下会返回的字段。
fileListModestringfileList 字段的数据格式:
"string":fileList为 String 类型。合流录制模式下,如果avFileType设置为["hls"],fileListMode为"string"。"json":fileList为 JSON Array 类型。单流或合流录制模式下avFileType设置为["hls","mp4"]时,fileListMode为"json"。
fileNamestring录制产生的 M3U8 文件和 MP4 文件的文件名。
trackTypestring录制文件的类型。
"audio":纯音频文件。"video":纯视频文件。"audio_and_video":音视频文件。
uidstring用户 UID,表示录制的是哪个用户的音频流或视频流。合流录制模式下,uid 为 "0"。
mixedAllUserboolean用户是否是分开录制的。
true:所有用户合并在一个录制文件中。false:每个用户分开录制。
isPlayableboolean是否可以在线播放。
true:可以在线播放。false:无法在线播放。
sliceStartTimenumber该文件的录制开始时间,Unix 时间戳,单位为毫秒。
uploadingStatusstring当前录制上传的状态:
"uploaded":本次录制的文件已经全部上传至指定的第三方云存储。"backuped":本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。"stranded":v2 新增状态。部分录制文件未上传至指定的第三方云存储,需要结合业务逻辑进行处理。"unknown":未知状态。
cnamestring录制的频道名。
uidstring字符串内容为云端录制服务在 RTC 频道内使用的 UID,用于标识频道内的录制服务。
请求示例
curl --request POST \
--url "https://api.sd-rtn.com/v1/apps/:appid/cloud_recording/resourceid/:resourceid/sid/:sid/mode/:mode/stop" \
--header 'Authorization: Basic <credentials>' \
-H 'Content-Type: application/json' \
-d '{
"cname": "<your_channel_name>",
"uid": "<unique_user_id>",
"clientRequest": {
"async_stop": false
}
}'响应示例
{
"resourceId": "云端录制使用的 Resource ID。",
"sid": "录制 ID。标识一次录制周期。",
"serverResponse": {
"extensionServiceState": [
{
"playload": {
"uploadingStatus": "当前录制上传的状态:\n- `\"uploaded\"`:本次录制的文件已经全部上传至指定的第三方云存储。\n- `\"backuped\"`:本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。\n- `\"stranded\"`:v2 新增状态。部分录制文件未上传至指定的第三方云存储,需要结合业务逻辑进行处理。\n- `\"unknown\"`:未知状态。"
},
"serviceName": "服务类型:\n- `\"upload_service\"`:上传服务。\n- `\"web_recorder_service\"`:页面录制服务。"
}
]
},
"cname": "录制的频道名。",
"uid": "字符串内容为云端录制服务在 RTC 频道内使用的 UID,用于标识频道内的录制服务。"
}