录像服务指南

简介:

当您使用anyRTC的音视频功能时,还可以通过对录像功能的设置来获取视频的录像以及是否需要录像。当您使用该功能的前提是您已经在anyRTC平台创建了应用,目前提供录像的服务有视频会议,实时直播和P2P。

录像服务指视频录像,可在用户后台设置录像回调地址和是否自动录像,也可以通过调用接口主动获取录像.

自动录像

在用户后台登录后,在应用管理中选择您的应用,在服务列表中选择需要录像的服务。 当您选择自动录像时,您进行的每一次会议都会录像。

手动录像

在用户后台登录后,在应用管理中选择您的应用,在服务列表中选择需要录像的服务。 当您选择手动录制时,anyRTC提供开始和结束录像的接口实现对录像的控制。

注:

开始录像和结束录像这两个接口为服务端调用的接口,请勿在客户端直接调用。该接口调用有IP白名单过滤检查,请将您的服务器IP告诉我们。

开始录像:

POST 请求

https://www.anyrtc.io/anyapi/v1/startrecord?AppID=your.appid&ArRoomID=your.roomid&Type=Meet

URL参数:

编号 参数 名称 类型 说明
1 AppId 应用ID string 在应用信息中获取
2 ArRoomID 房间名称 string sdk中加入房间时的anyrtcid
3 Type 房间类型 string 会议的录像默认值为Meet,区分大小写

body参数:

编号 参数 名称 类型 说明
1 Path 路径 string 在服务器中的相对存储路径
2 UserData 用户自定义数据 string 用户自定义的数据,字符串类型,如果自定义数据为json对象,请转为json 字符串
3 NameRule 命名规则 string "ar{roomid}{date}_{random}",至少携带两级下划线,以避免和其他用户冲突

Path和NameRule仅私有云需要,当您使用公有云时,可以忽略这两个参数

命名规则说明:

例如:

xx_{random}_{date}_{time}_{roomid}_{userid}_xx.mp4
 {random}: 4位随机字符串数字+字母
 {date}: 日期-年月日 20180912
 {time}: 时间-秒数
 {roomid}: 房间ID
 {userid}: 用户ID - 只适用于单独的音视频,合成音视频此参数无效
最多支持5个自定义参数,如果您不需要或没有,可以不填。比如这样的名称xx_{random}_{date}_{roomid}_xx.mp4,也是有效的。该自定义名称会在录像回调中返回给您。

返回值

{"result":"ok"}

该返回值为josn类型字符串,需要json解析

名称 说明
result ok为成功,其他值均为失败
结束录像:

POST请求

https://www.anyrtc.io/anyapi/v1/stoprecord?AppID=your.appid&ArRoomID=your.roomid&Type=Meet

URL参数

编号 参数 名称 类型 说明
1 AppId 应用ID string 在应用信息中获取
2 ArRoomID 房间名称 string sdk中加入房间时的anyrtcid
3 Type 房间类型 string 会议的录像默认值为Meet,区分大小写

返回值

{"result":"ok"}

该返回值为josn类型字符串,需要json解析

名称 说明
result ok为成功,其他值均为失败

回调地址

通过该回调,用户可以获取到录像文件的相关信息. 该地址由第三方集成方提供,anyRTC平台服务来调用。该接口非实时接口,不是视频结束后立刻回调的。录像之后需要转码,根据录像文件列表数量而定,正常情况5-10分钟左右。

POST 请求

http://your.server.domain:port/AR/V1/av

Accept ContentType:

application/json

body 参数:

编号 参数 名称 类型 说明
1 type 业务类型 string "1":会议录像/会议合成录像;"2":单独每路的录像;"3":提取帧图像
2 mediaType 媒体类型 string audio:音频;video:视频;image:图片
3 userId 用户ID string 用户ID,在sdk中加入房间时的userid
4 groupId 房间ID string 房间ID,在sdk中加入房间时的anyrtcid
5 fileName 文件名称 string 录像文件的名称,在开始录像接口传入的参数。如果您使用了自动录像,则该值为随机字符串
6 fileSize 文件大小 int 录像文件的大小,单位byte
7 duration 文件时长 int 录像文件的市场,单位秒
8 startTime 开始时间 string 会议开始时间,日期格式字符串
9 endTime 结束时间 string 会议结束时间,日期格式字符串
10 downloadUrl 下载地址 string 视频下载地址,http请求
11 userData 用户自定义数据 json string 用户自定义数据,在开始录像接口传入的参数,json格式的字符串

例如:

{
    "type":"2",
    "mediaType":"audio/video",
    "userId":"123456",
    "groupId":"123888",
    "startTime":"1521608787",
    "endTime":"1521608807",
    "fileName":"yyy.mp4",
    "fileSize":65322,
    "duration":20,
    "downloadUrl":"http://www.anyrtc.io/yyy.mp4",
    "userData":"{\"customerCode\":\"1002\",\"devCoder\":\"10006\",\"uNamer\":\"李席\",\"devCoded\":\"10008\",\"uNamed\":\"王伟\",\"nIder\":\"1005\",\"nNamer\":\"电务段\",\"nIded\":\"1006\",\"nNamed\":\"工务段\"}"
}

返回值:

{"code":0,"success": true,"message":"返回结果说明"}

该返回值为josn类型字符串,需要json解析

名称 类型 说明
code int 0为成功,其他失败
success boolean true为成功,false为失败
message string 返回结果的说明

根据时间获取录像

通过该方法,用户可以主动获取录像文件的相关信息.该接口每分钟最多调用5次。

根据时间获取录像文件列表:

POST 请求

示例为postman请求

curl -X POST \
  http(s)://vdn.anyrtc.cc/oauth/anyapi/v1/videoInfo/getVodListByTime \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "appId":"anyrtcsdfqasdfsdfi",
    "random":"123456",
    "signature":"33d60e07681dfcc436422aab02e20261",
    "timestamp":1559557543000,
    "pageNum":2,
    "pageMax":5,
    "begTime":1558371600000,
    "endTime":1559149200000
}'

BODY参数:

编号 参数 名称 类型 说明
1 appId 应用ID string 应用的ID,在用户后台获取
2 random 随机字符串 string 随机字符串,6-10位即可
3 signature 签名 string 请求的签名
4 timestamp 时间戳 int 当前毫秒时间戳
5 begTime 开始时间 int 查询开始时间的时间戳,毫秒
6 endTime 结束时间 int 查询结束时间的时间戳,毫秒
7 pageNum 当前页数 int 查询的当前页数
8 pageMax 每页最大列数 int 每页显示多少条

signature计算方式:

md5(appid+timestamp+vodtoken+random)

appid,timestmap,vodtoken和random拼接字符串,顺序不能变,字符串中间没有‘+’号,然后进行md5计算.vodtoken在用户后台开通录像功能的地方获取.

返回值

{
    "requestid": 1559557594286,
    "code": 200,
    "message": "get video list success",
    "content": {
        "data": [
            {
                "filesize": 957271,
                "filestatus": 2,
                "filetype": "mp4",
                "upload_time": "2019-05-30T09:35:19.000Z",
                "upload_timestamp": 1559145600000,
                "download_url": "http://192.168.199.219:8080/anyrtc/6zDIxYEI6wYSQxjk6EdX.mp4",
                "start_time": 1559208681,
                "end_time": 1559208696,
                "file_duration": 15
            },
            {
                "filesize": 146,
                "filestatus": 2,
                "filetype": "mp4",
                "upload_time": "2019-05-30T02:39:32.000Z",
                "upload_timestamp": 1559145600000,
                "download_url": "http://192.168.199.219:8080/anyrtc/GLn8MWgGtfi2rLCZZTXo.mp4",
                "start_time": 1559183897,
                "end_time": 1559183960,
                "file_duration": 63
            },
        ],
        "cnt": {
            "cnt": 12
        }
    }
}

该返回值为josn类型字符串,需要json解析

名称 类型 说明
code int 200为成功,其他均为失败
msg string 接口返回说明
conent object 接口返回内容

content说明:

data: 对象列表 cnt: 返回列表的数量

名称 类型 说明
filesize int 录像文件大小,单位 byte
filestatus int 录像文件的状态, 0:未转码,1:转码中,2:转码成功,3:转码失败
filetype string 录像文件的类型,默认mp4
upload_time string 录像文件上传至服务器的时间
upload_timestamp int 录像文件上传至服务器的时间, 单位秒,也是查询列表时判断的时间
download_url string 录像文件下载/观看的路径
start_time int 录像视频开始的时间,即通话开始的时间
end_time int 录像视频结束的时间,即通话结束的时间
file_duration int 通话的时长,单位秒

根据房间ID获取录像

通过该方法,用户可以主动获取录像文件的相关信息.该接口每分钟最多调用5次。

根据房间ID获取录像文件列表:

POST 请求

示例为postman请求

curl -X POST \
  http://vdn.anyrtc.cc/oauth/anyapi/v1/videoInfo/getVodInfoByRoomId \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'postman-token: d1c86e6b-94e4-c096-7120-afaf767d6fcc' \
  -d '{
    "appId":"anyrtcYoK8tlxUPXVR",
    "random":"123456",
    "signature":"159ccc862ed1c21e2c5174db21d64d77",
    "timestamp":"1563798085000",
    "roomId":"4PN9lMlvFV",
    "begTime":"1563443671764",
    "endTime":1563508505030
}'

BODY参数:

编号 参数 名称 类型 说明
1 appId 应用ID string 应用的ID,在用户后台获取
2 random 随机字符串 string 随机字符串,6-10位即可
3 signature 签名 string 请求的签名
4 timestamp 时间戳 int 当前毫秒时间戳
5 begTime 开始时间 int 查询开始时间的时间戳,毫秒
6 endTime 结束时间 int 查询结束时间的时间戳,毫秒
7 roomId 房间ID string 需要查询的房间ID

signature计算方式:

md5(appid+timestamp+vodtoken+random)

appid,timestmap,vodtoken和random拼接字符串,顺序不能变,字符串中间没有‘+’号,然后进行md5计算.vodtoken在用户后台开通录像功能的地方获取.

返回值

{
    "requestid": 1563798336110,
    "code": 200,
    "message": "get video info success",
    "content": {
        "data": [
            {
                "fileid": "S3EDRhaQo4pqUBO3a4Tu",
                "filesize": 13958524,
                "filestatus": 2,
                "filetype": "mp4",
                "upload_time": "2019-07-18T10:22:47.000Z",
                "upload_timestamp": 1563445367404,
                "room_id": "4PN9lMlvFV",
                "download_url": "http://vod.anyrtc.cn:10090/tmix/S3EDRhaQo4pqUBO3a4Tu.mp4",
                "start_time": 1563445166,
                "end_time": 1563445361,
                "file_duration": 195
            }
        ],
        "cnt": {
            "cnt": 1
        }
    }
}

该返回值为josn类型字符串,需要json解析

名称 类型 说明
code int 200为成功,其他均为失败
msg string 接口返回说明
conent object 接口返回内容

content说明:

data: 对象列表 cnt: 返回列表的数量

名称 类型 说明
fileid string 录像文件id, 标识不同的文件
filesize int 录像文件大小,单位 byte
filestatus int 录像文件的状态, 0:未转码,1:转码中,2:转码成功,3:转码失败
filetype string 录像文件的类型,默认mp4
upload_time string 录像文件上传至服务器的时间
upload_timestamp int 录像文件上传至服务器的时间, 单位秒,也是查询列表时判断的时间
room_id string 房间ID,对应会议ID
download_url string 录像文件下载/观看的路径
start_time int 录像视频开始的时间,即通话开始的时间
end_time int 录像视频结束的时间,即通话结束的时间
file_duration int 通话的时长,单位秒

错误码

code 说明
200 调用成功
400 缺少参数, 请查看参数名字拼写是否正确,类型是否正确
247 应用ID不存在
281 错误的签名, 请查看md5的变量顺序是否正确,每个变量的值是否正确
282 错误的时间戳, 请查看时间戳是否正确,毫秒时间
284 应用无效或已删除
299 接口调用频繁, 一分钟内最多5次
501 内部错误
© 2016-2019 铂渊信息技术(上海)有限公司 all right reserved,powered by Gitbook该文件修订时间: 2020-07-29 12:20:25

results matching ""

    No results matching ""