# 录播直播
# 1 开启录播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/startRecord/{appId}/{channelName} | POST | 开启录播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | channelName |
RequestBody: Content-Type="application/json;charset=utf8"
参数 | 描述 |
---|---|
streamId | 必填,音视频流ID |
vrecordType | 必填,录制类型(固定字符串,"all"表示录制音频和视频,"video"表示只录制视频,"audio"表示只录制音频) |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/startRecord/5f9105ce7255ff666a9109d7/123
请求JSON数据:
{
"streamId":"5f5700276736dc5f76ba5120-common",
"vrecordType":"all"
}
响应:
{
"msg": "操作成功",
"code": 200,
"data": {
"id": "371255978592403900",
"recordStatus": "starting",
"host": "1.1.1.51",
"fileDir": "2020/11/19/15/22/5fb218e0dbf6fd19c417aae9/371255978592403900/",
"startAt": 1605770565210
}
}
# 2 关闭录播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/stopRecord/{appId}/{channelName}/{recordId} | POST | 关闭录播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | channelName |
recordId | 录播Id |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/stopRecord/5f9105ce7255ff666a9109d7/123/587283355790348500
请求JSON数据:
{}
响应:
{
"msg": "操作成功",
"code": 200,
"data": {
"recordStatus": "transcoding",
"fileSize": 9687915,
"id": "587283355790348500",
"endAt": 1616487148482
}
}
# 3 删除录播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/deleteRecord/{appId}/{channelName}/{recordId} | POST | 删除录播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | channelName |
recordId | 录播Id |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/deleteRecord/5f9105ce7255ff666a9109d7/5f5700276736dc5f76ba5120/437225873988872100
请求JSON数据:
响应:
{
"msg": "ok",
"code": 200
}
# 4 查询录播
# 4.1 查询录播列表
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/record/{appId}/{channelId} | GET | 查询录播列表 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelId | channelId |
Parameters:
参数 | 长度 | 描述 |
---|---|---|
pageNum | 可选,第N页(默认0),从0开始 | |
pageSize | 可选,每页记录数(默认10),最大值1000 | |
hostname | 可选,ip地址或域名,当前paas的uri的location.hostname |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[GET] https://192.168.2.251/client/api/v1/channel/record/5f9105ce7255ff666a9109d7/5f5700276736dc5f76ba5120
响应:
{
"total": 3,
"rows": [
{
"searchValue": null,
"createBy": "",
"createTime": "2021-03-24 09:31:31",
"updateBy": "",
"updateTime": "2021-03-24 09:31:30",
"remark": null,
"params": {},
"id": "350432131281171600",
"appId": "6049918708d16a6654b849cb",
"channelId": "605854f15da9c938c7a0cc57",
"channelName": "222",
"host": "127.0.0.1",
"fileDir": "2021/3/24/9/30/605854f15da9c938c7a0cc57/350432131281171600/",
"fileSize": 0,
"status": "starting",
"startTime": "2021-03-24 09:30:46",
"stopTime": null,
"timelength": null,
"userId": 1,
"audioStreamId": null,
"videoStreamId": null,
"prefix": "31302e31302e3132302e323136",
"mp4": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/30/605854f15da9c938c7a0cc57/350432131281171600//350432131281171600.mp4",
"mp3": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/30/605854f15da9c938c7a0cc57/350432131281171600//350432131281171600.mp3",
"m3u8": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/30/605854f15da9c938c7a0cc57/350432131281171600//350432131281171600.m3u8"
},
{
"searchValue": null,
"createBy": "",
"createTime": "2021-03-24 09:25:44",
"updateBy": "",
"updateTime": "2021-03-24 09:26:29",
"remark": null,
"params": {},
"id": "160228697953717100",
"appId": "6049918708d16a6654b849cb",
"channelId": "605854f15da9c938c7a0cc57",
"channelName": "222",
"host": "127.0.0.1",
"fileDir": "2021/3/24/9/25/605854f15da9c938c7a0cc57/160228697953717100/",
"fileSize": 864210,
"status": "transcoding",
"startTime": "2021-03-24 09:25:44",
"stopTime": "2021-03-24 09:26:29",
"timelength": null,
"userId": 1,
"audioStreamId": null,
"videoStreamId": null,
"prefix": "31302e31302e3132302e323136",
"mp4": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/25/605854f15da9c938c7a0cc57/160228697953717100//160228697953717100.mp4",
"mp3": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/25/605854f15da9c938c7a0cc57/160228697953717100//160228697953717100.mp3",
"m3u8": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/24/9/25/605854f15da9c938c7a0cc57/160228697953717100//160228697953717100.m3u8"
},
{
"searchValue": null,
"createBy": "",
"createTime": "2021-03-23 16:03:54",
"updateBy": "",
"updateTime": "2021-03-23 16:12:28",
"remark": null,
"params": {},
"id": "587283355790348500",
"appId": "6049918708d16a6654b849cb",
"channelId": "605854f15da9c938c7a0cc57",
"channelName": "222",
"host": "127.0.0.1",
"fileDir": "2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500/",
"fileSize": 9687915,
"status": "transcoding",
"startTime": "2021-03-23 16:03:54",
"stopTime": "2021-03-23 16:12:28",
"timelength": null,
"userId": 1,
"audioStreamId": null,
"videoStreamId": null,
"prefix": "31302e31302e3132302e323136",
"mp4": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.mp4",
"mp3": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.mp3",
"m3u8": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.m3u8"
}
],
"code": 200,
"msg": "查询成功"
}
# 4.2 查询录播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/record/{recordId} | GET | 查询录播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
recordId | 录播ID |
Parameters:
参数 | 长度 | 描述 |
---|---|---|
hostname | 可选,ip地址或域名,当前paas的uri的location.hostname |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[GET] https://192.168.2.251/client/api/v1/channel/record/160228697953717100
响应:
{
"msg": "操作成功",
"code": 200,
"data": {
"searchValue": null,
"createBy": "",
"createTime": "2021-03-23 16:03:54",
"updateBy": "",
"updateTime": "2021-03-23 16:12:28",
"remark": null,
"params": {},
"id": "587283355790348500",
"appId": "6049918708d16a6654b849cb",
"channelId": "605854f15da9c938c7a0cc57",
"channelName": "222",
"host": "127.0.0.1",
"fileDir": "2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500/",
"fileSize": 9687915,
"status": "transcoding",
"startTime": "2021-03-23 16:03:54",
"stopTime": "2021-03-23 16:12:28",
"timelength": null,
"userId": 1,
"audioStreamId": null,
"videoStreamId": null,
"prefix": "31302e31302e3132302e323136",
"mp4": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.mp4",
"mp3": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.mp3",
"m3u8": "https://192.168.1.125:443/stream/31302e31302e3132302e323136/2021/3/23/16/3/605854f15da9c938c7a0cc57/587283355790348500//587283355790348500.m3u8"
}
}
# 5 开启直播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/startLive/{appId}/{channelName} | POST | 开启直播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | channelName |
RequestBody: Content-Type="application/json;charset=utf8"
参数 | 描述 |
---|---|
url | 必填,直播的url |
audioStreamId | 必填,音频流ID |
videoStreamId | 必填,视频流ID |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/startLive/5f9105ce7255ff666a9109d7/5f5700276736dc5f76ba5120
请求JSON数据:
{
"url":"rtmp://10.20.20.106/live/test2",
"audioStreamId":"257152344473509760",
"videoStreamId":"257152344473509760"
}
响应:
{
"msg": "操作成功",
"code": 200,
"data": {
"id": "717519666388410900",
"url": "rtmp://10.20.20.106/live/test2"
}
}
# 6 关闭直播
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/stopLive/{appId}/{channelName}/{recordId} | POST | 关闭直播 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | 频道名称 |
streamId | 直播流ID |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/stopLive/5f9105ce7255ff666a9109d7/5f5700276736dc5f76ba5120/717519666388410900
请求JSON数据:
响应:
{
"msg": "操作成功",
"code": 200
}
# 7 直播导入在线媒体流
接口地址 | 方法 | 说明 |
---|---|---|
BaseUrl/api/v1/channel/insLive/{appId}/{channelName} | POST | 直播导入在线媒体流 |
PathVariable:
参数 | 长度 | 描述 |
---|---|---|
appId | 32位字符串 | 控制台中项目的APP ID(应用标识ID) |
channelName | 32位字符串 | 频道名称 |
RequestBody: Content-Type="application/json;charset=utf8"
参数 | 描述 |
---|---|
url | 必填,直播的url |
transportProtocol | 可选(udp,tcp),默认udp |
bufferSize | 选填,默认8192 |
响应状态码:
参数 | 描述 |
---|---|
200 | 成功 |
400 | 失败,参数错误或请求地址不存在 |
401 | 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。 |
500 | 系统内部错误 |
响应数据:
实例:
[POST] https://192.168.2.251/client/api/v1/channel/insLive/5f9105ce7255ff666a9109d7/123123
请求JSON数据:
{
"url": "rtmp://xxxxx"
}
响应:
{
"msg": "操作成功",
"code": 200
}