批量查询视频时长和大小
更新时间:2025-01-14 15:48:10
接口描述
1、根据分类id或者视频id批量查询视频的时长和大小
2、接口URL中的{userid}为点播账号userid,具体参考菜单【使用须知】->【获取密钥】
3、支持https协议
接口URL
http://api.polyv.net/v2/video/{userid}/getSizeByCata
请求方式
GET
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、视频id和分类id不能同时为空,同时都传的情况下依据视频id查询,分类id不生效
请求参数描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| ptime | true | Long | 当前时间的毫秒级时间戳,3分钟内有效 |
| sign | true | String | 签名,为40位大写的SHA1值,生成签名的secretkey密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则】 |
| vids | true | String | 视频id,多个视频以英文逗号分隔,例如:a2dc4f25179499d6586362672838cc2d_a,a2dc4f25179499d6586362672838cc2d_a 一次最多只能传500个视频id |
| cataid | false | String | 多个分类id以英文逗号分隔,例如:23,34 |
示例
http://api.polyv.net/v2/video/1b448be323/getSizeByCata?vids=1b448be3239c2ef0cb3ab9fd105f7fb2_1,1b448be32399ac90f523f76c7430c9a5_1&sign=E89E543C0F731046620C3D1662F6967323349F27&ptime=1617098602701
响应参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200为成功返回,非200为失败【详见全局错误说明】 |
| status | String | 响应状态文本信息 |
| message | String | 响应描述信息,当code为400或者500的时候,辅助描述错误原因 |
| data | Array | 响应成功时返回频道详细信息【详见data字段说明】,失败时返回空 |
Data参数描述
| 字段 | 类型 | 说明 |
|---|---|---|
| cataid | Long | 分类id |
| videos | Array | 返回视频结果集数组【详见videos字段说明】 |
videos参数描述
| 字段 | 类型 | 说明 |
|---|---|---|
| vid | String | 视频id |
| duration | String | 预览的时长,例如:00:00:24 |
| filesize1 | Long | 编码后码率1FLV的大小,单位为Bytes:字节 |
| filesize2 | Long | 编码后码率2FLV的大小,单位为Bytes:字节 |
| filesize3 | Long | 编码后码率3FLV的大小,单位为Bytes:字节 |
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。
强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(VodVideoManageManagementTest.class);
/**
*批量查询视频时长和大小
*/
@Test
public void testBatchGetDurationAndSize() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String secretKey = super.secretKey;
String userId = super.userId;
String ptime = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/v2/video/"+userId+"/getSizeByCata";
String cataid="1615286323771";
//调用参数
Map<String, String> requestMap = new HashMap<>();
requestMap.put("userid", userId);
requestMap.put("ptime", ptime);
requestMap.put("cataid", cataid);
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":[
{
"cataid":1615286323771,
"videos":[
{
"vid":"1b448be323eb5bbbf0f47e303a54d536_1",
"duration":"00:00:10",
"filesize1":202978
},
{
"vid":"1b448be323be5ff7f8956437d102c4d8_1",
"duration":"00:00:24",
"filesize1":1168036,
"filesize2":1929455,
"filesize3":4062216
},
{
"vid":"1b448be32399ac90f523f76c7430c9a5_1",
"duration":"00:00:24",
"filesize1":1205029,
"filesize2":1986035,
"filesize3":4168438
},
{
"vid":"1b448be3239c2ef0cb3ab9fd105f7fb2_1",
"duration":"00:00:24",
"filesize1":1190625,
"filesize2":1985852,
"filesize3":4119734
}
]
}
]
}
异常示例
{
"code":400,
"status":"error",
"message":"sign can not be empty.",
"data":""
}
