# 录播直播

# 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
}