********************* 媒体 REST API ********************* 版本信息 ======================= v1.0.5, 2017/05/11 接入和授权 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/auth/valid HTTP/1.1 接口描述: MCU对客户端进行认证 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_key", "String", "是","平台赋予客户端的key" "digest", "String", "是","digest为按一定规则生成的串,规则说明如下: base64(hash_hmac(access_key,secret_key), secret_key为平台赋予客户端和access_key匹配的串,用于安全认证 " 返回说明: .. code:: json http 响应:json { "ret": 0, "random": "random", "key": "key" } access_token计算规则: access_token = base64(hash_hmac(random:key, secret_key)) 主要返回码: 0,401,504 创建房间 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/room/create HTTP/1.1 接口描述: 创建房间 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "topic", "String", "是","房间主题,小于150字节" "owner_id", "String", "是","房间创建者ID" "room_mode", "enum", "是"," 1:mcu自由模式 2:mcu主持人模式 3: P2P自由模式 4: P2P主持人模式 目前1,2的逻辑基本一致的,3,4用于P2P的方式 " "host_password", "String", "否","主持人密码,如果加入房间时密码和主持人密码那边用户的角色为主持人" "max_video", "Number", "否","房间最大视频数" "max_audio", "Number", "否","房间最大音频数" "attendee_max", "Number", "否","房间最大人数" "room_extend_id", "String", "否","需要保证唯一最好是UUID,否则创建房间有可能失败,room_id和room_extend_id为同一个值" 返回说明: .. code:: json http 响应:json { "ret": 0, "room_id": "room_id" } room_id为房间号 主要返回码: 0,407,602,700 根据房间号获取房间信息 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/room/get HTTP/1.1 接口描述: 根据房间号获取房间 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "room_id", "String", "是","房间号" 返回说明: .. code:: json 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 删除房间 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/room/del HTTP/1.1 接口描述: 根据房间号获取房间 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "room_id", "String", "是","房间号" .. code:: json http 响应:json { "ret": 0, "room_id": "room_id" } 主要返回码: 0,404,602 获取房间mcu地址 ======================= 请求说明: GET http://xx.yy.zz:8080/sdk/get_mcu HTTP/1.1 接口描述: 根据房间号获取房间 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "room_id", "String", "是","房间号" .. code:: json http 响应:json { "ret": 0, "addr": "addr" } 主要返回码: 0,407,410,411 根据房间号获取房间信息 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/room/get_room_info HTTP/1.1 接口描述: 根据房间号获取房间 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "room_id", "String", "是","房间号" .. code:: json http 响应:json { "ret": 0, "user_list": [ { "user_name": "ming15", "user_id": "2eba97ef-7f6b-4d5f-b196-800ef6983192" } ] } 主要返回码: 0,404,602 强制房间中的用户下线 ======================= 请求说明: GET http://xx.yy.zz:8080/rtc/force_offline_mcu HTTP/1.1 接口描述: 用户踢下线 .. csv-table:: :header: "参数", "类型", "必须", "说明" :widths: 30, 30, 20, 60 "access_token", "String", "是","认证成功后根据规则生成的串" "room_id", "String", "是","房间号" "user_id", "String", "是","用户ID" .. code:: json http 响应:json { "ret": 0, "msg": “succ”, } 主要返回码: 0,404,602,417,428 错误码表 ======================= .. csv-table:: :header: "ret", "详细描述" :widths: 20, 60 "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", "房间被关闭"