环信使用 REST 的方式来获取实时音视频的录制文件,包括录制的音频文件和视频文件。
服务器端存储的是压缩后的视频。录制文件的大小(每分钟)为:
注意:
1、通话时长<5s可能会出现服务器录制失败的情况。
2、生成录制文件所花的时间和通话时长有关,通话时间越长,生成录制文件的时间也越长。一般情况下,通话时间1小时以下,在通话结束后2小时可以获取到,为了保证录制文件数据完整建议在24小时后获取。
服务器录制文件获取在集成过程中,可以使用以下4个接口获取录制文件。请查看以下 REST API 详细文档说明。
名称 | 请求 |
---|---|
会议ID获取全部录制文件 | {orgName}/{appName}/audio/{confrId} |
开始结束时间获取全部录制文件 | {orgName}/{appName}/audio/{beginTime}/{endTime}/{startId}/{length} |
开始结束时间获取全部合成录制文件 | {orgName}/{appName}/audio/merge/{beginTime}/{endTime}/{startId}/{length} |
获取会议内user全部录制文件 | {orgName}/{appName}/audio/{userName}/{confrId} |
通过指定会议ID获取全部的录制文件。
注意:录制的文件默认保存30天。
{orgName}/{appName}/audio/{confrId} |
---|
需要在请求时对应填写{confrId}会议ID,如果当前没有会议ID,请从其他接口获取。
参数 | 说明 |
---|---|
Content-Type | application/json |
Authorization | Bearer ${token} |
返回的文件数据列表是以文件编号id,升序排列。
参数 | 说明 |
---|---|
id | 录制文件数字编号 |
owner | 录制文件所在的appkey |
confrBeginTime | 录制文件所在多人会议的开始时间 |
confrEndTime | 录制文件所在多人会议的结束时间 |
confrType | 会议类型,“CONFR”、“COMMUNICATION”均是普通会议、 |
confrId | 会议ID,全局唯一 |
userName | 参加会议人员,以appkey_username表示(talker,直播模式下的主播) |
memberName | 参加会议人员,以appkey_username表示(talker,直播模式下的主播)IM情况下为 JID,系统唯一的ID |
accessId | 参加会议时链接的ID |
pubStreamId | 推流ID |
recordType | 录制文件类型,“ONLY_REC_ONE_AV”是单人音视频,“ONLY_REC_ONE_DESKTOP”是单人共享桌面,“MERGE_ALL”合成视频文件 |
recordTime | 录制完成时间 |
expireTime | URL过期时间 |
url | 录制文件的下载链接 |
curl -X GET -i "http://a1.easemob.com/easemob-demo/testapp/audio/IM_X364829524644331520C14" -H 'Authorization: Bearer YWMte3bGuOukEeiTkNP4grL7iwAAAAAAAAAAAAAAAAAAAAGL4CTw6XgR6LaXXVmNX4QCAgMAAAFnKdc-ZgBPGgBFTrLhhyK8woMEI005emtrLJFJV6aoxsZSioSIZkr5kw' -H 'Content-Type: application/json'
返回值200,表示成功获取录制文件
{
"id": 109,
"owner": "easemob-demo#testapp",
"confrBeginTime": "2019-02-21 17:56:04",
"confrEndTime": "2019-02-21 17:56:46",
"confrType": "LIVE",
"confrId": "IM_X364829548358926336C16",
"memberId": "IM_X364829548358926336C16M21",
"memberName": "easemob-demo#testapp_user1",
"userName": "easemob-demo#testapp_user1",
"accessId": "HI365195406759428096",
"pubStreamId": "rtc-10-xbd__Of_C16M21",
"recordType": "ONLY_REC_ONE_AV",
"recordTime": "2019-02-21 17:56:49",
"expireTime": "2019-03-23 17:56:49",
"url": "http://kefu-media-files.oss-cn-beijing.aliyuncs.com/1esugl4lgti4qbtle1l450gunvphf9uhi3kmb6b9rdc10cn0jf8g/20190221170556-000000410.webm?Expires=9223372036854775&OSSAccessKeyId=LTAI3pBwoxnmCWUw&Signature=tpQRDw0HS9feBkgnvmYObY2U850%3D"
}
如果返回结果是500,也有可能是服务器故障,如果返回结果是429、503或者其他5xx,有可能代表该接口被限流了,请稍微暂停一下并重试。详见接口限流说明
开始到结束时间内,以某个录制文件为起始点,获取之后一定数量的录制文件接口。
注意:录制的文件默认保存30天。
{orgName}/{appName}/audio/{beginTime}/{endTime}/{startId}/{length} |
---|
需要在请求时对应填写{beginTime}/{endTime},起始录制文件id编号{startId},获取的数量{length}。length限制长度是100,如果请求超过100是会返回错误
。
如果要取从开始至结束时间的前100个录制文件,起始录制文件id可以为0,获取数量100;如果要继续获取后面的100个录制文件,需要将上次获取的最后一个录制文件id作为下一次请求的起始id继续发起请求。
参数 | 说明 |
---|---|
Content-Type | application/json |
Authorization | Bearer ${token} |
curl -X GET -i "http://a1.easemob.com/easemob-demo/testapp/audio/20190101080607/20190304050607/0/2" -H 'Authorization: Bearer YWMte3bGuOukEeiTkNP4grL7iwAAAAAAAAAAAAAAAAAAAAGL4CTw6XgR6LaXXVmNX4QCAgMAAAFnKdc-ZgBPGgBFTrLhhyK8woMEI005emtrLJFJV6aoxsZSioSIZkr5kw' -H 'Content-Type: application/json'
返回值200,表示成功获取录制文件
{
"id": 112,
"owner": "easemob-demo#testapp",
"confrBeginTime": "2019-02-21 17:56:04",
"confrEndTime": "2019-02-21 17:56:46",
"confrType": "LIVE",
"confrId": "IM_X364829548358926336C16",
"memberId": "IM_X364829548358926336C16M21",
"memberName": "easemob-demo#testapp_user1",
"userName": "easemob-demo#testapp_user1",
"accessId": "HI365195406759428096",
"recordType": "ONLY_REC_ONE",
"recordTime": "2019-02-21 17:56:49",
"expireTime": "2019-03-23 17:56:49",
"url": "http://kefu-media-files.oss-cn-beijing.aliyuncs.com/mlgh7n0ltu09sehvst53dh8huurqrj6f5knbhfbnopppgoocr67/20190221170556-000000408.webm?Expires=9223372036854775&OSSAccessKeyId=LTAI3pBwoxnmCWUw&Signature=hZk4jJDcMsuJfioscv%2B4L1zk1aA%3D"
}
如果返回结果是500,也有可能是服务器故障或者请求中length长度超过限制,如果返回结果是429、503或者其他5xx,有可能代表该接口被限流了,请稍微暂停一下并重试。详见接口限流说明
开始到结束时间内,以某个录制文件为起始点,获取之后一定数量的合成录制文件接口。
注意:录制的文件默认保存30天。
{orgName}/{appName}/audio/merge/{beginTime}/{endTime}/{startId}/{length} |
---|
需要在请求时对应填写{beginTime}/{endTime},起始录制文件id编号{startId},获取的数量{length}。length限制长度是100,如果请求超过100是会返回错误
。
如果要取从开始至结束时间的前100个合成录制文件,起始录制文件id可以为0,获取数量100;如果要继续获取后面的100个合成录制文件,需要将上次获取的最后一个合成录制文件id作为下一次请求的起始id继续发起请求。
参数 | 说明 |
---|---|
Content-Type | application/json |
Authorization | Bearer ${token} |
curl -X GET -i "http://a1.easemob.com/easemob-demo/testapp/audio/merge/20190101080607/20190304050607/0/2" -H 'Authorization: Bearer YWMte3bGuOukEeiTkNP4grL7iwAAAAAAAAAAAAAAAAAAAAGL4CTw6XgR6LaXXVmNX4QCAgMAAAFnKdc-ZgBPGgBFTrLhhyK8woMEI005emtrLJFJV6aoxsZSioSIZkr5kw' -H 'Content-Type: application/json'
返回值200,表示成功获取录制文件
{
"id": 112,
"owner": "easemob-demo#testapp",
"confrBeginTime": "2019-02-21 17:56:04",
"confrEndTime": "2019-02-21 17:56:46",
"confrType": "LIVE",
"confrId": "IM_X364829548358926336C16",
"memberId": "IM_X364829548358926336C16M21",
"memberName": "easemob-demo#testapp_user1",
"userName": "easemob-demo#testapp_user1",
"accessId": "HI365195406759428096",
"recordType": "MERGE_ALL",
"recordTime": "2019-02-21 17:56:49",
"expireTime": "2019-03-23 17:56:49",
"url": "http://kefu-media-files.oss-cn-beijing.aliyuncs.com/mlgh7n0ltu09sehvst53dh8huurqrj6f5knbhfbnopppgoocr67/20190221170556-000000408.webm?Expires=9223372036854775&OSSAccessKeyId=LTAI3pBwoxnmCWUw&Signature=hZk4jJDcMsuJfioscv%2B4L1zk1aA%3D"
}
如果返回结果是500,也有可能是服务器故障或者请求中length长度超过限制,如果返回结果是429、503或者其他5xx,有可能代表该接口被限流了,请稍微暂停一下并重试。详见接口限流说明
指定会议ID内的用户获取全部录制文件。
注意:录制的文件默认保存30天。
{orgName}/{appName}/audio/{userName}/{confrId} |
---|
需要在请求时对应填写{confrId}会议ID,如果当前没有会议ID,请从其他接口获取。以及{userName}用户名。
参数 | 说明 |
---|---|
Content-Type | application/json |
Authorization | Bearer ${token} |
curl -X GET "http://a1.easemob.com/easemob-demo/testapp/audio/user1/IM_X364829524644331520C14" -H 'Authorization: Bearer YWMte3bGuOukEeiTkNP4grL7iwAAAAAAAAAAAAAAAAAAAAGL4CTw6XgR6LaXXVmNX4QCAgMAAAFnKdc-ZgBPGgBFTrLhhyK8woMEI005emtrLJFJV6aoxsZSioSIZkr5kw' -H 'Content-Type: application/json'
返回值200,表示成功获取录制文件
{
"id": 112,
"owner": "easemob-demo#testapp",
"confrBeginTime": "2019-02-21 17:56:04",
"confrEndTime": "2019-02-21 17:56:46",
"confrType": "LIVE",
"confrId": "IM_X364829548358926336C16",
"memberId": "IM_X364829548358926336C16M21",
"memberName": "easemob-demo#testapp_user1",
"userName": "easemob-demo#testapp_user1",
"accessId": "HI365195406759428096",
"recordType": "ONLY_REC_ONE",
"recordTime": "2019-02-21 17:56:49",
"expireTime": "2019-03-23 17:56:49",
"url": "http://kefu-media-files.oss-cn-beijing.aliyuncs.com/mlgh7n0ltu09sehvst53dh8huurqrj6f5knbhfbnopppgoocr67/20190221170556-000000408.webm?Expires=9223372036854775&OSSAccessKeyId=LTAI3pBwoxnmCWUw&Signature=hZk4jJDcMsuJfioscv%2B4L1zk1aA%3D"
}
如果返回结果是500,也有可能是服务器故障,如果返回结果是429、503或者其他5xx,有可能代表该接口被限流了,请稍微暂停一下并重试。详见接口限流说明
上一页:会议管理
下一页:REST接口限流说明