最近对接的视频存储平台是保利威视,业务需要视频的详细信息,整理的以下代码

保利威视API 的地址 http://dev.polyv.net/2017/videoproduct/v-api/v-api-vmanage/v-api-vmanage-info/get-video-msg/

import com.alibaba.fastjson.JSONObject;
import com.colorzebra.message.model.Result;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;import java.io.IOException;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.*;public class TestServiceImpl {public Integer test(String vid) throws DigestException {//需要视频的长度 单位是sint second=0;//指定返回值的类型String  format = "json";//生成毫秒级的时间戳long ptime = new Date().getTime();//将时间戳转为String类型String time = String.valueOf(ptime);//拼接字符串/*签名规则:将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作              为sign。 以下是示例过程 *///连接参数名与参数值,并在尾部加上secretkey(从点播后台获取,假设secretkey的值为tIQp4ATe9Z),如下:format="format=json&ptime="+ptime+"&vid="+vid+"tIQp4ATe9Z";String sha1 = DigestUtils.sha1Hex(format);//获取SHA1 加密String s = SHA1(format);CloseableHttpClient httpclient = HttpClients.createDefault();// 创建httppostHttpPost httppost = new HttpPost("http://api.polyv.net/v2/video/6d93d0897a/get-video-msg");// 创建参数队列List formparams = new ArrayList();formparams.add(new BasicNameValuePair("vid", vid));formparams.add(new BasicNameValuePair("format", "json"));formparams.add(new BasicNameValuePair("ptime", time));formparams.add(new BasicNameValuePair("sign", s));UrlEncodedFormEntity uefEntity;try {uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");httppost.setEntity(uefEntity);CloseableHttpResponse response = httpclient.execute(httppost);try {HttpEntity entity = response.getEntity();if (entity != null) {//处理返回值String a= EntityUtils.toString(entity, "UTF-8");JSONObject  jsonObject = JSONObject.parseObject(a);Map<String,Object> map = (Map<String,Object>)jsonObject;List sa = (List) map.get("data");Map<String,Object> data= (Map<String, Object>) sa.get(0);//获取视频时长String time1= (String) data.get("duration");//处理视频时长 转化为秒String[]  strs=time1.split(":");try {int h = Integer.parseInt(strs[0]);int m = Integer.parseInt(strs[1]);second = Integer.parseInt(strs[2]);if(h>0){second+= h*60*60;}if( m>0){second+=m*60;}} catch (NumberFormatException e) {e.printStackTrace();}}} finally {response.close();}} catch (Exception e) {}   finally {// 关闭连接,释放资源try {httpclient.close();} catch (IOException e) {e.printStackTrace();}}return second;}public static String SHA1(String maps) throws DigestException {//获取信息摘要 - 参数字典排序后字符串try {//指定sha1算法MessageDigest digest = MessageDigest.getInstance("SHA-1");digest.update(maps.getBytes());//获取字节数组byte messageDigest[] = digest.digest();// Create Hex StringStringBuffer hexString = new StringBuffer();// 字节数组转换为 十六进制 数for (int i = 0; i < messageDigest.length; i++) {String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);if (shaHex.length() < 2) {hexString.append(0);}hexString.append(shaHex);}return hexString.toString().toUpperCase();} catch (NoSuchAlgorithmException e) {e.printStackTrace();throw new DigestException("签名错误!");}}}

保利威视根据vid查询视频信息相关推荐

  1. 保利威视polyv的Api调用

    官方接口文档 https://dev.polyv.net/2017/videoproduct/v-api/v-api-vmanage/v-api-vmanage-info/get-video-msg/ ...

  2. 保利威视平台:视频远程同步工具

    对于远程服务器上的视频文件,Polyv有一个远程抓取接口, 不过批量视频抓取,可以采用视频远程同步工具. 导入任务 先用文本编辑器创建文件,整理好视频的链接和对应的标题逗号分隔,每一行一条列表,保存为 ...

  3. 阿里云,腾讯云,保利威视,金山云,七牛云的视频云方案的不同之处。

    前几年,国内的视频云竞争确实超级火爆,以公共云为代表的阿里云.腾讯云等大力投入视频云研发及市场推广,都取得了不错的成绩:金山云.七牛云等也纷纷推出了自家的视频云平台. 阿里云由于初期承诺只做底层,而视 ...

  4. 职教视频云:保利威、百家云与巨头对垒

    配图来自Canva可画 作为当下备受青睐的转型赛道之一,职业教育正在开启新的发展窗口,结合直播来打造玩法更多.互动更全的云课堂成为了众多职业教育玩家抢占先机的竞争高地. 面对职业教育线上化趋势,越来越 ...

  5. 技术赋能教育直播,保利威玩转“5G+AI”

    更多精彩内容请关注我们 俗话说,人无远虑,必有近忧. 直播作为在线教育的重要手段之一,近几年在我国快速崛起,2018年出现了一个发展高潮.无论是1对1还是1对多,也无论职业教育还是传统的管理培训,在线 ...

  6. SaaS化MR直播正式上线!保利威开启轻量化虚拟直播时代

    今年3月份,保利威在Service+战略会上发布了SaaS化的MR直播系统. 坦白说,包括小编在内的绝大多数保利威人,都觉得这"事"没想象中的那么简单. ▲ 保利威发布SaaS化的 ...

  7. Python笔记_84_我的订单_使用celery完成订单超时_视频播放_使用保利威视频加密

    文章目录 我的订单 后端提供查询当前登录用户的订单列表信息 前端请求获取当前登录用户的订单信息 订单状态显示分析 使用Celery的定时任务来完成订单超时功能 视频播放 使用保利威云视频服务来对视频进 ...

  8. 保利威(polyv)加密视频的使用详解---python(基于drf/vue)

    0. 注册账号,新人会免费用7天 polyv官网地址http://www.polyv.net/vod/ 一. 根据图片步骤,创建视频分类并上传测试视频 a.    b. c.  d.  二. 参数介绍 ...

  9. java调用保利威视频文件数据信息同步

    先阐述一下,我们公司开通了直播模块,采用的就是保利威的平台,直播这一块主要是公司php那边负责的,我们这边需要把他们上传到保利威视频的信息存档,并且可以通过存档的链接在我们自己的平台上播放,这个文档的 ...

  10. 保利威荣获「年度最佳直播服务商」!引领视频直播行业创新发展

    2022年8月12日,弯弓Digital在第四届中国营销数字化大会上颁布了「年度最佳营销数字化企业奖」.「年度营销技术机构TOP100」.「年度私域大奖」和「年度最佳营销技术单项奖」等四大奖项. 凭借 ...

最新文章

  1. C++拾遗(五)语句相关
  2. 2020-09-25C++学习笔记引用2:二级指针形参与指针形参的使用方法和区别重难点,主看综合代码(1、指针形参2、引用形参3、二级指针形参4、指针引用形参)
  3. IBM Java多线程 - 6.其它线程 API 详细信息
  4. smarty学习——编程知识
  5. Dancing Naked in the Mind Field
  6. Python中的进程和线程
  7. 魅蓝note2android8,魅族魅蓝Note3和魅蓝Note2哪个好
  8. C语言冒泡排序(升序)
  9. Flutter-防京东商城项目-收货地址列表、增加 修改收货地址布局、弹出省市区选择器-39
  10. 2.5D 组态案例合集 | 智慧园区、数据中心、SMT 生产线、汽车制造
  11. 洛谷P4568飞行路线(分层图最短路)
  12. 基于python的客流统计_基于深度学习的客流量统计方法
  13. SpringCloud(三)了解了概念,现在来验证一下,玩个小案例
  14. web文件上传-0x00漏洞
  15. STM32 DAC 输出正弦波、三角波、方波
  16. 云原生Java架构师——KubeSphere DevOps流水线部署RuoyiCloud
  17. 细说MySQL的时间戳(Timestamp)类型
  18. 解读VL162最新Switshi切换芯片是VIA最新推出的Switsh芯片USB 3.1 Type-C接口数据切换开关专用芯片
  19. 【PCB设计】Mac系统Autodesk EAGLE PCB使用入门教程
  20. 带MPPT的同步降压电路的设计-开题报告

热门文章

  1. 安卓手机怎样安装apk应用
  2. 微信小程序自定义组件——手写radio
  3. 100道练习理解SQL语法
  4. 随风轻逝--感悟2005
  5. delete obsolete 会删除归档日志么?
  6. 10个提升写作手法的方法
  7. 境外诈骗,最新来自senegal的邮件诈骗
  8. LabVIEW编程LabVIEW开发 控制NI USB-6225例程与相关资料
  9. module java.base does not “opens java.lang“ to module spring.core
  10. 【视频通话卡顿】【语音通话卡顿】PC端QQ、微信每天接通语音电话或视频通话总会出现首卡半分钟左右的童鞋请进