2.1. 媒体 REST API¶
2.1.1. 版本信息¶
v1.0.5, 2017/05/11
2.1.2. 接入和授权¶
请求说明: GET http://xx.yy.zz:8080/rtc/auth/valid HTTP/1.1
接口描述: MCU对客户端进行认证
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_key | String | 是 | 平台赋予客户端的key |
digest | String | 是 | digest为按一定规则生成的串,规则说明如下:
|
返回说明:
http 响应:json
{
"ret": 0,
"random": "random",
"key": "key"
}
access_token计算规则: access_token = base64(hash_hmac(random:key, secret_key))
主要返回码: 0,401,504
2.1.3. 创建房间¶
请求说明: GET http://xx.yy.zz:8080/rtc/room/create HTTP/1.1
接口描述: 创建房间
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
topic | String | 是 | 房间主题,小于150字节 |
owner_id | String | 是 | 房间创建者ID |
room_mode | enum | 是 |
|
host_password | String | 否 | 主持人密码,如果加入房间时密码和主持人密码那边用户的角色为主持人 |
max_video | Number | 否 | 房间最大视频数 |
max_audio | Number | 否 | 房间最大音频数 |
attendee_max | Number | 否 | 房间最大人数 |
room_extend_id | String | 否 | 需要保证唯一最好是UUID,否则创建房间有可能失败,room_id和room_extend_id为同一个值 |
返回说明:
http 响应:json
{
"ret": 0,
"room_id": "room_id"
}
room_id为房间号
主要返回码: 0,407,602,700
2.1.4. 根据房间号获取房间信息¶
请求说明: GET http://xx.yy.zz:8080/rtc/room/get HTTP/1.1
接口描述: 根据房间号获取房间
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
room_id | String | 是 | 房间号 |
返回说明:
http 响应:json
{
"ret": 0,
"id": 1,
"room_id": "room_id",
"topic": "topic",
"room_status": 0,
"owner_id": "owner_id",
"host_password": "host_password",
"attendee_max": "attendee_max",
"max_audio": "max_audio",
"max_video": "max_video",
"room_extend_id": "room_extend_id",
"room_mode": "room_mode"
}
主要返回码: 0,404,602
2.1.5. 删除房间¶
请求说明: GET http://xx.yy.zz:8080/rtc/room/del HTTP/1.1 接口描述: 根据房间号获取房间
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
room_id | String | 是 | 房间号 |
http 响应:json
{
"ret": 0,
"room_id": "room_id"
}
主要返回码: 0,404,602
2.1.6. 获取房间mcu地址¶
请求说明: GET http://xx.yy.zz:8080/sdk/get_mcu HTTP/1.1
接口描述: 根据房间号获取房间
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
room_id | String | 是 | 房间号 |
http 响应:json
{
"ret": 0,
"addr": "addr"
}
主要返回码: 0,407,410,411
2.1.7. 根据房间号获取房间信息¶
请求说明: GET http://xx.yy.zz:8080/rtc/room/get_room_info HTTP/1.1
接口描述: 根据房间号获取房间
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
room_id | String | 是 | 房间号 |
http 响应:json
{
"ret": 0,
"user_list": [
{
"user_name": "ming15",
"user_id": "2eba97ef-7f6b-4d5f-b196-800ef6983192"
}
]
}
主要返回码: 0,404,602
2.1.8. 强制房间中的用户下线¶
请求说明: GET http://xx.yy.zz:8080/rtc/force_offline_mcu HTTP/1.1
接口描述: 用户踢下线
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | String | 是 | 认证成功后根据规则生成的串 |
room_id | String | 是 | 房间号 |
user_id | String | 是 | 用户ID |
http 响应:json
{
"ret": 0,
"msg": “succ”,
}
主要返回码: 0,404,602,417,428
2.1.9. 错误码表¶
ret | 详细描述 |
---|---|
0 | 成功 |
401 | 认证失败 |
404 | 房间未找到 |
405 | licence过期 |
407 | 参数错误 |
408 | http请求不支持 |
409 | http内部超时 |
410 | 没有可用MCU |
411 | 超过最大licence |
504 | 超时 |
602 | access_token不正确 |
700 | 数据库错误 |
701 | 没有P2P权限 |
417 | MCU不在线 |
428 | 没有找到房间分配给了那个mcu |
429 | 用户不在线 |
416 | 房间被关闭 |