批量查詢影片分析
更新時間:2025-03-12 17:14:55
介面描述
1、分页查询所有已发布视频的视频分析数据
2、接口支持https协议
介面URL
https://api.polyv.net/v3/advance/video/list
請求方式
GET
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
2、進階分析功能介紹詳見:影片進階分析
3、由於資料量和計算量大,資料分析結果次日才可查詢
4、批次查詢介面,僅可查狀態為已發布的影片資料
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 直播appId。可在「雲點播」->「設定」->「API介面」中查看您的直播appId和appSecret |
| timestamp | true | Long | 目前時間的毫秒級時間戳記,30分鐘內有效 |
| page | false | Integer | 分頁頁碼,從1開始,預設值為1 |
| pageSize | false | Integer | 分頁大小,預設值為10,最大值為100 |
| vidList | false | String | vid集合,需要批次查詢指定vid的影片分析資料時可傳此參數,多個vid用英文逗號隔開,一次介面呼叫最多支援傳100個vid。如833584471db2eb2b9d0b582e7e755c66_8,833584471d0ed109bb261b104f584896_8 |
| sign | true | String | 簽名,32位元大寫MD5值【詳見MD5簽名產生規則】 |
範例
https://api.polyv.net/v3/advance/video/list?timestamp=1682498437763&appId=gf24khyndx&page=1&pageSize=10&sign=4C62E7E1FDBD500C032A2E047B8C6A43
回應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| requestId | String | 請求唯一識別碼,如遇介面呼叫失敗情況,可發此id給客服輔助排查問題 |
| data | Object | 回應成功時返回影片分析詳細資料 【詳見data欄位說明】 |
| error | Object | 失敗時的錯誤資訊,【詳見error欄位說明】 |
data欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| pageNumber | Integer | 分頁頁碼 |
| pageSize | Integer | 分頁大小 |
| totalPages | Integer | 總頁數 |
| totalItems | Integer | 總資料筆數 |
| contents | List | 【詳見contents欄位說明】 |
contents欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| 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個觀眾觀看 |
error欄位說明
| code | desc | 說明 |
|---|---|---|
| 9 | undefined error | 未知異常 |
| 4013 | vid illegal | 影片vid不合法,請檢查參數中的影片id是否正確 |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
* 批量查询视频分析
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void getVideoAdvanceTest() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;//注意此处为appId
String appSecret = super.appSecret;//注意此处为appSecret,非secretKey
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "https://api.polyv.net/v3/advance/video/list";
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("page", "1");
requestMap.put("pageSize", "1");
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("测试批量查询视频分析成功:{}", response);
//do somethings
}
回應範例
成功範例
{
"requestId": "40d2ab85-73a4-4266-bcc6-8e828d8c9a9b",
"code": 200,
"status": "success",
"error": null,
"data": {
"pageNumber": 1,
"totalPages": 1,
"pageSize": 10,
"totalItems": 3,
"contents": [
{
"videoId": "833584471db2eb2b9d0b582e7e755c66_8",
"videoName": "导出18-平台设置",
"duration": 145,
"playTimes": 6,
"uniqueViewerCount": 1,
"avgCompletionRate": 0.03,
"viewHeatmap": "[\"0-1:6\",\"2-2:4\",\"3-5:2\",\"6-15:1\"]",
"uniqueViewHeatmap": "[\"0-15:1\"]"
},
{
"videoId": "833584471d0ed109bb261b104f584896_8",
"videoName": "导出17-数据统计",
"duration": 129,
"playTimes": 1,
"uniqueViewerCount": 1,
"avgCompletionRate": 0.2,
"viewHeatmap": "[\"0-26:1\"]",
"uniqueViewHeatmap": "[\"0-26:1\"]"
},
{
"videoId": "833584471d80e5c1752460d2a07bd51c_8",
"videoName": "导出16-默认模板",
"duration": null,
"playTimes": null,
"uniqueViewerCount": null,
"avgCompletionRate": null,
"viewHeatmap": null,
"uniqueViewHeatmap": null
}
]
}
}
異常範例
- 未知異常
{
"requestId": "492834b6-c1c6-4c5e-8609-ddc1f96da1e4",
"code": 500,
"status": "error",
"error": {
"code": 9,
"desc": "undefined error"
},
"data": null
}
- 影片id不合法
{
"requestId": "edcc2674-bf46-4db1-991c-0f7feab94200",
"code": 400,
"status": "error",
"error": {
"code": 4013,
"desc": "vid illegal"
},
"data": null
}
