双师对接流程
排课相关接口
创建直播间
描述:创建直播间,认证方式为接口认证时,具体规则详见 接口验证
地址:
https://ccapi.csslcloud.net/api/room/create
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
name | 字符串 | 直播间名称 长度限制 <= 100 (不支持表情符) | 必须 |
room_type | 整型 | 房间类型 2:小班课 | 必须 |
publisher_authtype | 整型 | 老师认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1 |
publisherpass | 字符串 | 老师端密码 长度限制 <= 256 | 当认证方式为免密码,则该参数可选(默认为开发者账号ID),其余情况必填, 当认证方式为接口认证时,此处填写接口认证地址 |
assist_switch | 整型 | 助教开关 0: 关闭 1:开启 | 可选, 默认关闭 |
assist_authtype | 字符串 | 助教认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1,当assist_switch=1时此字段生效 |
assist_pass | 字符串 | 助教端密码 长度限制 <= 256 | 可选,默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址,当assist_switch=1时此字段生效 |
audience_authtype | 整型 | 旁听认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1 |
audience_pass | 字符串 | 旁听密码 长度限制 <= 256 | 可选, 默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址 |
talker_authtype | 整型 | 互动学员认证方式 0:接口验证 1: 密码 2:免密码 3:白名单 | 可选, 默认为为1 |
talker_pass | 字符串 | 互动学员认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址 |
inspector_authtype | 整型 | 隐身者认证方式 0:接口验证 1: 密码 2:免密码 | 可选, 默认为为1 |
inspector_pass | 字符串 | 隐身者认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID, 认证方式为接口认证时,此处填写接口认证地址 |
viewer_authtype | 整型 | 分流回放登录认证方式 0:接口验证 1: 密码 2:免密码 | 可选, 默认为为1 |
viewer_pass | 字符串 | 分流回放登录认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID, 认证方式为接口认证时,此处填写接口认证地址 |
white_list | 字符串 | 如果互动学员开启了白名单,则此处填写json化的用户名/密码,如 "{"user": "123"}" | 可选 |
desc | 字符串 | 直播间简介 长度限制 <= 10000 (不支持表情符) | 可选 |
templatetype | 整型 | 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 16:线下双师模式 32:置顶模式 默认为1 | 可选,默认为1,注:当该参数为32时为组件化新版课堂模式需要配合layout_mode参数使用 |
mergetype | 整型 | 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式 4:共享视频模(该模式下:分辨率 1920*1080 帧率 25 码率 800K为固定值 ) | 可选, 默认为1 |
max_streams | 整型 | 互动人数上限(实际连麦人数), 不能超过账户允许上限 | 可选, 默认为开发者账号最高连麦数上限 |
video_mode | 整型 | 连麦音视频模式 1:音视频 2.仅音频 | 可选, 默认为1 |
talker_bitrate | 整型 | 学生端码率 不超2000 | 可选, 默认为200 |
publisher_bitrate | 整型 | 老师端码率 不超2000 | 可选, 默认为200 |
classtype | 整型 | 连麦模式 1:点名 2:自由 3:自动 | 可选, 默认为1 |
presenter_out | 布尔型 | 非直播状态下踢出老师(直播中踢出无效) | 可选, 默认为false |
light_mark | 整型 | 跑马灯 0: 关闭 1: 开启 | 可选, 默认为0 |
show_exit | 整型 | 页面是否 显示退出按钮 0:隐藏 1:显示 | 可选, 默认为1 |
ppt_support | 布尔型 | 是否支持ppt动效 | 可选, 默认为false |
ppt_display | 布尔型 | ppt显示样式 0: 适应窗口 1: 适应宽度 | 可选, 默认为0 |
screen_lock | 整型 | 桌面锁屏 0:未开通 1:开通 2:开启 3:关闭 | 可选, 默认为0 |
desktop_audio | 整型 | 桌面分享声音 0: 关闭 1: 开启 | 可选, 默认关闭 |
manual_record | 整型 | 手动录制 0: 关闭 1: 开启 | 可选, 默认关闭 |
record_bitrate | 整型 | 回放清晰度 速度优先:500 画质优先:0 | 可选, 默认速度优先 |
warm_open | 字符串 | 暖场视频 '0': 关闭, '1': 开启 | 可选, 默认关闭 |
helper_switch | 整型 | 直播助手开关 0: 关闭 1:开启 | 可选, 默认关闭 |
record_switch | 整型 | 录屏助手开关 0: 关闭 1:开启 | 可选, 默认关闭 |
schedule_switch | 整型 | 是否设置预定直播 0: 关闭 1:开启 | 可选, 默认关闭 |
schedule_live_start | 字符串 | 预定直播开始时间,此参数只做展示用 | 可选 |
schedule_live_end | 字符串 | 预定直播结束时间,此参数只做展示用 | 可选 |
brush_save_display | 整型 | 控制web是否显示画笔保存按钮,1:开启,0: 关闭 | 可选, 默认开启 |
share_desktop_display | 整型 | 控制web是否显示桌面共享,1:开启,0: 关闭 | 可选, 默认开启 |
layout_mode | 整型 | 0:1vN 1:1v1(16:9) 2:1V1(4:3) templatetype为32时,此值有意义 | 可选, 默认为0, 0为新版课堂1vN模式,1为新课堂1v1(16:9)模式,2为新课堂1v1(4:3)模式 |
toolbox_switch | 字符串 | 工具箱功能设置:对应1.桌面共享,2.答题卡,3.点名,4.头脑风暴,5.投票,6.计数器,7.循环连麦,8.辅助摄像头,9.批量上麦 | 可选, 默认全部开启 "1,2,3,4,5,6,7,8,9",例:只开启桌面共享与点名则填写:"1,3" |
allow_all_presenter_role | 整型 | 允许Web端学员拥有讲师权限 0: 关闭 1:开启 | 可选, 默认关闭 |
background_id | 整型 | 背景图片id 仅templatetype为32时有效 background_id获取:创建图片 | 可选,默认1 |
version_control_type | 整型 | 是否指定房间版本 1: 不指定(跟随系统), 2: 指定版本 | 可选, 默认为1, 该字段只有当templatetype=32时生效 |
version_control_id | 字符串 | 版本控制id 通过获取版本信息列表获取 | 可选( version_control_type为2时必传),该字段只有当templatetype=32时生效 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"roomid": "123" # 新创建房间的id
}
}
注意:templatetype = 6,连麦方式:自动连麦,classtype=3,回放布局:mergetype 建议 3
更新直播间
描述:更新直播间,认证方式为接口认证时,具体规则详见 接口验证
地址:
https://ccapi.csslcloud.net/api/room/update
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 | |
---|---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 | |
live_roomid | 字符串 | 房间ID | 必须 | |
name | 字符串 | 直播间名称 (不支持表情符) | 可选 | |
publisher_authtype | 整型 | 老师认证方式 0:接口验证 1:密码 2:免密码 | 可选 | |
publisherpass | 字符串 | 老师端密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 | |
assist_switch | 整型 | 助教开关 0: 关闭 1:开启 | 可选 | |
assist_authtype | 字符串 | 助教认证方式 0:接口验证 1:密码 2:免密码 | 可选, 当assist_switch=1时此字段生效 | |
assist_pass | 字符串 | 助教端密码 长度限制 <= 256 | 可选,认证方式为接口认证时,此处填写接口认证地址 当assist_switch=1时此字段生效 | |
audience_authtype | 整型 | 旁听认证方式 0:接口验证 1:密码 2:免密码 | 可选 | |
audience_pass | 字符串 | 旁听密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 | |
talker_authtype | 整型 | 互动学员认证方式 0:接口验证 1: 密码 2:免密码 3:白名单 | 可选 | |
talker_pass | 字符串 | 互动学员认证密码, 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 | |
inspector_authtype | 整型 | 隐身者认证方式 0:接口验证 1: 密码 2:免密码 | 可选 | |
inspector_pass | 字符串 | 隐身者认证密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 | |
viewer_authtype | 整型 | 分流回放登录认证方式 0:接口验证 1: 密码 2:免密码 | 可选 | |
viewer_pass | 字符串 | 分流回放登录认证密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 | |
white_list | 字符串 | 如果互动者开启了白名单,则此处填写json化的用户名/密码,如 "{"user": "123"}" | 可选 | |
desc | 字符串 | 直播间简介 长度限制 <= 10000 (不支持表情符) | 可选 | |
templatetype | 整型 | 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 16:线下双师模式 32:置顶模式 默认为1 | 可选 | |
mergetype | 整型 | 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式 4:共享视频模(该模式下:分辨率 1920*1080 帧率 25 码率 800K为固定值 ) | 可选 | |
max_streams | 整型 | 互动人数上限, 不能超过开通人数上限 | 可选 | |
video_mode | 整型 | 连麦音视频模式 1:音视频 2.仅音频 | 可选 | |
publisher_bitrate | 整型 | 老师端码率 不超2000 | 可选 | |
talker_bitrate | 整型 | 学生端码率 不超2000 | 可选 | |
audio_bitrate | 整型 | 音频码率 默认为50 | 可选 | |
classtype | 整型 | 连麦模式 1:点名 2:自由 3:自动 | 可选 | |
is_follow | 字符串 | 是否跟随主视角模式,是: 传主视角userId 否:传空串 | 可选 | |
allow_chat | 布尔型 | 是否允许发言 房间级配置 | 可选 | |
allow_audio | 布尔型 | 是否允许使用麦克风 房间级配置 | 可选 | |
allow_speak | 布尔型 | 是否允许上麦 房间级配置 | 可选 | |
presenter_out | 布尔型 | 非直播状态下踢出老师(直播中踢出无效) | 可选 | |
ppt_support | 布尔型 | 是否支持ppt | 可选 | |
ppt_display | 布尔型 | ppt显示样式 0: 适应窗口 1: 适应宽度,默认为0 | 可选 | |
light_mark | 整型 | 跑马灯 0: 关闭 1: 开启 | 可选 | |
show_exit | 整型 | 整型 页面是否 显示退出按钮, 0: 隐藏 1:显示 | 可选 | |
desktop_audio | 整型 | 桌面分享声音 0: 关闭 1: 开启, 默认为0 | 可选 | |
manual_record | 整型 | 手动录制 0: 关闭 1: 开启, 默认为0 | 可选 | |
record_bitrate | 整型 | 回放清晰度 速度优先:500 画质优先:0,默认速度优先 | 可选 | |
warm_open | 字符串 | 暖场视频 '0': 关闭, '1': 开启 | 可选 | |
helper_switch | 整型 | 直播助手开关 0: 关闭 1:开启 | 可选 | |
record_switch | 整型 | 录屏助手开关 0: 关闭 1:开启 | 可选 | |
schedule_switch | 整型 | 是否设置预定直播 0: 关闭 1:开启 | 可选 | |
schedule_live_start | 字符串 | 预定直播开始时间,此参数只做展示用 | 可选 | |
schedule_live_end | 字符串 | 预定直播结束时间,此参数只做展示用 | 可选 | |
brush_save_display | 整型 | 控制web是否显示画笔保存按钮 1:开启,0: 关闭 | 可选 | |
share_desktop_display | 整型 | 控制web是否显示桌面共享 1:开启,0: 关闭 | 可选 | |
layout_mode | 整型 | 0:1vN 1:1v1(16:9) 2:1V1(4:3) templatetype为32时,此值有意义 | 可选 | |
toolbox_switch | 字符串 | 工具箱功能设置:对应1.桌面共享,2.答题卡,3.点名,4.头脑风暴,5.投票,6.计数器,7.循环连麦,8.辅助摄像头,9.批量上麦 | 可选, 例: 全部开启 "1,2,3,4,5,6,7,8,9" 只开启桌面共享与点名 "1,3" | 可选| |
allow_all_presenter_role | 整型 | 允许Web端学员拥有讲师权限,0: 关闭 1:开启 | 可选 | |
background_id | 整型 | 背景图片id 仅templatetype为32时有效 background_id获取:创建图片 | 可选,默认1 | |
version_control_type | 整型 | 是否指定房间版本 1: 不指定(跟随系统), 2: 指定版本 | 可选, 默认为1, 该字段只有当templatetype=32时生效 | |
version_control_id | 字符串 | 版本控制id 通过获取版本信息列表获取 | 可选( version_control_type为2时必传),该字段只有当templatetype=32时生效 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
}
获取房间信息
描述:
获取房间信息
地址:
https://ccapi.csslcloud.net/api/room/room_detail
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"result": 'OK', # 失败: FAIL,成功:OK
"data": {
"allow_audio": true, # 是否允许使用麦克风 房间级配置
"allow_chat": true, # 是否允许发言 房间级配置
"allow_speak": true, # 是否允许上麦 房间级配置
"atlas_roomid": "5b0ebc15df4b74399dae0d26",
"audience_authtype": 1, # 旁听认证方式 0:接口验证 1:密码 2:免密码
"audience_pass": "123", # 旁听密码
"audience_url": "https://view.csslcloud.net/api/view/index?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 旁听登录链接url 暂不支持templatetype为32时的房间
"audio_bitrate": 50, # 音频码率
"calltimeout": 10,
"classtype": 2, # 连麦模式 1:点名 2:自由 3:自动
"clear_cache": 0,
"closetime": null, # 房间关闭时间
"createtime": "2018-05-30", # 房间创建时间
"desc": "<p>1231321</p>", # 房间描述
"id": 22692,
"is_follow": "", # 是否跟随 主视角模式下 是:streamid 否:空字符
"light_mark": 0, # 跑马灯 0: 关闭 1: 开启
"live_roomid": "45CC92144D46FEAA9C33DC5901307461", # 房间ID
"live_status": 0, # 直播状态 1:直播中 0:未直播
"max_streams": 7, # 最大连麦人数
"max_users": 1000, # 最大支持人数
"mergetype": 2, # 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式
"name": "1232", # 直播间名称
"platform": 1, # 平台 1:web 2:android 3:ios
"ppt_support": false, # 是否支持ppt
"presenter_out": false, # 非直播状态下踢出老师
"presenter_url": "https://class.csslcloud.net/index/presenter/?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 老师登录链接URL
"publisher_bitrate": 200, # 老师端码率
"publisherpass": "123", # 老师端密码
"recordstudent": 1,
"room_type": 2, # 房间类型 1:视频群聊 2:小班课
"roomid": "45CC92144D46FEAA9C33DC5901307461", # 房间ID
"screen_lock": 0, # 锁屏相关 0:开通 1:未开通 2:开启 3:关闭
"show_exit": 1, # 页面是否 显示退出按钮 0:隐藏 1:显示
"status": 10, # 房间状态 10 开启 20 关闭
"talker_authtype": 1, # 互动者认证方式 0:url验证 1:密码验证 2:免密码
"talker_bitrate": 200, # 互动者码率
"talker_pass": "123", # 互动者登录密码
"talker_url": "https://class.csslcloud.net/index/talker/?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 互动者登录链接URL
"templatetype": 1, # 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 32:置顶模式
"userid": "83F203DAC2468694", # 开发者账号ID
"video_mode": 1, # 连麦音视频模式 1:音视频 2.仅音频
"video_zoom": "", # 视频点击放大 流ID
"white_list": null # 互动者白名单
}
}
获取登录Sessionid
描述:
获取登录sessionid(客户端初始化sdk时传入的sessionid)
地址:
https://ccapi.csslcloud.net/api/room/create/sessionid
方法
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
name | 字符串 | 登录名(最大不能超过50,不支持!:/!:|]等特殊字符) | 必须 |
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
password | 字符串 | 登录密码 | 可选 |
role | 字符串 | 角色 '0':老师 '1':互动 '2':旁听 '3': 隐身者 '4': 助教 | 必须 |
client | 字符串 | 客户端类型 0:web端 1:移动端 | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"sessionid": "123" # 生成的sessionid
"userid": "123" # 生成的登录用户ID
}
}
客户端下载&启动方式
下载或更新
方式1:离线获取,由CC售后离线提供下载包
方式2:在线地址获取,点击下载
客户端网页唤起
方式1(推荐使用):
参见获取房间登录链接
如若需要自动登录,参见获取房间自动登录链接
方式2:
讲师唤起方式:
classclient://class.csslcloud.net/index/presenter/?roomid=${query.roomid}&userid=${query.userid}&role=${query.role}&template=6&username=${query.username}&password=${query.password}
学生唤起方式:
classclient://class.csslcloud.net/index/talker/?roomid=${query.roomid}&userid=${query.userid}&role=${query.role}&template=6&username=${query.username}&password=${query.password}
回放获取
方式1(推荐使用):
- 通过接口获取合流回放列表
描述:
通过该接口可以分页获取回放列表的信息
地址:
https://api.csslcloud.net/api/v2/record/info
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
roomid | 字符串 | 直播间id | 必须 |
userid | 字符串 | 开发者账号ID | 必须 |
pagenum | 整型 | 每页显示的个数 | 可选,系统默认值为50 |
pageindex | 整型 | 页码 | 可选,系统默认值为1 |
starttime | 字符串 | 查询起始时间,如需按时间范围查询可添加该参数和下面的endtime参数,该查询是按直播的开始时间作为查询条件的 | 可选,如果填写该参数则endtime参数必填;精确到分钟,例:"2015-01-01 12:30" |
endtime | 字符串 | 查询截止时间 | 可选,如果填写该参数则starttime必填;精确到分钟,例:"2015-01-02 12:30" |
liveid | 字符串 | 直播id | 可选,将只查询该直播下的回放信息 |
返回示例:
{
"result" : "OK", # 请求是否成功。OK:成功;FAIL:失败
"count" : "100", # 回放总数
"pageIndex" : "1", # 页码
"records" : [ # 回放列表信息
{
"id" : "753C612EB38A8D5A", # 回放id
"liveId" : "853C612EB38A8D5A", # 直播id
"startTime" : "2015-01-01 00:00:00", # 开始时间
"stopTime" : "2015-01-01 23:00:00", # 结束时间
"recordStatus": 1, # 录制状态,0表示录制未结束,1表示录制完成
"recordVideoId" : "953C612EB38A8D5A", # 录制视频id,如果recordStatus为0则返回-1
"replayUrl" : "http://xxx", # 回放地址,当recordStatus为0时返回""
"offlinePackageUrl" : "http://yyy", # 离线包下载地址,注:只有开通离线播放权限才会返回该参数
"offlinePackageMd5" : "xxxxxdddddddddddddddddddddddddddd" # 离线包md5,注:只有开通离线播放权限才会返回该参数
},
...
]
}
方式2:
- 第一步:配置回放录制回调接口,操作路径为:云直播-回调设置,勾选直播录制并配置回调地址
- 第二步:通过回调信息,获取回放视频ID(recordVideoId) 参见文档 直播回调直播录制回调参数说明
- 第三步:通过视频id调用 获取视频播放代码接口获取播放地址取视频播放代码接口获取播放地址