查询视频分析
接口描述
1、通过视频id查询视频分析
2、接口URL中的{userid}为点播账号userid,具体参考菜单【使用须知】->【获取密钥】
3、接口支持https协议
接口URL
http://api.polyv.net/v2/advance/video/{userid}
请求方式
GET
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看 2、高级分析功能介绍详见: 视频高级分析 3、由于数据量和计算量大,数据分析结果次日才可查询
请求参数描述
示例
http://api.polyv.net/v2/advance/video/1b448be323?vid=1b448be323fb327a42539cbb788913b4_1&sign=0FF2C07D900C3ABC777A39A210B6CAF118537C06&userid=1b448be323&ptime=1617789916637
响应参数描述
data字段说明
videoId
String
视频id
videoName
String
视频名称
duration
Integer
视频时长,单位:秒
playTimes
Integer
播放次数
uniqueViewerCount
Integer
唯一观众数
avgCompletionRate
Double
平均观看完成度
viewHeatmap
String
观看热力图,例如["0-20:662","21-100:665"]代表视频内容的0到20秒有662次观看,21到100秒有665次观看
uniqueViewHeatmap
String
唯一观看热力图,例如["0-20:614","21-100:615"]代表视频内容的0到20秒有614个观众观看,21到100秒有615个观众观看
返回错误代码列表
400
sign can not be empty.
加密串为空
400
ptime is too old.
时间戳过期
400
ptime is illegal.
ptime超出当前时间3分钟
400
Could not find user by userid.
userid不存在
400
the sign is not right.
加密串错误
401
vid is blank.
视频id为空
402/403
cannot find this video data.
查不到视频分析数据
404
get video analytics detail failed.
后台获取数据失败
500
get play list failed. please check the backend log.
后台抛异常
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。
强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(VodBigdataTest.class);
/**
* 查询视频分析
*/
@Test
public void testGetVideoAnalysis() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String secretKey = super.secretKey;
String userId = super.userId;
String ptime = String.valueOf(System.currentTimeMillis());
//业务参数
String url = String.format("http://api.polyv.net/v2/advance/video/%s", userId);
String vid = "1b448be323fb327a42539cbb788913b4_1";
Map<String, String> requestMap = new HashMap<>();
requestMap.put("userid", userId);
requestMap.put("ptime", ptime);
requestMap.put("vid", vid);
requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));
String response = HttpUtil.get(url, requestMap);
log.debug("测试查询视频分析,{}", response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code": 200,
"status": "success",
"message": "success",
"data": {
"videoId": "1b448be323fb327a42539cbb788913b4_1",
"videoName": "防爆演习2",
"duration": 13,
"playTimes": 19,
"uniqueViewerCount": 4,
"avgCompletionRate": 0.96,
"viewHeatmap": "[\"0-2:1\"]",
"uniqueViewHeatmap": "[\"0-2:1\"]"
}
}
异常示例
{
"code": 400,
"status": "error",
"message": "ptime is too old.",
"data": ""
}
Last updated
Was this helpful?