恢复回收站视频API接口

接口URL

https://api.polyv.net/v2/video/{userId}/recover-videos

接口说明

该接口恢复点播回收站中的视频,接口支持批量恢复,一次性最多支持恢复100个视频。

支持格式

JSON

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
userId true string 用户id,路径参数
ptime true string 当前13位毫秒级时间戳,3分钟内有效
sign true string 签名,40位大写的sha1值
vids true string 点播视频vid

返回结果

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": ""
}

失败返回json

// 时间戳过期:
{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
// 视频vids为空
{
    "code": 400,
    "status": "error",
    "message": "vids can't be empty",
    "data": ""
}
// vids数量超过100个
{
    "code": 400,
    "status": "error",
    "message": "vids limits 100",
    "data": ""
}
// 签名报错
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}

响应参数说明

字段 说明 类型 schema
code 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据

响应错误说明

错误代码 message 说明
400 sign can not be empty. 加密串为空
400 ptime is too old. 时间戳过期
400 ptime is illegal. 时间戳参数格式不对或者超过当前时间3分钟
400 Could not find user by userId. userId不存在
400 the sign is not right. 签名不正确
400 vids can't be empty 视频vid为空
400 vids limits 100 vids数量超过100个

PHP请求示例

<?php

$userId="xxxxxx";
$secretkey="xxxxxx";
$url = 'http://api.polyv.net/v2/video/'.$userId.'/recover-videos';
$header = array('application/x-www-form-urlencoded');
$data = array(
    "ptime" => time()*1000,
    "vids" => "xxxxxx_x",
);
ksort($data);
$str='';
foreach ($data as $k => $v) {
    $str = $str.$k.'='.$v.'&';
}
$str=substr($str,0,strlen($str)-1);
$str=$str.$secretkey;
$hash=strtoupper(sha1($str));
$data["sign"]=$hash;
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"
format = "json"

2、将请求参数按照参数名字典顺序排列

format = "json"
ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

format=json&ptime=1492591990000&vid=382839019131be68715e9455f8d0971a_3tIQp4ATe9Z

4、生成签名sign

50BF9B165630A8047EB1D17D95A469CC51FF754E
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

创建视频弹幕接口

接口URL

https://api.polyv.net/v2/danmu/{userId}/add

接口说明

上传点播视频弹幕接口,弹幕暂不支持特殊字符与表情符。

支持格式

JSON

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
userId true string 用户id,路径参数
ptime true string 当前13位毫秒级时间戳,3分钟内有效
sign true string 签名,40位大写的sha1值
vid true string 点播视频vid
msg true string 弹幕信息
time true string 弹幕出现的时间,格式 HH:mm:ss
sessionId false string 场次号
param2 false string 自定义参数
fontSize false int32 字体大小,默认:18
fontMode false string 出现位置,顶部:top,底部:bottom,滚动:roll(默认)
fontColor false string 字体颜色,格式0xFFFFFF, 默认:0xFFFFFF

返回结果

// 成功结果
{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "Id": 1115759
    }
}

失败返回json

// 时间戳过期:
{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
// 签名报错
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}
// 必须参数为空
{
    "code": 400,
    "status": "error",
    "message": "vid, msg and time should not be empty.",
    "data": ""
}
// 弹幕时间格式不对
{
    "code": 400,
    "status": "error",
    "message": "Wrong time format.",
    "data": ""
}
// 非法参数
{
    "code": 400,
    "status": "error",
    "message": "font size illegal",
    "data": ""
}
// 视频不存在
{
    "code": 400,
    "status": "error",
    "message": "vid doesn't exist.",
    "data": ""
}

响应参数说明

字段 说明 类型 schema
code 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据 object
data.Id 弹幕Id int32

响应错误说明

错误代码 message 说明
400 sign can not be empty. 加密串为空
400 ptime is too old. 时间戳过期
400 ptime is illegal. 时间戳参数格式不对或者超过当前时间3分钟
400 Could not find user by userId. userId不存在
400 the sign is not right. 签名不正确
400 vid doesn't exist. 视频vid为空
400 vid, msg and time should not be empty. 必传参数为空
400 Wrong time format. 弹幕时间格式不对
400 font size illegal 字体格式非法

PHP请求示例

<?php

$userId="xxxxxxxxxxx";
$secretkey="xxxxxxxxxxx";
$url = 'http://api.polyv.net/v2/danmu/'.$userId.'/add';
$header = array('application/x-www-form-urlencoded');
$data = array(
    "ptime" => time()*1000,
    "msg" => "弹幕......",
    "vid" => "xxxxxxxxxxx",
    "time" => "00:01:10"
);
ksort($data);
$str='';
foreach ($data as $k => $v) {
    $str = $str.$k.'='.$v.'&';
}
$str=substr($str,0,strlen($str)-1);
$str=$str.$secretkey;
$hash=strtoupper(sha1($str));
$data["sign"]=$hash;
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"
format = "json"

2、将请求参数按照参数名字典顺序排列

format = "json"
ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

format=json&ptime=1492591990000&vid=382839019131be68715e9455f8d0971a_3tIQp4ATe9Z

4、生成签名sign

50BF9B165630A8047EB1D17D95A469CC51FF754E
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

上传点播视频字幕文件

接口URL

https://api.polyv.net/v2/video/{userId}/srt/upload

接口说明

上传点播视频字幕接口,改接口会自动检测字幕语言。

支持格式

form-data

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
userId true string 用户id,路径参数
ptime true string 当前13位毫秒级时间戳,3分钟内有效
sign true string 签名,40位大写的sha1值
vid true string 点播视频vid
title true string 字幕名称
file true file 字幕文件,支持utf-8编码
asDefault false string 是否作为默认字幕,Y:是,N:否
language false string 语言,默认自动检测,支持语言:中文、繁体中文 、英语、日语、韩语、法语、德语、俄语、西班牙语、阿拉伯语、葡萄牙语、其他

返回结果

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": null
}

失败返回json

// 时间戳过期:
{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
// 文件名称为空
{
    "code": 400,
    "status": "error",
    "message": "title can't be empty",
    "data": ""
}
// 文件为空
{
    "code": 400,
    "status": "error",
    "message": "file can't be empty",
    "data": ""
}
// 签名报错
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}

响应参数说明

字段 说明 类型 schema
code 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据

响应错误说明

错误代码 message 说明
400 sign can not be empty. 加密串为空
400 ptime is too old. 时间戳过期
400 ptime is illegal. 时间戳参数格式不对或者超过当前时间3分钟
400 Could not find user by userId. userId不存在
400 the sign is not right. 签名不正确
400 vid can't be empty 视频vid为空
400 file can't be empty 视频文件不能为空
400 title can't be empty 标题为空
400 language is not support 不支持的语言

PHP请求示例

<?php

$userId="xxxxxx";
$secretkey="xxxxxx";
$url = 'http://api.polyv.net/v2/video/'.$userId.'/srt/upload';
$header = array('Content-type: multipart/form-data');
$data = array(
    "ptime" => time()*1000,
    "title" => "xxxxx",
    "vid" => "xxxxxx_x",
);
ksort($data);
$str='';
foreach ($data as $k => $v) {
    $str = $str.$k.'='.$v.'&';
}
$str=substr($str,0,strlen($str)-1);
$str=$str.$secretkey;
$hash=strtoupper(sha1($str));
$data["sign"]=$hash;
$data['file']='@/home/moshunwei/english.srt';
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"
format = "json"

2、将请求参数按照参数名字典顺序排列

format = "json"
ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

format=json&ptime=1492591990000&vid=382839019131be68715e9455f8d0971a_3tIQp4ATe9Z

4、生成签名sign

50BF9B165630A8047EB1D17D95A469CC51FF754E
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

音频播放器使用文档

概述

Polyv 音频播放器是保利威云点播Web播放器的重要补充,主要应用于音频为主的业务场景,基于HTML5实现PC/移动端兼容,并深度融合了保利威视频云业务,如支持加密播放等,为用户提供简单、快速、安全、稳定的播放服务。

基础功能

  1. 支持播放上传到保利威平台的音视频文件,并且支持播放加密的音视频文件。
  2. 播放控制(播放、暂停,拖拽进度调整等)。
  3. 两套默认皮肤可选,也可以自定义样式。

支持格式

  • 音频格式:mp3、aac、m3u8
  • 音频编码:mp3、aac
  • 视频格式:mp4、m3u8
  • 视频编码:h264

注:
1. 如果上传文件时设置的是默认转码方式,所有的文件都会转码为视频文件,使用音频播放器播放视频文件时,只会播放声音,没有图像。
2. 如果上传文件时设置了"源文件播放",平台不会对源文件进行转码,播放器会直接播放源文件。建议上传mp3或aac格式的文件,其它音频格式文件,如3gp、ogg、wav、FLAC、mov等,能否正常播放取决于浏览器支持。
3. 如果上传视频文件时设置了“生成音频文件”,平台在转码时会额外转出一份mp3文件,音频播放器会播放该mp3文件。

适配情况

mp3 aac mp4 m3u8
iOS
Android 4.0+
Chrome 34+
Firefox 49+
IE IE9+ IE9+ IE9+ IE11+ for Windows 8.1+
Edge
Safari 8+

常见适配问题:
1. 设置autoplay=true无效,不会自动播放
- 移动端浏览器中音频自动播放一直是禁止的,目前通用的办法是通过用户手动触发播放(例如监听用户的点击事件并调用play方法),但不排除一些特性的浏览器和webview允许自动播放。
- PC端Chrome 55以上版本、MacOS High Sierra Safari 11以上的浏览器也都限制自动播放。
2. 音量调节功能(setVolume)在iOS和部分Android浏览器上不支持。
3. 倍速播放功能(setSpeed)在部分移动端浏览器上不支持,比如Android 微信。

集成方式

引入资源

<!-- 指定版本 -->
<script src="//player.polyv.net/resp/vod-audio-player/0.1.0/audio-player.min.js"></script>
<!-- 最新版本 -->
<script src="//player.polyv.net/resp/vod-audio-player/latest/audio-player.min.js"></script>

创建 HTML 节点

<div id="myAudioPlayer"></div>

创建播放器实例

const plvAudioPlayer = new PlvAudioPlayer({
  vid: '从 polyv 后台获取的 vid',
  wrap: '#myAudioPlayer',
  skin: 'white'
});

监听播放器事件

// 播放器初始化完毕
plvAudioPlayer.on('ready', function() {
  console.info('ready');
});

调用播放器方法,及获取播放器属性

// 切换加密视频
plvAudioPlayer.changeVid({
  ts: ts,
  sign: sign,
  vid: vid
});
// 获取音频文件当前播放进度
const currentTime = plvAudioPlayer.currentTime;

API 文档

参数设置

将所有参数以对象形式传入播放器,可以设置的属性包括:

名称 类型 是否必填 描述
vid string 上传到保利威平台的音视频的唯一ID
viewerInfo object 可选 观众信息(用于观看日志统计)。详见观众信息
wrap string 可选 需要载入播放器的css选择器
skin string 可选 播放器皮肤(white / grey),如果使用自定义播放器皮肤,则不需传该参数。
autoPlay boolean 可选 是否自动播放
loop boolean 可选 是否循环播放
volume number 可选 音量(范围0~1)
speed number 可选 倍速播放
startTime number 可选 从第几秒开始播放,需小于视频时长
playsafe function | string 可选 服务器计算出的 token。若要在PC端播放加密音视频才需要该参数,非加密音视频可忽略。详见创建playsafe token
playsafeUrl string 可选 业务方服务端获取 token 的接口,每次需要 token 时播放器会请求这个接口获取。
ts string 可选 移动端播放web加密音视频使用的 ts,非加密音视频可忽略。详见移动端Web加密说明
sign string 可选 移动端播放web加密音视频使用的 sign,非加密音视频可忽略

静态属性

可以通过 PlvAudioPlayer[key] 获取。

名称 类型 描述
EventType object 回调事件的汇总。

实例属性

每个播放器实例都有以下属性:

名称 类型 描述
audio object 原生的 audio 对象。
currentTime number 当前播放位置,单位:秒。
duration number 当前音频时长,单位:秒。
paused boolean 当前是否暂停状态。

实例方法

play()

开始播放。

pause()

暂停播放。

(async) changeVid(param)

切换媒体文件。

Parameters:
名称 类型 描述
param string | object vid 字符串。如果是加密视频,需要传入包含属性playsafe(PC端)、ts(移动端)、sign(移动端)、vid的对象。

seek(time)

跳转到指定位置。

Parameters:
名称 类型 描述
time number 指定位置的时长,单位为 s。

setLoop(val)

设置循环播放。

Parameters:
名称 类型 描述
val boolean 是否循环播放。

setSpeed(val)

设置播放的倍速。

Parameters:
名称 类型 描述
val number 倍速值,可选范围 0~16。非法值将默认设置为 1。

setVolume(val)

设置音量。

Parameters:
名称 类型 描述
val number 音量值,可选范围 0~1。非法值将默认设置为 1。

stop()

停止播放,停止后的音频再播放会从头开始。

(async) updateParam(param)

更新 param。会导致原来的音频结束播放,重新加载。

Parameters:
名称 类型 描述
param object 播放器参数

destroy()

销毁当前播放器实例。

事件

播放器提供了一些常用的事件回调,使用方法如:

// 播放器初始化完毕
plvAudioPlayer.on('ready', function() {
  console.info('ready');
});

目前提供的播放器方法包括以下:

ready

播放器初始化完毕,播放器提供的方法需在此事件发生后才可以调用。

Properties:
名称 类型 描述
data object 事件信息。可以通过 data.audioInfo 获取音频相关信息。

loadstart

在媒体开始加载时触发。

play

媒体播放时触发。

playing

播放中,会触发多次

pause

播放暂停时触发。

seeking

在跳跃操作开始时触发。

seeked

在跳跃操作完成时触发。

ratechange

在回放速率变化时触发。

timeupdate

元素的currentTime属性表示的时间已经改变。

waiting

在一个待执行的操作(如回放)因等待另一个操作(如跳跃或下载)被延迟时触发。

ended

播放结束时触发。

stop

stop方法完成后的回调。

hlsError

hls发生错误时触发。

serverError

发生播放错误时触发。

Properties:
名称 类型 描述
data object 报错信息。可以通过 data.code 获取报错信息的错误码。
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

字幕设置

字幕设置:顶部功能列表的“播放器”—选择已有播放器(或创建新的播放器)—点击“修改”,如下图所示:
1
点击“修改”后,进入如下图界面,找到“字幕设置”,进行字幕相关属性设置。
2
显示字幕:选择后开启字幕功能;
双语字幕:选中后开启双字幕功能,将根据字幕文件的语言匹配双字幕;
  设为默认字幕:把双字幕设为默认字幕;
  上方字幕:双字幕中位于上方的字幕;
  下方字幕:双字幕中位于下方的字幕;
字幕样式设置:可控制字幕的样式,包括字体、字号、字体颜色、加粗、倾斜、描边、字体间距、字幕高度位置等,具体如下图:
4

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

视频数据司南介绍(视频)

视频说明

视频数据司南,基于保利威大数据系统,从单次观看行为、视频、观众等维度,为您提供更精细化、更直观的数据分析,为业务提供更有效的分析决策依据。

现在我们就来体验一下:
在点播后台数据统计的左侧菜单中,可以看到“高级分析”,
首先,观看行为分析,它能够以秒为粒度展示观众如何观看您的视频。具体是怎么样的呢?
保利威云点播视频的每一次播放,都会产生一个热力图。热力图不仅展示了观看完成度这样的统计结果,还直观地还原了整个观看过程:
白色表示观众跳过了这一部分视频内容,没有观看;
绿色表示观众正常观看了;
黄色表示这部分视频被重复观看了两次;
橙色、红色以及深红色分别表示视频被重复观看了三次、四次以及四次以上。

总而言之,颜色越“热”,代表重复观看的次数越多。

观众信息部分,包括视频开始播放的时间,观众头像,该观众观看您账号下视频的总数量、观众昵称以及观看地点。展开之后,可以看到观看设备、IP、观看页等信息;点击头像或昵称可以跳转至观众分析页面。

视频信息,包括视频封面、名称、时长和视频ID;
点击视频名称或ID,可以进入视频分析功能;

视频分析功能,可以让您了解整个观众群体是如何观看视频的。

红色折线表示视频观看的次数。蓝色折线表示观众人数。
折线出现跌落可能意味着这部分视频内容观众不感兴趣,而上升则可能意味着比较吸引观众注意力。可以根据折线走向,分析优化视频内容,为制作更有吸引力的视频内容提供指导。
图表左侧是几个重要指标统计,让您从宏观层面了解迄今为止该视频的播放情况。

观众分析功能
每个观众都有一个独立页面,点击查看详情,您可以快速查看该观众的总体统计情况,包括:
- 观看视频的总数
- 观看视频花费的总时长
- 平均观看完成度
- 首次观看日期
- 上次观看记录
这些数据能帮您剖析用户活跃程度、流失情况。
另外,还有观众的视频观看热力图,能够让您洞悉观众的每一次观看过程。

数据本身没有意义,除非从中获得有价值的洞察。我们相信,视频数据司南与业务运营结合,对实际效益的增长促进,将拥有无限想象空间。

以上就是保利威视频数据司南的简单介绍,如果您在使用过程中有任何疑问,欢迎联系保利威服务团队。

 

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

课件优化介绍

1.功能介绍

   课件优化是保利威针对「录屏类」视频提供的一套特殊的转码方式,让上传的 PPT 授课,编程教学等录屏类、画面变化量较小的视频,以高分辨率、低码率的参数播放,从而在更小的流量消耗、更低的网络环境要求的情况下,获得更高清的画面效果。

2.适用范围

   桌面录屏、PPT 教学、电子白板拍摄教学等「画面变化量小」的视频

3.效果

课件优化示例

4.如何操作

 1.页面上传
   可以在「上传视频」页面中选择开启课件优化。若担心忘记开启,可以在「顶部菜单栏 - 设置 - 视频设置 - 课件优化」中勾选开启并保存,开启后课件优化功能默认打开,可以在上传页面单次关闭。

页面上传页面后台设置

 2.API 上传
   使用上传 API时,请求参数「luping = 1」即可。

 3.上传客户端上传
   在上传界面右下方确认「课件优化」是否开启,若未开启请点击「前往设置」打开即可。
上传客户端页面上传客户端设置页面

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

高级分析–根据观众id查询观众分析结果

接口URL

http://api.polyv.net/v2/advance/viewer/{userid}

接口说明

高级分析--根据观众id查询观众分析结果

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
ptime true string 当前时间的毫秒级时间戳(13位),30分钟内有效
sign true string 签名
userid true string 用户id(拼接在url,无需另外传参数)
viewerId true string 观众id

注意事项

所有有值的参数,按照字母排序方式以key=value&key=value的格式串起来,最后拼上secretkey,以SHA-1方式加密并全部大写化。(注意,当参数没有传递,或者传递了空值,sign不需要将此参数计算进去)

例如:api传递了ptime,vid。ptime为1,vid为test1,userid对应用户的secretkey为test2
则sign的值为:ptime=1&vid=test1test2经过SHA-1加密后大写化为: C2B1558D697EA3AF4ED2FC90152751860C1E2163。

返回错误结果JSON示例

{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}

返回正确结果JSON示例

{
  "code": 200,
  "status": "success",
  "message": "success",
  "data": {
    "userId": "xxxx",
    "viewerId": "观众id",
    "viewerNickName": "观众昵称",
    "viewerAatar": null,
    "ip": "127.0.0.1",
    "firstWatchTime": 1547020140000,
    "lastWatchTime": 1548148547000,
    "totalVideoCount": 6,
    "totalWatchDuration": 1870,
    "avgCompletionRate": 0.519
  }
}

返回结果data表示成功修改的数量.

字段说明

字段 说明
code 返回码
status 返回状态
message 返回信息
data 操作结果

数据对象字段说明

字段 说明
userId 用户id
viewerId 观众id
viewerNickName 观众昵称
viewerAatar 观众头像
ip ip地址
firstWatchTime 首次观看时间
lastWatchTime 最后观看时间
totalVideoCount 观看视频总数
totalWatchDuration 观众总时长(秒)
avgCompletionRate 平均观看完成度

响应代码与响应信息对应

code message data 说明
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 viewerId is blank. viewerId为空
402 cannot find the viewer analytics data. 查不到对应的观众分析数据
403 get viewer analytics failed. 查询观众分析数据失败
500 get viewer analytics failed. please check the backend log 后台抛异常
200 success 查询到的数据 查询成功

PHP示例代码

<?php
header("Content-type: text/html; charset=utf-8");
$userid="3828390191";
//$jsonp="a";
$ptime=time()*1000;//13位
$viewerId="观众id";
$secretkey="secretkey";
if(empty($jsonp)){
  $str="ptime=".$ptime."&viewerId=".$viewerId.$secretkey;
}else{
  $str="jsonp=".$jsonp."&ptime=".$ptime."&viewerId=".$viewerId.$secretkey;
}
echo $str.'';
$hash=strtoupper(sha1($str));
echo $hash.'';
$url="http://api.polyv.net/v2/advance/viewer/{$userid}?viewerId={$viewerId}&ptime={$ptime}&sign={$hash}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

"ptime" = "1493188350000"
"playauth" = "1"

2、将请求参数按照参数名字典顺序排列

"playauth" = "1"
"ptime" = "1493188350000"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

playauth=1&ptime=1493188350000tIQp4ATe9Z

4、生成签名sign

7198CB4BAE7484C01EA1A1566D0210FF18EA1849
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

高级分析–根据视频id查询视频分析数据

接口URL

http://api.polyv.net/v2/advance/video/{userid}

接口说明

高级分析--根据视频id查询视频分析结果

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
ptime true string 当前时间的毫秒级时间戳(13位),30分钟内有效
sign true string 签名
userid true string 用户id(拼接在url,无需另外传参数)
vid true string 视频id

注意事项

所有有值的参数,按照字母排序方式以key=value&key=value的格式串起来,最后拼上secretkey,以SHA-1方式加密并全部大写化。(注意,当参数没有传递,或者传递了空值,sign不需要将此参数计算进去)

例如:api传递了ptime,vid。ptime为1,vid为test1,userid对应用户的secretkey为test2
则sign的值为:ptime=1&vid=test1test2经过SHA-1加密后大写化为: C2B1558D697EA3AF4ED2FC90152751860C1E2163。

返回错误结果JSON示例

{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}

返回正确结果JSON示例

{
  "code": 200,
  "status": "success",
  "message": "success",
  "data": {
    "videoId": "xxxxxxxxxxxxxxxx",
    "videoName": "视频名称m",
    "duration": 100,
    "playTimes": 665,
    "uniqueViewerCount": 614,
    "avgCompletionRate": 0.49,
    "viewHeatmap": "[\"0-20:662\",\"21-100:665\"]",
    "uniqueViewHeatmap": "[\"0-20:614\",\"21-100:615\"]"
  }
}

返回结果data表示成功修改的数量.

字段说明

字段 说明
code 返回码
status 返回状态
message 返回信息
data 操作结果

数据对象字段说明

字段 说明
videoId 视频id
videoName 视频名称
duration 视频时长
playTimes 播放次数
uniqueViewerCount 唯一观众数
avgCompletionRate 平均观看完成度
viewHeatmap 观看热力图,例如[\"0-20:662\",\"21-100:665\"]代表视频内容的0~20秒有662次观看,21~100秒有665次观看
uniqueViewHeatmap 唯一观看热力图,例如[\"0-20:614\",\"21-100:615\"]代表视频内容的0~20秒有614个观众观看,21~100秒有615个观众观看

响应代码与响应信息对应

code message data 说明
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. 后台抛异常
200 success 查询到的数据 查询成功

PHP示例代码

<?php
header("Content-type: text/html; charset=utf-8");
$userid="3828390191";
//$jsonp="a";
$ptime=time()*1000;//13位
$vid="视频id";
$secretkey="secretkey";
if(empty($jsonp)){
  $str="ptime=".$ptime."&vid=".$vid.$secretkey;
}else{
  $str="jsonp=".$jsonp."&ptime=".$ptime."&vid=".$vid.$secretkey;
}
echo $str.'';
$hash=strtoupper(sha1($str));
echo $hash.'';
$url="http://api.polyv.net/v2/advance/video/{$userid}?vid={$vid}&ptime={$ptime}&sign={$hash}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

"ptime" = "1493188350000"
"playauth" = "1"

2、将请求参数按照参数名字典顺序排列

"playauth" = "1"
"ptime" = "1493188350000"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

playauth=1&ptime=1493188350000tIQp4ATe9Z

4、生成签名sign

7198CB4BAE7484C01EA1A1566D0210FF18EA1849
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

高级分析-分页查询观看行为列表

接口URL

http://api.polyv.net/v2/advance/play/{userid}

接口说明

高级分析--根据条件分页查询观看行为列表

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
ptime true string 当前时间的毫秒级时间戳(13位),30分钟内有效
sign true string 签名
userid true string 用户id(拼接在url,无需另外传参数)
start false string 开始时间,格式为yyyy-MM-dd或者yyyy-MM-dd HH:mm:ss,查询范围不超过31天
end false string 结束时间,格式为yyyy-MM-dd或者yyyy-MM-dd HH:mm:ss,查询范围不超过31天
pageSize false int 每页取多少条数据(最大为20,超过则默认取20条数据)
viewerId false string 观众id
viewerName false string 观众昵称
vid false string 视频id
token false string 下一页的凭证,从当前页的返回数据里获取,第一页不需要传

时间参数说明

  • 查询的时间跨度不超过31天;
  • 当start有值而end为空时,返回开始日期后31天后的数据;
  • 当start为空而end不为空时,返回结束日期前31天内的数据;
  • 当start、end参数均为空时,返回最近31天的数据。

注意事项

所有有值的参数,按照字母排序方式以key=value&key=value的格式串起来,最后拼上secretkey,以SHA-1方式加密并全部大写化。(注意,当参数没有传递,或者传递了空值,sign不需要将此参数计算进去)

例如:api传递了ptime,vid。ptime为1,vid为test1,userid对应用户的secretkey为test2
则sign的值为:ptime=1&vid=test1test2经过SHA-1加密后大写化为: C2B1558D697EA3AF4ED2FC90152751860C1E2163。

返回错误结果JSON示例

{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}

返回正确结果JSON示例

{
  "code": 200,
  "status": "success",
  "message": "success",
  "data": {
    "pageSize": 3,
    "contents": [
      {
        "startTime": "2019-10-01 11:12:05",
        "videoId": "xxxxxx",
        "videoName": "test video",
        "videoImage": "//img.videocc.net/uimage/xxxxxx.jpg",
        "videoDuration": 100,
        "deviceClass": "Phone",
        "osName": "Android",
        "osVersion": "Unknown",
        "agentName": "Unknown",
        "agentVersion": "Unknown",
        "referer": "N/A",
        "ip": "127.0.0.1",
        "country": "中国",
        "province": "广东",
        "city": "未知",
        "isp": "中国电信",
        "viewerId": "1234567890",
        "viewerNickName": "N/A",
        "viewerAvatar": "N/A",
        "totalVideoCount": 100,
        "heatmap": "[\"0-1:1\",\"2-3:1\"]",
        "completionRate": 0.02,
        "status": 61
      },
      {
        "startTime": "2019-10-01 11:12:05",
        "videoId": "xxxxxx",
        "videoName": "test video",
        "videoImage": "//img.videocc.net/uimage/xxxxxx.jpg",
        "videoDuration": 100,
        "deviceClass": "Phone",
        "osName": "Android",
        "osVersion": "Unknown",
        "agentName": "Unknown",
        "agentVersion": "Unknown",
        "referer": "N/A",
        "ip": "127.0.0.1",
        "country": "中国",
        "province": "广东",
        "city": "未知",
        "isp": "中国电信",
        "viewerId": "1234567890",
        "viewerNickName": "N/A",
        "viewerAvatar": "N/A",
        "totalVideoCount": 100,
        "heatmap": "[\"0-50:1\"]",
        "completionRate": 0.5,
        "status": 61
      },
      {
        "startTime": "2019-10-01 11:12:05",
        "videoId": "xxxxxx",
        "videoName": "test video",
        "videoImage": "//img.videocc.net/uimage/xxxxxx.jpg",
        "videoDuration": 100,
        "deviceClass": "Phone",
        "osName": "Android",
        "osVersion": "Unknown",
        "agentName": "Unknown",
        "agentVersion": "Unknown",
        "referer": "N/A",
        "ip": "127.0.0.1",
        "country": "中国",
        "province": "广东",
        "city": "未知",
        "isp": "中国电信",
        "viewerId": "1234567890",
        "viewerNickName": "N/A",
        "viewerAvatar": "N/A",
        "totalVideoCount": 100,
        "heatmap": "[\"0-50:1\"]",
        "completionRate": 0.5,
        "status": 61
      }
    ],
    "token": "xxxxxxxxxxxxxxx",
    "hasNextPage": true
  }
}

返回结果data表示成功修改的数量.

字段说明

字段 说明
code 返回码
status 返回状态
message 返回信息
data 操作结果

数据对象字段说明

字段 说明
startTime 首次观看日期
videoId 视频id
videoName 视频名称
videoImage 视频首图(没有添加协议头)
videoDuration 视频时长
deviceClass 设备名称
osName 操作系统
agentName 终端名称
agentVersion 终端版本
referer 来源
ip ip地址
country 国家
province 省份
city 地区
isp 运营商
viewerid 观众id
viewerNickName 观众昵称
viewerAvatar 观众头像
totalVideoCount 观众看的视频总量
heatmap 热力图(["0-1:1","3-4:2"]表示视频的0到1秒有1次观看,3到4秒有2次观看)
completionRate 观看完成度
status 视频的状态
token 查询下一页时传的凭证
hasNextPagetoken 是否有下一页

响应代码与响应信息对应

code message data 说明
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 start date or end date is illegal. start或者end参数格式有问题
402 date range exceeds 31 days. start和end参数相差超过31天
403 get play list error. 后台获取数据失败
500 get play list failed. please check the backend log. 后台抛异常
200 success 查询到的数据 查询成功

PHP示例代码

<?php
header("Content-type: text/html; charset=utf-8");
$userid="3828390191";
//$jsonp="a";
$ptime=time()*1000;//13位
$start="2019-10-15";
$secretkey="tIQp4ATe9Z";
if(empty($jsonp)){
  $str="start=".$start."&ptime=".$ptime.$secretkey;
}else{
  $str="jsonp=".$jsonp."&start=".$start."&ptime=".$ptime.$secretkey;
}
echo $str.'';
$hash=strtoupper(sha1($str));
echo $hash.'';
$url="http://api.polyv.net/v2/advance/play/{$userid}?start={$start}&ptime={$ptime}&sign={$hash}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

"ptime" = "1493188350000"
"playauth" = "1"

2、将请求参数按照参数名字典顺序排列

"playauth" = "1"
"ptime" = "1493188350000"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

playauth=1&ptime=1493188350000tIQp4ATe9Z

4、生成签名sign

7198CB4BAE7484C01EA1A1566D0210FF18EA1849
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...