回放服务端API文档
概述
本文档主要提供直播回放相关操作的一些接口。接口都是通过计算签名(sign
)来鉴权。签名的计算方式同百家云直播服务端API文档。
注:百家云API仅提供基础数据,客户须将数据同步到自己数据库(DB)后,通过自己的数据库(DB)来实现业务需求。单个账号所有 openapi 接口 10s 内的请求不可超过 200 次,否则会触发请求频率限制导致请求失败,请设置合理的缓存机制降低接口调用频率
请求域名
以下接口请求地址中的${private_domin}
部分需要换成客户的专属域名,具体请参考 专属域名说明
服务端API接口
API 1 : 查询直播回放信息
【功能描述】
查询直播回放信息
【请求类型】
GET / POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getBasicInfo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
参数 |
类型 |
示例 |
描述 |
status |
int |
100 |
回放状态码 0:未录制 10:录制中 20:转码中 30:回放生成失败 100:回放生成成功。回放未生成的没有video_id等其它信息 |
video_id |
int |
123456 |
云端录制视频ID |
name |
string |
|
回放名称 |
length |
int |
3600 |
视频时长(单位为秒) |
total_size |
int |
1024000 |
回放视频大小 |
total_transcode_size |
int |
|
视频转码后文件总大小 |
total_ext_media_size |
int |
|
该回放相关的其他视频转码后的总大小(包括学生的视频和辅助摄像头视频) |
preface_url |
string |
|
回放视频封面地址 |
publish_status |
int |
|
视频屏蔽状态 1:未屏蔽 2:已屏蔽 |
create_time |
int |
|
回放生成时间 |
【返回示例】
{
"code": 0,
"data": {
"video_id": 153582,
"status": 100,
"name": "playback",
"total_size": 11353211,
"total_transcode_size": 86501231,
"preface_url": "http://img.gsxservice.com/00-upload/image-test/153582_622a01e29b25022bd603023bce796796_k8lHyY3z.jpg",
"length": 620,
"publish_status" : 1,
"create_time": "2017-09-26 16:38:11"
},
"msg": "",
"ts": 1511853895
}
API 2 : 获取回放列表
【功能描述】
获取回放列表,列表按回放的生成时间倒序排列。
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getList
【请求类型】
GET / POST
【请求参数】
参数 |
类型 |
是否必填 |
示例/默认值 |
描述 |
partner_id |
int |
是 |
123456 |
合作方用户名 |
product_type |
int |
是 |
0 |
1:教育直播,2,小班课,3:双师,4,企业直播 |
page |
int |
是 |
123456 |
页码,从1开始 |
page_size |
int |
是 |
123456 |
每一页返回的条数,不得超过1000 |
crop_video |
int |
否 |
0 |
是否返回 裁剪视频的回放,0:否 1:是 |
room_id |
int |
否 |
123456 |
教室号 |
timestamp |
int |
是 |
1460426400 |
当前时间,unix时间戳 |
sign |
string |
是 |
test123 |
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
playback_id |
int |
|
当前回放的唯一id |
total |
int |
|
总记录条数 |
list |
array |
|
回放信息的列表 |
room_id |
int |
|
回放教室号 |
session_id |
int |
|
回放序列号(只针对长期房间生成的多段回放有用) |
video_id |
int |
|
回放对应的视频的ID |
name |
string |
|
回放名称 |
status |
int |
|
回放视频的状态 10:生成中 20:转码中 30:转码失败 100:转码成功 |
create_time |
string |
|
回放生成时间 |
length |
int |
|
回放视频时长 |
total_transcode_size |
bigint |
|
回放视频总大小(包括原文件和转码后的文件) |
play_times |
int |
|
回放观看次数 |
play_url |
string |
|
回放WEB端观看地址 |
preface_url |
string |
|
回放视频封面地址 |
publish_status |
int |
|
视频屏蔽状态 1:未屏蔽 2:已屏蔽 |
version |
int |
|
裁剪版本,未裁剪为0 |
【响应示例】
{
"code": 0,
"data": {
"total": 2,
"list": [
{
"room_id": 17081558148393,
"playback_id": 123456,
"session_id": 0,
"video_id": 145058,
"name": "08月15日9点-新开的房间",
"status": 100,
"create_time": "2017-08-15 11:15:10",
"length": 2393,
"preface_url": "http://img.gsxservice.com/00-upload/image-test/145058_6d18d1e53ef4e710bea2b0870dacd501_zFHNXsIi.jpg",
"total_transcode_size": 388217885,
"play_url": "http://${private_domain}.at.baijiayun.com/web/playback/index?classid=17081558148393&token=zY1XA5xo-Ve9cWOOu4-mn6FRxkC1ILXXlymXVSvtUO9DcyShDCjSog",
"play_times": 0,
"publish_status" : 1,
"version" : 0
},
{
"room_id": 17080762326145,
"playback_id": 123456,
"session_id": 0,
"video_id": 143789,
"name": "测试用户听课时长",
"status": 100,
"create_time": "2017-08-08 08:40:09",
"length": 185,
"preface_url": "http://img.gsxservice.com/00-upload/image-test/143789_6044be938668879841fbbba9c7d4f000_iq20xsrv.jpg",
"total_transcode_size": 5155811,
"play_url": "http://${private_domain}.at.baijiayun.com/web/playback/index?classid=17080762326145&token=16-l26EWHR69cWOOu4-mnzLTLZYbipNslymXVSvtUO9DcyShDCjSog",
"play_times": 0,
"publish_status" : 1,
"version" : 0
}
]
},
"msg": "",
"ts": 1503480103
}
API 3 : 获取回放token
【功能描述】
获取回放的播放token,服务端获取token后传给客户端,客户端就可以使用该token播放视频
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getPlayerToken
【请求类型】
POST
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
房间号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
expires_in |
int |
是 |
|
过期时间,以秒为单位。如果传0则表示不过期 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
video_id |
int |
|
回放对应的视频ID |
token |
string |
|
回放播放token |
【响应示例】
{
"code": 0,
"data": {
"video_id": 123456,
"token": "AIEJAalkje-ekj39aflkj2"
},
"msg": "",
"ts": 1484288051
}
API 4 : 批量获取回放token
【功能描述】
批量获取回放token
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getPlayerTokenBatch
【请求类型】
POST
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_ids |
string |
是 |
|
短期房间传{room_id} ,长期房间传{room_id}-{session_id} ,多个回放用英文逗号分隔,如:17110879095169,1711087909231-201711281 |
expires_in |
int |
是 |
|
过期时间,以秒为单位。如果传0则表示不过期 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
token |
string |
abcedfe |
视频ID |
返回的data
中 key
为传入的教室号,value
为token
。 教室号不存在或未生成回放的不返回。
【响应示例】
{
"code": 0,
"data": {
"17110879095169": "NxVqFJqMpfG9cWOOu4-mn3MChaCQEgnRAL8hG0UFGeDqqwd7swoRQw",
"1711087909231-201711281": "NxVqFJqMpfG9cWOOu4-mn3MChaCQEgnRAL8hG0UFGeDqqwd7swoRQw"
},
"msg": "",
"ts": 1511838752
}
API 5 : 获取长期房间云录制的序列号列表
【功能描述】
该接口用于获取一个长期直播间云录制里所有的序列号。
对于长期房间,云录制功能可以将一个直播间录制成多个回放。每个回放对应的房间号相同,但有不同的序列号。
播放回放时,可通过教室号+序列号来播放。
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getSessionList
【请求类型】
POST
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
房间号 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
session_id |
int |
|
回放的序列号 |
video_id |
int |
|
回放的视频的ID |
name |
string |
|
回放名称 |
status |
int |
|
回放的状态 0:未录制 10:录制中 20:转码中 30:转码失败 100:转码成功 |
publish_status |
int |
|
回放的发布状态 1:未屏蔽 2:已屏蔽 |
length |
int |
|
回放时长,单位秒 |
total_transcode_size |
int |
|
视频转码后文件总大小 |
preface_url |
string |
|
封面地址 |
play_url |
string |
|
播放地址 |
create_time |
int |
|
回放的生成时间 |
【响应示例】
{
"code": 0,
"data": {
"total": 8,
"list": [
{
"session_id": 201801040,
"video_id": 10114051,
"name": "xypTest",
"status": 100,
"publish_status": 1,
"length": 3,
"total_transcode_size": 1829320,
"preface_url": "http://img.baijiayun.com/00-x-upload/image/10114051_9faa4d14edbab4f7a001168b258cee74_dpbFkjoK.jpg",
"play_url": "https://${private_domain}.at.baijiayun.com/web/playback/index?classid=17111060177043&session_id=201801040&token=erOLkVGeYRw3S3PxCaNttWLs6cl7Y2It5iLH6AehnW9rnTNFWfwJNQ",
"create_time": "2018-01-05 00:00:11"
},
{
"session_id": 201712280,
"video_id": 10040991,
"name": "xypTest",
"status": 100,
"publish_status": 1,
"length": 1216,
"total_transcode_size": 827459987,
"preface_url": "http://img.baijiayun.com/00-x-upload/image/10040991_1087fc28a23d97b2fc1d1aaa49a9d908_2kNLZFT5.jpg",
"play_url": "https://${private_domain}.at.baijiayun.com/web/playback/index?classid=17111060177043&session_id=201712280&token=G4ysyeUHHi83S3PxCaNttRb5e58iDTpH5iLH6AehnW9rnTNFWfwJNQ",
"create_time": "2017-12-29 00:00:11"
},
]
},
"msg": "",
"ts": 1514360037
}
API 6 : 获取指定回放视频观看记录
【功能描述】
该接口用于获取指定回放视频一段时间内的的详细播放记录,每次播放都会有一条记录。
注:用户在观看时有拖拽、倍速、暂停等操作,所以结束时间和开始时间的差值和观看时长可能不一致,这是正常现象,并不是数据错误
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/video_data/getPlaybackPlayRecord
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方 id |
room_id |
int |
是 |
|
回放教室号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
user_number |
int |
否 |
|
用户 id |
version |
int |
否 |
|
裁剪的版本号,取值正整数。默认主版本 |
start_time |
string |
是 |
|
查询起始时间,格式如:2017-09-08 00:30:00。 |
end_time |
string |
是 |
|
查询结束时间,格式如:2017-09-08 23:59:59。查询时间不能跨天 |
page |
int |
否 |
1 |
页码,从 1 开始,默认值是 1 |
page_size |
int |
否 |
100 |
每页获取的记录条数,默认 100,最大值不能超过 1000 |
timestamp |
int |
是 |
|
当前时间,unix 时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例 |
描述 |
total |
int |
100 |
总记录条数 |
guid |
string |
|
一次播放的唯一标志,32 位字符串;如果跨天观看,数据按天拆分 |
video_id |
int |
|
回放对应的视频 id |
user_name |
string |
|
用户名(需要客户在接入播放器的时候传入用户的信息) |
user_number |
int |
0 |
用户 number 号(需要客户在接入播放器的时候传入用户的信息) |
play_begin_time |
string |
2017-09-08 10:00:07 |
起始播放时间,格式如:2017-09-08 10:00:07 |
play_end_time |
string |
2017-09-08 10:10:07 |
结束播放时间,格式如:2017-09-08 10:00:07 |
play_length |
int |
|
实际观看时间,单位:秒 |
client_type |
int |
|
客户端类型 1:iphone 2:ipad 3:Android 4:手机 M 站 5:PC 网页 6:APP 内嵌 M 站 7:小程序 8:Android 小程序 9:iOS 小程序 0:未知 |
user_ip |
string |
|
用户 IP |
area |
string |
安徽 亳州 |
用户所在地域,格式如:省份 市。可能会为空 |
ext_data |
string |
|
自定义上报字段 |
【响应示例】
{
"code": 0,
"data": {
"total": 1,
"list": [
{
"guid": "00128569A70D778BAFB5216E5C7F4957",
"video_id": 130446,
"user_name": "",
"user_number": 0,
"play_begin_time": "2017-09-08 10:00:07",
"play_end_time": "2017-09-08 10:08:08",
"client_type": 0,
"play_length": 45,
"user_ip": "60.174.64.166",
"area": "安徽 亳州",
"ext_data":"64b0e41c4cf4a"
}
],
"page": 1,
"page_size": 100
},
"msg": "",
"ts": 1507606273
}
API 7 : 设置回放发布状态
【功能描述】
该接口用于设置回放的发布状态。默认情况下,回放转码成功后会自动发布。
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/setPublishStatus
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方id |
room_id |
int |
是 |
|
回放教室号 |
session_id |
int |
否 |
|
长期房间的序列号,普通房间不需要传 |
status |
int |
是 |
|
发布状态 1:发布 2:屏蔽 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
test123 |
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
status |
int |
|
发布状态 1:发布 2:屏蔽 |
【响应示例】
{
"code": 0,
"data": {
"status": 1
},
"msg": "",
"ts": 1502293140
}
API 8 : 删除回放
【功能描述】
删除回放
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/delete
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
version |
int |
否 |
|
版本号(针对裁剪回放才会用到) |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
返回code=0
表示删除成功,否则失败
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1511853895
}
API 9 : 更新回放信息
【功能描述】
更新回放视频信息
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/update
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
name |
string |
是 |
|
回放名称 |
preface |
file |
否 |
|
封面图片文件,类型为jpg/png |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
返回code=0
表示更新成功,否则失败
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1511853895
}
API 10 : 获取裁剪回放列表
【功能描述】
返回包含裁剪链接的回放列表
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getCropList
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
product_type |
int |
否 |
0 |
1:教育直播,2,小班课,3:双师,4,企业直播 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(默认0,长期房间必须传此值) |
page |
int |
否 |
1 |
页码,从1开始,默认值是1 |
page_size |
int |
否 |
100 |
每页获取的记录条数,默认100,最大值不能超过1000 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
total |
int |
|
总记录条数 |
list |
array |
|
回放信息的列表 |
room_id |
int |
|
回放教室号 |
session_id |
int |
|
回放序列号(只针对长期房间生成的多段回放有用) |
video_id |
int |
|
回放对应的视频的ID |
name |
string |
|
回放名称 |
status |
int |
|
回放视频的状态 10:生成中 20:转码中 30:转码失败 100:转码成功 |
create_time |
string |
|
回放生成时间 |
length |
int |
|
回放视频时长 |
total_transcode_size |
int |
|
回放视频总大小(包括原文件和转码后的文件) |
play_times |
int |
|
回放观看次数 |
play_url |
string |
|
回放WEB端观看地址 |
preface_url |
string |
|
回放视频封面地址 |
version |
int |
|
裁剪版本,未裁剪为0 |
version_type |
int |
|
版本类型,为0时是主版本 |
crop_url |
int |
|
前往回放裁剪的链接,当前不可裁剪的回放没有此返回值 |
publish_status |
int |
|
视频屏蔽状态 1:未屏蔽 2:已屏蔽 |
【响应示例】
{
"code": 0,
"data": {
"total": 2,
"list": [
{
"room_id": 18072333155594,
"session_id": 201807230,
"video_id": 218203,
"name": "长期房间移动端录制_副本1",
"status": 100,
"create_time": "2018-07-24 14:19:47",
"length": 49,
"preface_url": "http://test-img.baijiayun.com/00-upload/image-test/218203_76b249bac8a954b1c60411624eb5627c_6dBhQ0q2.jpg",
"total_transcode_size": 10111777,
"play_url": "http://www.baijiayun.com/web/playback/index?classid=18072333155594&token=bH5uArVa7EjyEhrqrxdVjQzErbmC2KmMaEiZZ-R9zilYCh9R2T5xpdRwkA17npCRYbKqxlOZi8gKp0fXMnVKLQ&session_id=201807230&version=1",
"play_times": 1,
"version": 1,
"version_type": 1,
"publish_status": 1
},
{
"room_id": 18072333155594,
"session_id": 201807230,
"video_id": 218142,
"name": "长期房间移动端录制",
"status": 100,
"create_time": "2018-07-24 09:50:10",
"length": 55,
"preface_url": "http://test-img.baijiayun.com/00-upload/image-test/218142_f224632707669dcd8376630e97e4351e_te6GwQTl.jpg",
"total_transcode_size": 12929344,
"play_url": "http://www.baijiayun.com/web/playback/index?classid=18072333155594&token=zHbBdtvOFjJAbtRXaO-EzgdVlXCrR59uO7OhVUMZYIO-cfC5CwtPh3yGdMQCYsPDy3FaU5ZR3PyMCTpCPak4Cg&session_id=201807230&version=0",
"play_times": 4,
"version": 0,
"version_type": 1,
"crop_url": "http://www.baijiayun.com/web/playback/index?classid=18072333155594&token=zHbBdtvOFjJAbtRXaO-EzgdVlXCrR59uO7OhVUMZYIO-cfC5CwtPh3yGdMQCYsPDy3FaU5ZR3PyMCTpCPak4Cg&session_id=201807230&version=0&is_crop_playback=1&crop_token=iorFuRGJmbBNqbsCT7qmlVwmqjAbakL7LZEawS-dUoDBJQfssIq6TA",
"publish_status": 1
}
]
},
"msg": "",
"ts": 1543311086
}
API 11 : 设置回放主版本
【功能描述】
设置回放的主版本,一般在有裁剪回放的时候设置
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/setMainVersion
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(默认0,长期房间必须传此值) |
version |
int |
是 |
|
版本号 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
返回code=0
表示设置成功,否则失败
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1511853895
}
API 12 : 获取ppt转成的pdf的路径列表
【接口描述】
该接口用于获取ppt转成的pdf的路径
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getPlaybackPptUrlList
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
room_id |
int |
是 |
|
教室号 |
partner_id |
int |
是 |
|
合作方用户名 |
date |
string |
长期房间需要填写,短期房间不需要 |
|
日期 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例 |
描述 |
room_id |
int |
|
room_id |
session_id |
int |
|
session_id |
version |
int |
0 |
裁剪副本 |
version_type |
int |
0 |
设置主版本 0:主版本,1:非主版本 |
ppt_url |
string |
|
url |
{
"code": 0,
"data": {
"list": [
{
"room_id": 19061545487745,
"session_id": 201906195,
"version": 0,
"version_type": 0,
"ppt_url": "https://test-img.baijiayun.com/0baijiacloud/playback_ppt/19061545487745/38feee3ca531ae9e2dc290506d1a2baa/19061545487745_ppt.pdf"
},
{
"room_id": 19061545487745,
"session_id": 201906195,
"version": 0,
"version_type": 0,
"ppt_url": "https://test-img.baijiayun.com/0baijiacloud/playback_ppt/19061545487745/38feee3ca531ae9e2dc290506d1a2baa/19061545487745_ppt.pdf"
}
],
"total": 2
},
"msg": "",
"ts": 1560943538
}
API 13 : 获取ppt转成的pdf具体路径
【接口描述】
该接口用于获取ppt转成的pdf的具体路径
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getPlaybackPptUrl
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
room_id |
int |
是 |
|
教室号 |
partner_id |
int |
是 |
|
合作方用户名 |
session_id |
int |
否 |
|
session_id |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例 |
描述 |
room_id |
int |
|
room_id |
session_id |
int |
|
session_id |
version |
int |
0 |
裁剪副本 |
version_type |
int |
0 |
设置主版本 0:主版本,1:非主版本 |
ppt_url |
string |
|
url |
{
"code": 0,
"data": {
"list": [
{
"room_id": 19061545487745,
"session_id": 201906195,
"version": 0,
"version_type": 0,
"ppt_url": "https://test-img.baijiayun.com/0baijiacloud/playback_ppt/19061545487745/38feee3ca531ae9e2dc290506d1a2baa/19061545487745_ppt.pdf"
}
],
"total": 1
},
"msg": "",
"ts": 1560943538
}
API 14 : 替换回放
【功能描述】
该接口用于替换掉有问题的回放或新增一个回放
源回放(source) 替换 目标回放(target)
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/replacePlayback
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
type |
int |
是 |
|
类型 1:替换 2:新增 |
source_room_id |
int |
是 |
|
源回放 room_id |
source_session_id |
int |
否 |
|
源回放 session_id (长期教室传) |
source_version |
int |
否 |
|
源回放版本 |
is_replace_main |
int |
否 |
默认为1,替换成主版本 |
是否替换成主版本 0:否 1:是 |
target_room_id |
int |
是 |
|
目标回放 room_id |
target_session_id |
int |
否 |
|
目标回放 session_id (长期教室传) |
target_version |
int |
否 |
|
目标回放版本 |
timestamp |
int |
是 |
|
当前时间, unix时间戳 |
sign |
string |
是 |
|
签名 |
【参数说明】
type:替换,指源回放和目标回放都存在时,用源回放的数据覆盖掉目标回放的数据,此举会导致目标回放的数据
被覆盖,请确保目标回放 room_id和 session_id无误
type:新增,指源回放存在而目标回放不存在时,会将源回放的数据拷贝一份给目标回放,相当于目标回放是新生成的
target_session_id:如果是新增长期直播间的回放,建议 target_session_id格式为 日期+顺序(201912010)
该接口执行成功后会执行回放视频转码回调.
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1582690313
}
API 15 : 点播替换回放
【功能描述】
该接口可以用一个点播视频替换目标回放
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/replacePlaybackByVideo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
video_id |
int |
是 |
|
video_id |
is_replace_main |
int |
否 |
默认为1,替换成主版本 |
是否替换成主版本 0:否 1:是 |
target_room_id |
int |
是 |
|
目标回放 room_id |
target_session_id |
int |
否 |
|
目标回放 session_id (长期教室传) |
target_version |
int |
否 |
|
目标回放版本 |
timestamp |
int |
是 |
|
当前时间, unix时间戳 |
sign |
string |
是 |
|
签名 |
【说明】
该接口只能用于替换回放,如果目标教室没有回放,可以调用API 14替换回放的接口新增一个回放,新增回放后,源回放不要删除,点播替换的回放会播放不了
target_session_id:如果是新增长期直播间的回放,建议 target_session_id格式为 日期+顺序(201912010)
该接口执行成功后会执行回放视频转码回调.
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1582690313
}
API 16 : 回放录制纯视频
【功能描述】
该接口可以用一个回放视频生成纯视频
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/generatePureVideo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
room_id |
int |
是 |
|
room_id |
session_id |
int |
否 |
|
session_id |
version |
int |
否 |
null |
版本号(默认主版本) |
record_template |
int |
否 |
|
1:带聊天信息 2:不带聊天信息 3:3分屏 4:文档音频(无互动区) 5:文档视频(无互动区)。不传则使用账号默认配置 |
timestamp |
int |
是 |
|
当前时间, unix时间戳 |
sign |
string |
是 |
|
签名 |
【说明】
该接口只能用于大班课生成纯视频
【返回示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1582690313
}
API 17 : 回放视频分段裁剪
【功能描述】
1、回放视频分段裁剪
2、只适用于webrtc大班课
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/cropVideo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
教室号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
length_per_segment |
int |
是 |
|
剪切每段时长 单位:second (最少30 * 60秒) |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
参数 |
类型 |
示例/默认值 |
描述 |
code |
int |
|
0 表示成功 |
total |
int |
|
裁剪出视频列表总数 |
list |
array |
|
裁剪视频列表 |
video_id |
int |
|
剪裁出的视频id |
room_id |
int |
|
教室号 |
session_id |
int |
|
回放序列号(只针对长期房间生成的多段回放有用) |
version |
int |
|
版本号 |
【返回示例】
{
"code": 0,
"data": {
"total": 4,
"list": [
{
"video_id": 590196,
"room_id": "20101381522962",
"session_id": 202010130,
"version": 10
},
{
"video_id": 590197,
"room_id": "20101381522962",
"session_id": 202010130,
"version": 11
},
{
"video_id": 590201,
"room_id": "20101381522962",
"session_id": 202010130,
"version": 12
},
{
"video_id": 590202,
"room_id": "20101381522962",
"session_id": 202010130,
"version": 13
}
]
},
"msg": "",
"ts": 1604459505
}
API 18: 查询直播间录制节点数据
【功能描述】
获取微录制过程中对应的开始录制时间点、暂停录制时间点、继续录制时间点、结束录制时间点。只提供api上线后生成的回放视频数据。若没有对应的结束录制时间点,则取下课时间或该回放中最后一个信令时间作为结束时间点,此时会有auto_completion字段标识。
【请求类型】
POST/GET
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getRecordOperationTime
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
房间号 |
session_id |
int |
否 |
0 |
课节ID(短期课session_id为0) |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
参数 |
类型 |
示例 |
描述 |
start |
int |
1636679824 |
视频段开始录制时间 |
end |
int |
1636679824 |
视频段暂停/结束录制时间 |
auto_completion |
int |
1 |
是否是自动补全的时间点 |
【返回示例】
{
"code": 0,
"data": {
"time_node": [
{
"start": 1636679824,
"end": 1636679834
},
{
"start": 1636679837,
"end": 1636679842
},
{
"start": 1636679846,
"end": 1636679853
},
{
"start": 1685670924,
"end": 1685671099,
"auto_completion": 1
}
]
},
"msg": "",
"ts": 1636683048
}
API 19 : 回放录制纯视频(针对教室全部回放)
【功能描述】
该接口可以将教室全部回放视频生成纯视频(只转原始回放且为主版本的视频),已添加生成纯视频任务不再添加
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/generateClassPureVideo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
int |
是 |
|
房间ID |
【说明】
该接口只能用于大班课生成纯视频,需开启产品线配置项 enable_playback_record_video(回放视频是否自动录制成纯视频) 且值为 2
【返回示例】
参数 |
类型 |
描述 |
success_fids |
array |
新加入任务回放源视频视频 fid 数组,已添加回放不计算入内 |
返回code为0时表示成功,返回code非0表示失败。
{
"code": 0,
"data": {
"success_fids": [
"202202180"
]
},
"msg": "",
"ts": 1645169683
}
API 20 : 获取回放转纯视频下载地址
【功能描述】
获取回放转纯视频下载地址
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getRecordVideoUrl
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
int |
是 |
|
房间ID |
session_id |
int |
否 |
0 |
课节ID(短期课session_id为0) |
version |
int |
否 |
无 |
不传默认取此回放添加的第一个纯视频 |
【返回示例】
参数 |
类型 |
描述 |
url |
string |
纯视频下载地址(有效期 30 天) |
返回code为0时表示成功,返回code非0表示失败。
{
"code": 0,
"data": {
"url": "http://test-dlj4jd-video.baijiayun.com/00-upload/video-test/1205439_9bb2c838184f1efa38682d019d49d587_dfahwzre.mp4?t=62dce177&sign=83d53727e3a97b26f7578579dcf82b15"
},
"msg": "",
"ts": 1656050807
}
API 21: 获取大班课回放打点标记数据接口
【功能描述】
获取大班课回放打点标记数据。
【请求类型】
POST/GET
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/getPlaybackKeyFrameDescList
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
bigint |
是 |
|
房间ID |
session_id |
bigint |
否 |
0 |
课节ID |
version |
bigint |
否 |
0 |
版本 |
【返回示例】
{
"code": 0,
"data": {
"list": [
{
"desc": "test1",
"time_offset": "00:00:02"
},
{
"desc": "test2",
"time_offset": "00:00:05"
},
{
"time_offset": "00:01:16",
"desc": "test3"
},
{
"time_offset": "00:01:18",
"desc": "test4"
}
]
},
"msg": "",
"ts": 1641459505
}
API 22: 删除回放指定聊天数据接口
【功能描述】
删除回放指定聊天数据接口。删除时间和删除用户,删除json数组三个参数必须传递其一
请求删除单个回放完成时,才能进行下一次请求。否则会直接返回错误。
【请求类型】
POST
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/deletePlaybackChat
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
bigint |
是 |
|
房间ID |
session_id |
bigint |
否 |
0 |
课节ID |
version |
bigint |
否 |
0 |
版本 |
delete_start_time |
string |
否 |
|
删除开始时间,与删除结束时间同时传递,格式:2022-08-11 12:00:00 |
delete_end_time |
string |
否 |
|
删除结束时间,与删除开始时间同时传递,格式:2022-08-11 12:00:00 |
delete_user_number |
string |
否 |
|
删除指定用户user_number,与删除时间和delete_json必须传递其一 |
delete_json |
string |
否 |
|
json字符串,删除指定某时间段的某用户的聊天,数组内key(delete_user_number,delete_start_time,delete_end_time)都存在才有效 |
delete_json
示例:
[
{
"delete_user_number": "1650553019716964",
"delete_start_time": "2022-04-21 23:09:12",
"delete_end_time": "2022-04-21 23:09:13"
},
{
"delete_user_number": "772334751",
"delete_start_time": "2022-04-21 23:08:36",
"delete_end_time": "2022-04-21 23:09:19"
}
]
【返回示例】
{
"code": 0,
"data": true,
"msg": "",
"ts": 1660532293
}
API 23: 单个回放白名单增加学员
【功能描述】
单个回放增加白名单接口,仅支持长期课回放,短期课回放请添加到房间级别回放白名单。
【请求类型】
POST/GET
【请求接口】
https://${private_domain}.at.baijiayun.com/openapi/user/playbackBindStudentBatch
【请求参数】
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
int |
是 |
|
点播ID |
user_ids |
string |
是 |
|
用户ID,用逗号分隔 |
session_id |
int |
是 |
|
课节ID |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【成功响应示例】
{
"code": 0,
"data": true,
"msg": "",
"ts": 1668391916
}
【失败响应示例】
{
"code": 1001,
"data": null,
"msg": "无单独设置白名单权限",
"ts": 1668159979
}
API 24: 单个回放删除白名单学员
【功能描述】
单个回放删除白名单接口,仅支持长期课回放,短期课回放请查看教室级别回放白名单相关接口。
【请求类型】
POST/GET
【请求接口】
http://${private_domain}.at.baijiayun.com/openapi/user/playbackRemoveStudentBatch
请求Body参数
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
int |
是 |
|
点播ID |
user_ids |
string |
是 |
|
用户ID,用逗号分隔 |
session_id |
int |
是 |
|
课节ID |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【成功响应示例】
{
"code": 0,
"data": null,
"msg": "",
"ts": 1668160026
}
API 25: 查询单个回放绑定白名单
【功能描述】
查询单个回放白名单接口,仅支持长期课回放,短期课回放请查看教室级别回放白名单相关接口。
【请求类型】
POST/GET
【请求接口】
http://${private_domain}.at.baijiayun.com/openapi/user/getPlaybackStudent
请求Body参数
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
int |
是 |
|
房间ID |
session_id |
int |
是 |
|
课节ID |
page |
int |
否 |
1 |
页码 |
page_size |
int |
否 |
20 |
页面大小 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【成功响应示例】
{
"code": 0,
"data": {
"total": 4,
"list": [
{
"user_id": "291455",
"user_sn": "1123010",
"email": "sun670@qq.com",
"name": "孙六5",
"remark": "",
"phone_number": "18375614179",
"create_time": "2022-11-11 13:56:18",
"role": "0"
},
{
"user_id": "291456",
"user_sn": "1123011",
"email": "sun671@qq.com",
"name": "孙六6",
"remark": "",
"phone_number": "18375614180",
"create_time": "2022-11-11 13:56:18",
"role": "0"
},
{
"user_id": "291457",
"user_sn": "1123012",
"email": "sun672@qq.com",
"name": "孙六7",
"remark": "",
"phone_number": "18375614181",
"create_time": "2022-11-11 13:56:18",
"role": "0"
},
{
"user_id": "291458",
"user_sn": "1123013",
"email": "sun673@qq.com",
"name": "孙六8",
"remark": "",
"phone_number": "18375614182",
"create_time": "2022-11-11 13:56:18",
"role": "0"
}
]
},
"msg": "",
"ts": 1669103228
}
【返回参数】
参数名 |
示例值 |
参数类型 |
参数描述 |
total |
6 |
Number |
总数 |
user_id |
291446 |
int |
user_id |
user_sn |
1123001 |
String |
学号 |
email |
zhangsan@qq.com |
String |
电子邮箱,比如 example@qq.com |
name |
张三 |
String |
姓名 |
remark |
- |
string |
备注 |
phone_number |
18375614170 |
String |
手机号码 |
create_time |
2022-11-11 13:56:18 |
timestamp |
添加时间 |
role |
0 |
int |
角色(此接口都为0:‘学生’) |
API 26: 增加房间级别回放白名单学员
【功能描述】
增加房间级别回放白名单学员。
【请求类型】
POST/GET
【请求接口】
http://${private_domain}.at.baijiayun.com/openapi/user/roomPlaybackBindStudentBatch
【请求Body参数】
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
int |
是 |
|
点播ID |
user_ids |
string |
是 |
|
用户ID,用逗号分隔 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
成功响应示例
{
"code": 0,
"data": true,
"msg": "",
"ts": 1669103973
}
API 27: 查询房间回放白名单学员
【功能描述】
查询房间回放白名单学员接口。
【请求类型】
POST/GET
【请求接口】
http://${private_domain}.at.baijiayun.com/openapi/user/getRoomPlaybackStudent
请求Body参数
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
int |
是 |
|
点播ID |
page |
int |
否 |
1 |
页码 |
page_size |
int |
否 |
20 |
页面大小 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
成功响应示例
{
"code": 0,
"data": {
"total": 3,
"list": [
{
"user_id": "291456",
"user_sn": "1123011",
"email": "sun671@qq.com",
"name": "孙六6",
"remark": "",
"phone_number": "18375614180",
"create_time": "2022-11-11 13:56:18",
"role": "0"
},
{
"user_id": "291457",
"user_sn": "1123012",
"email": "sun672@qq.com",
"name": "孙六7",
"remark": "",
"phone_number": "18375614181",
"create_time": "2022-11-11 13:56:18",
"role": "0"
},
{
"user_id": "291458",
"user_sn": "1123013",
"email": "sun673@qq.com",
"name": "孙六8",
"remark": "",
"phone_number": "18375614182",
"create_time": "2022-11-11 13:56:18",
"role": "0"
}
]
},
"msg": "",
"ts": 1669103112
}
API 28: 删除房间回放白名单学员
【功能描述】
删除房间回放白名单学员接口,仅支持长期课回放,短期课回放请添加到教室级别回放白名单。
【请求类型】
POST/GET
【请求接口】
http://${private_domain}.at.baijiayun.com/openapi/user/roomPlaybackRemoveStudentBatch
请求Body参数
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
room_id |
string |
是 |
|
点播ID |
user_ids |
string |
是 |
|
用户ID,用逗号分隔 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【成功响应示例】
{
"code": 0,
"data": true,
"msg": "",
"ts": 1670571621
}
【失败响应示例】
{
"code": 1,
"data": null,
"msg": "成员291456不存在",
"ts": 1670571108
}
API 29: 获取回放有效期数据接口
【功能描述】
获取回放有效期数据接口,说明:产品线有效期设置只针对2022-11-23 00:00:00之后生成的回放。
【请求类型】
POST/GET
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/getPlaybackValidDay
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
product_type |
int |
否 |
|
1:大班课,2,小班课,3:双师,4,企业直播 |
video_ids |
string |
否 |
|
回放视频id,多个英文逗号拼接,不传则只返回产品线级别有效期 |
【返回示例】
{
"code": 0,
"data": {
"partner_valid_day": 15, //产品线级别有效期
"list": {
"116541": 15, //按天设置有效期,返回有效天数
"128298": 0
},
"expire_time_list": {
"116542": "2024-12-12 19:00:00" //按时间设置有效期,返回到期时间
}
},
"msg": "",
"ts": 1673503537
}
API 30: 设置回放有效期数据接口
【功能描述】
设置回放有效期数据接口,说明:产品线有效期设置只针对2022-11-23 00:00:00之后生成的回放。
【请求类型】
POST
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/setPlaybackValidDay
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
product_type |
int |
否 |
|
1:大班课,2,小班课,3:双师,4,企业直播 |
video_ids |
string |
否 |
|
回放视频id,多个英文逗号拼接,不传则设置产品线级别有效期 |
valid_day |
int |
是 |
|
有效期天数 |
【返回示例】
{
"code": 0,
"data": true,
"msg": "",
"ts": 1673503524
}
API 31: 回放课件生成接口
【功能描述】
回放课件生成接口
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/startPlaybackPdfTask
【请求参数】
参数 |
类型 |
是否必填 |
示例 |
描述 |
partner_id |
int |
是 |
123456 |
账号ID |
timestamp |
int |
是 |
1655867400 |
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
int |
是 |
231123213 |
房间号 |
session_id |
int |
否 |
123123 |
课节ID,默认0,短期课可不传 |
【返回示例】
{
"code": 0,
"data": {
"status": 3, //状态值,0默认未开始,1准备中,2进行中,3完成,4失败
"status_msg": "完成" //状态说明
},
"msg": "",
"ts": 1678866633
}
API 32: 回放打点设置接口
【功能描述】
回放打点设置接口
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/savePlaybackKeyFrameDesc
【请求参数】
参数 |
类型 |
是否必填 |
示例 |
描述 |
partner_id |
int |
是 |
123456 |
账号ID |
timestamp |
int |
是 |
1655867400 |
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
int |
是 |
231123213 |
房间号 |
content |
string |
否 |
[{“time_offset”:”00:00:01”,”desc”:123},{“time_offset”:”00:00:02”,”desc”:123},{“time_offset”:”00:00:03”,”desc”:123}] |
打点内容,打点时间不可重复,不可超过20条,每条打点内容不超过20个字符,当该字段不传或为空时,认为删除掉该回放的所有打点数据 |
session_id |
int |
否 |
123123 |
课节ID,默认0,短期课可不传 |
version |
int |
否 |
123123 |
版本号,默认0,回放剪辑中获取 |
【返回示例】
{
"code": 0,
"data": true,
"msg": "",
"ts": 1681115688
}
API 33:获取回放 limited_token
【功能描述】
获取回放的播放 limited_token,服务端获取 limited_token 后拼在回放链接中,web 端就可以使用该 limited_token 播放视频
limited_token 仅可使用一次,使用后即失效。如果一直没有使用,24 小时后也会过期失效。需联系百家云开通相关配置才可使用
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/getLimitedPlayerToken
【请求类型】
POST
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
room_id |
int |
是 |
|
房间号 |
session_id |
int |
否 |
|
序列号(针对长期房间才会用到) |
timestamp |
int |
是 |
|
当前时间,unix 时间戳 |
sign |
string |
是 |
|
签名 |
【响应参数】
参数 |
类型 |
示例/默认值 |
描述 |
limited_token |
string |
|
回放播放 token |
【响应示例】
{
"code": 0,
"data": {
"limited_token": "2db8c3dd3d97f9017a43b7bd0c538253"
},
"msg": "",
"ts": 1686880691
}
API 34: 获取回放课件数据接口
【功能描述】
获取回放课件数据接口,仅支持大班课班型回放。
【请求类型】
GET
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/getPptPageInfo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
room_id |
bigint |
是 |
|
房间ID |
session_id |
int |
否 |
0 |
课节ID |
【返回示例】
{
"code": 0,
"data": {
"list": [
{
"page": 0, // 当前页码,从0开始
"time": 180503, // 翻页时间点,单位毫秒
"doc": {
"id": "1572168",
"name": "test.docx",
"total_pages": 8, // 课件总页数
"is_doc": true,
"is_h5_doc": false,
"number": "1572168",
"url": "",
"url_prefix": "https://test-img.baijiayun.com/1572168_3l2hr7gn", // 课件画面前缀
"ppt_url": ""
}
}
]
},
"msg": "",
"ts": 1687745481
}
API 35: 批量裁剪生成多段回放
【功能描述】
在同一个回放视频中,批量裁剪生成多段回放。
【请求类型】
POST/GET
【请求地址】
http://${private_domain}.at.baijiayun.com/openapi/playback/batchCropVideo
【请求参数】
参数名 |
参数类型 |
是否必填 |
默认值 |
参数描述 |
partner_id |
int |
是 |
|
合作方账号 |
crop_info |
string |
是 |
|
裁剪信息,包含开始、结束时间和回放名称,时间为秒数,开始和结束时间之间不得少于5秒,多段裁剪信息组成json字符串作为参数 |
room_id |
int |
是 |
|
房间ID |
session_id |
int |
否 |
|
课节ID,短期课为0可不传 |
timestamp |
int |
是 |
|
当前时间,unix时间戳 |
sign |
string |
是 |
|
签名 |
【请求示例】
{
"crop_info": "[{\"start_time\":0,\"end_time\":6,\"name\":\"test1\"},{\"start_time\":15,\"end_time\":20,\"name\":\"test2\"}]",
"partner_id": "41624064",
"room_id": "22042060202747",
"timestamp": "1",
"sign": "test123",
"session_id": "202204205"
}
【返回示例】
返回code为0时表示裁剪成功,返回code非0表示裁剪失败。
{
"code": 0,
"data": {
"list": [
{
"video_id": 1374926,
"room_id": "22030364712442",
"session_id": 202203030,
"version": 1
},
{
"video_id": 1374927,
"room_id": "22030364712442",
"session_id": 202203030,
"version": 2
}
],
"total": 2
},
"msg": "",
"ts": 1695278317
}
API 36 : 批量设置回放到期时间
【功能描述】
批量设置回放到期时间
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/playback/batchSetPlaybackExpireTime
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
data |
string |
是 |
|
json格式,详情如下 |
timestamp |
int |
是 |
|
当前时间,unix 时间戳 |
sign |
string |
是 |
|
签名 |
【data参数介绍】
参数 |
类型 |
示例 |
描述 |
video_id |
int |
10 |
视频fid |
expire_time |
string |
2017-08-18 14:01:00 |
到期时间 |
示例:
[
{
"video_id": 500053281,
"expire_time": "2025-12-10 14:00:00"
},
{
"video_id": 500053726,
"expire_time": "2025-12-10 13:00:00"
}
]
【返回示例】
{
"code": 0,
"data": {
"success_list": [
"500053726"
]
},
"msg": "",
"ts": 1741933217
}
API 37 : 按账户级别获取回放播放记录
【功能描述】
按账户级别获取回放播放记录
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/video_data/getPartnerPlaybackPlayRecord
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方用户名 |
start_time |
string |
是 |
|
2017-08-18 14:00:00 |
end_time |
string |
是 |
|
2017-08-18 14:01:00 |
search_time_type |
int |
否 |
|
查询时间类型,1:按观看开始时间查询,2:按观看结束时间查询,默认1 |
timestamp |
int |
是 |
|
当前时间,unix 时间戳 |
sign |
string |
是 |
|
签名 |
【返回参数】
参数 |
类型 |
示例 |
描述 |
total |
int |
100 |
总记录条数 |
list.guid |
string |
|
一次播放的唯一标志,32 位字符串;如果跨天观看,数据按天拆分 |
list.video_id |
int |
|
回放对应的视频 id |
list.user_name |
string |
|
用户名(需要客户在接入播放器的时候传入用户的信息) |
list.user_number |
int |
0 |
用户 number 号(需要客户在接入播放器的时候传入用户的信息) |
list.play_begin_time |
string |
2017-09-08 10:00:07 |
起始播放时间,格式如:2017-09-08 10:00:07 |
list.play_end_time |
string |
2017-09-08 10:10:07 |
结束播放时间,格式如:2017-09-08 10:00:07 |
list.play_length |
int |
|
实际观看时间,单位:秒 |
list.client_type |
int |
|
客户端类型 1:iphone 2:ipad 3:Android 4:手机 M 站 5:PC 网页 6:APP 内嵌 M 站 7:小程序 8:Android 小程序 9:iOS 小程序 0:未知 |
list.user_ip |
string |
|
用户 IP |
list.area |
string |
安徽 亳州 |
用户所在地域,格式如:省份 市。可能会为空 |
list.ext_data |
string |
|
自定义上报字段 |
【返回示例】
{
"code": 0,
"data": {
"total": 1,
"list": [
{
"guid": "090FF1AA2C95FC9701A009DF7DD81B57",
"uuid": "uuid-fd3dd313-c731-8884-50a9-17d3c46d6c42",
"video_id": 500053281,
"user_name": "default",
"user_number": 1726134607864307,
"play_begin_time": "2025-03-12 16:05:39",
"play_end_time": "2025-03-12 16:05:41",
"client_type": 5,
"play_length": 2,
"user_ip": "122.190.49.28",
"area": "湖北 武汉",
"ext_data": "",
"date": "2025-03-12"
}
],
"page": 1,
"page_size": 1000
},
"msg": "",
"ts": 1744275661
}
API 38 : 合并回放转纯视频
【功能描述】
该接口可以创建一个合并回放转纯视频的任务
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/mixed_playback/addCaptureTask
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
mixed_playback_id |
int |
是 |
|
合并回放的id |
timestamp |
int |
是 |
|
当前时间, unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回示例】
{
"code": 0,
"data":[
"mixed_playback_id":"1"
],
"msg": "",
"ts": 1582690313
}
API 39 : 获取下载合并回放转纯视频的信息
【功能描述】
该接口用于获取下载合并回放转纯视频的信息
【请求类型】
POST
【请求地址】
https://${private_domain}.at.baijiayun.com/openapi/mixed_playback/getDownloadVideoInfo
【请求参数】
参数 |
类型 |
是否必填 |
默认值 |
描述 |
partner_id |
int |
是 |
|
合作方ID |
mixed_playback_id |
int |
是 |
|
合并回放的id |
timestamp |
int |
是 |
|
当前时间, unix时间戳 |
sign |
string |
是 |
|
签名 |
【返回示例】
{
"code": 0,
"data": {
"play_info": {
"720p": {
"duration": 1858,
"height": 720,
"width": 1280,
"size": 95119429,
"url": "http://xxx.baijiayun.com/00-x-upload/video/305550443_e548fd03f4371d30958a33071fdf04a8_x53i7jbf.mp4?t=688c6310&sign=8ea552da210744b0cd86fe955f3ed032"
}
},
"fid": "305550443"
},
"msg": "",
"ts": 1751438864
}
回放视频转码回调
CB-API-1: 直播回放生成及转码回调
【功能描述】
如果客户设置了直播回调地址,在直播回放视频开始生成、转码成功、转码失败时都会回调通知客户。
该请求由百家云服务端发起,回调地址由客户来设置。
【请求地址】
回调的地址可以通过API接口来设置,设置方式见 设置转码回调地址
【请求类型】
POST
【请求参数】
参数 |
类型 |
示例 |
描述 |
room_id |
int |
12345678 |
房间ID |
session_id |
int |
12345678 |
长期房间的序列号,普通房间无此参数 |
version |
int |
2 |
裁剪回放的版本号,非裁剪的回放无此参数 |
video_id |
int |
123 |
云端录制视频ID |
status |
int |
20 |
视频状态(20:开始生成回放 30:转码失败 100:转码成功 |
preface_url |
string |
|
封面url,(转码成功回调才有) |
total_transcode_size |
int |
123 |
总视频大小(源文件+所有转码后文件)单位:字节(转码成功回调才有) |
total_size |
int |
123 |
视频大小,单位是字节 (转码成功回调才有) |
length |
int |
123 |
视频时长,单位为秒(转码成功回调才有) |
file_md5 |
string |
abcdefagea |
视频文件md5值(转码成功回调才有) |
now_definition |
string |
|
当前已转出的清晰度,多种清晰度以英文逗号分隔 low/std/high/super/1080p(转码成功回调才有) |
origin_definition |
string |
|
原始视频清晰度 low/std/high/super/1080p(转码成功回调才有) |
qid |
string |
123456789 |
标记一次请求的唯一ID |
timestamp |
int |
1234567 |
unixstamp时间戳,秒数 |
sign |
string |
abcdefagea |
签名字段 |
不同类型的事件回调参数不一样,通过status
字段来区分:
- 视频开始生成:
- status=20
- 回调参数(
room_id
, video_id
, status
, qid
, timestamp
, sign
,total_size
,file_md5
)
- 视频转码失败:
- status=30
- 回调参数(
room_id
, video_id
, status
, qid
, timestamp
, sign
)
- 视频转码成功:
- status=100
- 回调参数(
room_id
, video_id
, status
, preface_url
, total_size
, total_transcode_size
, length
, file_md5
, now_definition
, origin_definition
, qid
, timestamp
, sign
)
如果是长期房间,因为一个房间会生成多断回放,回调中除了room_id
还会有一个session_id
。
sign字段是用来验证权限的,其计算规则与上面介绍的sign生成规则相同。即所有的请求参数key按照字符顺序排序,再拼接起来,最后再拼上partner_key=<partner_key>
,然后进行md5加密得出。
【响应参数】
{
"code":0
}
{
"code": 1,
"msg": "错误信息"
}
回放转纯视频回调
CB-API-1: 回放转纯视频回调
【功能描述】
如果客户设置了直播回调地址,在回放转纯视频完成后回调通知客户。
该请求由百家云服务端发起,回调地址由客户来设置。收到回调后可使用video_id调用接口获取纯视频播放地址。
【请求地址】
回调的地址可以通过API接口来设置,设置方式见 设置转码回调地址
【请求类型】
POST
【请求参数】
参数 |
类型 |
示例 |
描述 |
is_from_playback |
int |
1 |
是否是回放转纯视频回调(若不是则没有此字段) |
room_id |
int |
22042493748699 |
房间ID |
session_id |
int |
202204240 |
长期房间的序列号,普通房间无此参数 |
version |
int |
0 |
裁剪回放的版本号,非裁剪的回放无此参数 |
video_id |
int |
123 |
纯视频ID |
status |
int |
1 |
视频状态(1:成功 0:失败) |
preface_url |
string |
|
封面url,(转码成功回调才有) |
total_transcode_size |
int |
123 |
总视频大小(源文件+所有转码后文件)单位:字节(转码成功回调才有) |
total_size |
int |
123 |
视频大小,单位是字节 (转码成功回调才有) |
length |
int |
123 |
视频时长,单位为秒(转码成功回调才有) |
file_md5 |
string |
abcdefagea |
视频文件md5值(转码成功回调才有) |
now_definition |
string |
|
当前已转出的清晰度,多种清晰度以英文逗号分隔 low/std/high/super/1080p(转码成功回调才有) |
origin_definition |
string |
|
原始视频清晰度 low/std/high/super/1080p(转码成功回调才有) |
qid |
string |
123456789 |
标记一次请求的唯一ID |
timestamp |
int |
1234567 |
unixstamp时间戳,秒数 |
sign |
string |
abcdefagea |
签名字段 |
sign字段是用来验证权限的,其计算规则与上面介绍的sign生成规则相同。即所有的请求参数key按照字符顺序排序,再拼接起来,最后再拼上partner_key=<partner_key>
,然后进行md5加密得出。
【响应参数】
{
"code":0
}
{
"code": 1,
"msg": "错误信息"
}
回放主版本回调
CB-API-1: 设置主版本回调
【功能描述】
如果客户设置了设置主版本回调地址,在直播回放设置主版本时会回调通知客户。
该请求由百家云服务端发起,回调地址由客户联系百家云设置。
【请求类型】
POST
【请求参数】
参数 |
类型 |
示例 |
描述 |
room_id |
int |
12345678 |
房间ID |
session_id |
int |
12345678 |
非长期房间为0 |
version |
int |
2 |
回放的版本号 |
video_id |
int |
123 |
云端录制视频ID |
version_type |
int |
123 |
版本类型,0是主板本 |
qid |
string |
123456789 |
标记一次请求的唯一ID |
timestamp |
int |
1234567 |
unixstamp时间戳,秒数 |
sign |
string |
abcdefagea |
签名字段 |
sign字段是用来验证权限的,其计算规则与上面介绍的sign生成规则相同。即所有的请求参数key按照字符顺序排序,再拼接起来,最后再拼上partner_key=<partner_key>
,然后进行md5加密得出。
【响应参数】
{
"code":0
}
{
"code": 1,
"msg": "错误信息"
}
观看回放页面的方式
web端观看回放
百家云提供web端观看回放内容,可以使用iframe的形式嵌入我们提供的回放地址。回放地址是:
http://${private_domain}.at.baijiayun.com/web/playback/index?classid=1234567890&token=<token>
对于长期房间生成的回放,除教室号外还需要一个序列号。回放地址是:
http://${private_domain}.at.baijiayun.com/web/playback/index?classid=1234567890&session_id=12345&token=<token>
其中classid为教室号。
token的生成请参考获取回放token
调用示例
<iframe src="http://${private_domain}.at.baijiayun.com/web/playback/index?classid=1234567890&token=xxxxxx"></iframe>
如果您需要统计一些观看回放得用户数据,我们也提供一些用户参数,可以直接跟在链接中传参;
参数如下:
user_name:表示观看回放的用户昵称
user_number:表示观看回放的用户ID,传int类型正整数;
示例如下:
http://${private_domain}.at.baijiayun.com/web/playback/index?classid=1234567890&token=xxxxxx&user_name=user007&user_number=1876158
回放sdk接入
安卓回放sdk集成文档
iOS回放sdk集成文档