开始录制后,你可以调用 stop
方法离开频道,停止录制。录制停止后如需再次录制,必须再调用 acquire
方法请求一个新的 resource ID。
stop
请求仅在会话内有效。如果录制启动错误,或录制已结束,调用 stop
将返回 404。该 API 需要在 URL 中传入以下参数。
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 你的项目使用的 App ID。必须使用和待录制的频道相同的 App ID。 |
resourceid |
String | 通过 acquire 请求获取的 resource ID。 |
sid |
String | 通过 start 请求获取的录制 ID。 |
mode |
String | 录制模式,支持单流模式 individual 、合流模式 mix 、页面录制模式 web 。 |
Content-Type
: application/json
Authorization
: 该字段的值需参考认证说明。该 API 需要在请求包体中传入以下参数:
参数 | 类型 | 描述 |
---|---|---|
cname |
String | 待录制的频道名。需要和你在 acquire 请求中输入的 cname 相同。 |
uid |
String | 字符串内容为云端录制服务在频道内使用的 UID,用于标识该录制服务,需要和你在 acquire 请求中输入的 UID 相同。 |
clientRequest |
JSON Object | 特定的客户请求参数,对于该请求包含以下参数:async_stop :(选填)Boolean 类型,设置 stop 方法的响应机制:
|
请求 URL:
https://api.sd-rtn.com/v1/apps/{appid}/cloud_recording/resourceid/{resourceid}/sid/{sid}/mode/{mode}/stop
Content-type
为 application/json;charset=utf-8
Authorization
为 Basic authorization,生成方法请参考 RESTful API 认证。
请求包体内容如下:
{
"cname":"httpClient463224",
"uid":"527841",
"clientRequest":{
"async_stop":true
}
}
{
"cname":"httpClient463224",
"uid":"527841",
"clientRequest":{
"async_stop":false
}
}
如果返回的 HTTP 状态码为 200
,表示请求成功,响应包体中包含以下字段:
resourceId
: String 类型,云端录制使用的 resource ID。sid
: String 类型,录制 ID。标识一次录制周期。serverResponse
: JSON Object,服务器返回的具体信息。该字段中的子元素与你在 start
请求中的设置有关。单流视频截图场景只会返回 uploadingStatus
字段,页面录制场景只会返回 extensionServiceState
字段,其他场景返回 fileListMode
、fileList
和 uploadingStatus
字段。fileListMode
: String 类型,fileList
字段的数据格式。"string"
:fileList
为 String 类型。合流模式下,如果 avFileType
设置为 ["hls"]
,fileListMode
为 "string"
。"json"
:fileList
为 JSON Array。单流模式下,或合流模式下 avFileType
设置为 ["hls","mp4"]
时,fileListMode
为 "json"
。fileList
:当 fileListMode
为 "string"
时,fileList
为 String 类型,表示录制产生的 M3U8 文件的文件名。当 fileListMode
为 "json"
时, fileList
为 JSON Array,由每个录制文件的具体信息组成的数组。一个录制文件的具体信息包括以下字段:fileName
:String 类型,录制产生的 M3U8 文件和 MP4 文件的文件名。trackType
:String 类型,录制文件的类型。"audio"
:纯音频文件。"video"
:纯视频文件。"audio_and_video"
:音视频文件。uid
:String 类型,用户 UID,表示录制的是哪个用户的音频流或视频流。合流录制模式下,uid
为 "0"
。mixedAllUser
:Boolean 类型,用户是否是分开录制的。true
:所有用户合并在一个录制文件中。false
:每个用户分开录制。isPlayable
:Boolean 类型,是否可以在线播放。true
:可以在线播放。false
:无法在线播放。sliceStartTime
:Number 类型,该文件的录制开始时间,Unix 时间戳,单位为毫秒。uploadingStatus
:String 类型,当前录制上传的状态。"uploaded"
:本次录制的文件已经全部上传至指定的第三方云存储。"backuped"
:本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。"unknow"
:未知状态。extensionServiceState
: JSON Array,由上传服务和页面录制服务组成的数组。如果 HTTP 状态码不为 200
,请参考响应状态码排查问题。
serviceName
:String 类型,服务类型。 "upload_service"
代表上传服务。payload
:JSON Object。该服务的状态信息。uploadingStatus
:String 类型,当前上传服务的状态。"uploaded"
:本次录制的文件已经全部上传至指定的第三方云存储。"backuped"
:本次录制的文件已经全部上传完成,但是至少有一个 TS 文件上传到了声网备份云。声网服务器会自动将这部分文件继续上传至指定的第三方云存储。"unknow"
:未知状态。serviceName
:String 类型,服务类型。 "web_recorder_service"
代表页面录制服务。payload
:JSON Object。该服务的状态信息。state
:String 类型,将订阅内容上传至扩展服务的状态。"init"
:服务正在初始化。"inProgress"
:服务启动完成,正在进行中。"exit"
:服务退出。fileList
:JSON Array。由每个录制文件的具体信息组成的数组。fileName
:String 类型,录制产生的 M3U8 或 MP4 文件的文件名。sliceStartTime
:Number 类型,该文件的录制开始时间,Unix 时间戳,单位为毫秒。onhold
:Bool 类型。页面录制是否处于暂停状态。true
:页面录制处于暂停状态。false
:页面录制处于运行状态。{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"fileListMode":"json",
"fileList":[
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224__uid_s_123__uid_e_audio.m3u8",
"trackType":"audio",
"uid":"123",
"mixedAllUser":false,
"isPlayable":true,
"sliceStartTime":1562724971626
},
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224__uid_s_123__uid_e_video.m3u8",
"trackType":"video",
"uid":"123",
"mixedAllUser":false,
"isPlayable":false,
"sliceStartTime":1562724971626
},
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224__uid_s_456__uid_e_audio.m3u8",
"trackType":"audio",
"uid":"456",
"mixedAllUser":false,
"isPlayable":true,
"sliceStartTime":1562724971626
},
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224__uid_s_456__uid_e_video.m3u8",
"trackType":"video",
"uid":"456",
"mixedAllUser":false,
"isPlayable":false,
"sliceStartTime":1562724971626
}
],
"uploadingStatus":"uploaded"
}
}
{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"uploadingStatus":"uploaded"
}
}
{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"fileListMode":"string",
"fileList":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224.m3u8",
"uploadingStatus":"uploaded"
}
}
{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"fileListMode":"json",
"fileList":[
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224.m3u8",
"trackType":"audio_and_video",
"uid":"0",
"mixedAllUser":true,
"isPlayable":true,
"sliceStartTime":1562724971626
},
{
"fileName":"aaaa/432efaf2144e051bb32fb490db89c462_httpClient463224_0.mp4",
"trackType":"audio_and_video",
"uid":"0",
"mixedAllUser":true,
"isPlayable":true,
"sliceStartTime":1562724971626
}
],
"uploadingStatus":"uploaded"
}
}
{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"extensionServiceState":[
{
"payload":{
"fileList":[
{
"filename":"432efaf2144e051bb32fb490db89c462_httpClient463224.m3u8",
"sliceStartTime":1562724971626
}
],
"onhold":false,
"state":"exit"
},
"serviceName":"web_recorder_service"
},
{
"payload":{
"uploadingStatus":"uploaded"
},
"serviceName":"upload_service"
}
]
}
}
{
"resourceId":"JyvK8nXHuV1BE64GDkAaBGEscvtHW7v8BrQoRPCHxmeVxwY22-x-kv4GdPcjZeMzoCBUCOr9q-k6wBWMC7SaAkZ_4nO3JLqYwM1bL1n6wKnnD9EC9waxJboci9KUz2WZ4YJrmcJmA7xWkzs_L3AnNwdtcI1kr_u1cWFmi9BWAWAlNd7S7gfoGuH0tGi6CNaOomvr7-ILjPXdCYwgty1hwT6tbAuaW1eqR0kOYTO0Z1SobpBxu1czSFh1GbzGvTZG",
"sid":"38f8e3cfdc474cd56fc1ceba380d7e1a",
"serverResponse":{
"extensionServiceState":[
{
"payload":{
"fileList":[
{
"filename":"432efaf2144e051bb32fb490db89c462_httpClient463224.m3u8",
"sliceStartTime":1562724971626
},
{
"filename":"432efaf2144e051bb32fb490db89c462_httpClient463224_0.mp4",
"sliceStartTime":1562724971626
}
],
"onhold":false,
"state":"exit"
},
"serviceName":"web_recorder_service"
},
{
"payload":{
"uploadingStatus":"uploaded"
},
"serviceName":"upload_service"
}
]
}
}