删除视频的全部打点信息

接口URL

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

接口说明

通过API删除视频的全部视频打点信息

支持格式

JSON

请求方式

POST,GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
userid string 用户ID
ptime string 当前时间的毫秒级时间戳(13位),3分钟内有效
vid string 视频ID
sign string 签名,为40位大写的SHA1值

JSON示例

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

字段说明

字段 说明
status 成功/失败状态
code 成功/失败代码
message 成功/失败信息
data 成功/失败数据

php请求示例

<?php
  $userid="8f8482aaab";
  $secretkey="AiDQw1mAmi";
  $vid="8f8482aaab8fe7ea12e3314a11a061fc_8";
  $ptime=time()*1000;
  $str="ptime=$ptime&vid=$vid".$secretkey;
  $sign=strtoupper(sha1($str));
  $url="http://api.polyv.net/v2/video/$userid/deleteKeyFrame?ptime=$ptime&vid=$vid&sign=$sign";
  $content = file_get_contents($url);
  echo $content;
?>

签名规则

将请求参数(sign除外)按照参数名字典顺序排列,用“&”连接参数名与参数值,并在最后加上secretkey的值,生成40位大写的SHA1值,作为sign。

以下是示例过程:

1. 将请求参数按照参数名字典顺序排列为:

ptime="1476753635000";
vid="8f8482aaab8fe7ea12e3314a11a061fc_8";

2. 连接字符串 用“&”连接参数名与参数值,并在最后加上secretkey的值,生成40位大写的SHA1值,作为sign(本示例的值为AiDQw1mAmi),如下:

ptime=1476753635000&vid=8f8482aaab8fe7ea12e3314a11a061fc_8AiDQw1mAmi

3. 生成签名sign

sign为40位大写的SHA1值:

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

名词解释

1.平台API的相关参数
useId用于保利威视服务器与您的服务器进行通讯的时候的身份验证
readtoken读密钥,用来从保利威视服务器上读取数据
writetoken写密钥,用来向保利威视服务器上写入数据
secretkey调用保利威视的API接口做签名访问时要用到

要获取到userId、writetoken、readtoken、secretkey这四个参数的值,可以在顶部功能列表右侧点击“设置”—点击“API接口”,如下图所示:QQ图片20160621162908调用平台API接口的时候,有时候会需要用到这四个参数中的一个或多个值。

2.分类的相关参数
catatree分类树 
cataid视频分类的id

(1)分类树catatree顶部功能列表的点击“视频列表”—点击“视频分类管理”—选中某一个分类(比如“第二册上”),如下图所示:QQ图片20160621163843(2)视频分类cataid顶部功能列表的点击“视频管理”—点击“视频分类管理”—选中某一个分类(比如“第二册上”),最右边的那个字符串就是视频分类的id,如下图所示:QQ图片20160621164303

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

返回错误提示

返回 说明
0 无错误
1 找不到writetoken关联的user
2 文件为空或者writetoken为空
3 提交的json名字JSONRPC为null
4 提交文件格式不正确
5 readtoken为空
6 分页输入出错
7 vid不能为空
8 找不到方法名
10 userid不能为空
11 上传目录为空
12 远程URL文件不能访问
13 远程视频文件格式无法识别
15 参数异常
16 空间已满
17 用户无接口权限
18 标题重复
19 标题为空
20 播放列表不存在
21 参数错误
22 参数签名错误
23 视频不存在
24 时间戳已过期
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

API调用签名

一、保利威视的API接口默认不需要对接口调用做签名,如果需要签名访问,需要先在保利威视后台做个设置(注意:如果不需要签名访问,请勿在以下的位置勾选“是”,系统默认为“否”):QQ图片20160621165340

 

参数说明:
设置需要接口签名之后,API接口提交参数需要带一个参数sign,sign是由提交的参数以及secretkey一起做sha1加密得来的。

 

二、以下由上传视频接口为例,需要将提交给POLYV云平台的参数按指定序列和规则合并,再加上利用账号secretkey做sha1运算得到的一个40位的签名字符串作为参数sign,一起提交。如果sign没提交或者不匹配,系统会返回错误提示为error=22。
<?php
function uploadfile($title,$desc,$tag,$cataid,$filename) {
    $JSONRPC = '{"title":"'.$title.'","tag":"'.$tag.'","desc":"'.$desc.'"}';
    $writetoken = 'llIPXyhWzcjRrmW-dT11jFO40E4bDeZU';
    $secretkey = '7UagtQOq2A';
    $hash = sha1('cataid='.$cataid.'&JSONRPC='.$JSONRPC.'&writetoken='.$writetoken.$secretkey);
    //加上sign参数一起提交post
    $data = array(
        'JSONRPC' => $JSONRPC,
        'cataid'=>$cataid,
        'writetoken'=>$writetoken,
        'sign'=>$hash,
        'Filedata'=>new CURLFile(realpath($filename))
    );
    $uri = "http://v.polyv.net/uc/services/rest?method=uploadfile";
    $ch = curl_init() or die ( curl_error() );
    curl_setopt( $ch, CURLOPT_URL, $uri);
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
    $reponse = curl_exec ( $ch );
    curl_close ( $ch );
    $reponse = json_decode($reponse);
    return $reponse;
}

$result = uploadfile('myTitle','myDesc','myTag',1,'E:\\1.mp4'); //cataid为1,表示用户上传空间的根目录
var_dump($result);
?>

 

三、整个API调用签名的过程是:使用服务器端开发语言对这些参数按照规则排序后,再加上secretkey做sha1计算得到sign,然后把sign和API的其他上传参数一起提交到保利威视云平台。
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

回调通知

在POLYV后台右上角【设置】->【回调设置】,【回调URL】的录入框填入用户的接口URL(例如:http://demo.polyv.net/callback),在每次视频上传、编码、审核时,保利威视会通过get方法请求用户的接口,将参数回调通知给用户。
一、上传完成/上传不合规格视频回调
上传完成后,系统会调用回调URL,会带来三个参数sign、type和vid
  • sign:系统签名,sign是由系统用"upload"这个字符串和vid、secretkey这两个参数的值按顺序组成的字符串做MD5计算得到(如,vid的值为e2e84a738302f20a4f6eb202976f5c63_e,secretkey的值为7UagtQOq2A,将字符串uploade2e84a738302f20a4f6eb202976f5c63_e7UagtQOq2A进行MD5计算,得到b245e3e65aa45b60dc02337b5cd914a7)
  • type:回调类型
    • upload:已上传
    • invalidVideo:不合规格视频(当上传的视频的信息无法被系统分析时,判断为不合规格视频)
  • vid:视频id
请求实例
http://demo.polyv.net/callback?sign=b245e3e65aa45b60dc02337b5cd914a7&type=upload&vid=e2e84a738302f20a4f6eb202976f5c63_e
二、编码完成/失败回调
同上传完成回调一样,编码完成之后,系统会调用回调URL:
  • sign:系统签名,sign是由系统用"encode"这个字符串和format、vid、df、secretkey这四个参数的值按顺序组成的字符串做MD5计算得到(如,format的值为flv,vid的值为e2e84a738302f20a4f6eb202976f5c63_e,df的值为1,secretkey的值为7UagtQOq2A,将字符串encodeflve2e84a738302f20a4f6eb202976f5c63_e17UagtQOq2A进行MD5计算,得到3c3eab358901ad19bc59b5df7704ed48)
  • type:回调类型
    • encode:已编码
    • encode_failed:处理失败
  • format:编码后的视频格式
  • vid:视频id
  • df:视频清淅度版本,1为流畅、2为高清、3为超清
请求实例
http://demo.polyv.net/callback?sign=3c3eab358901ad19bc59b5df7704ed48&type=encode&format=flv&vid=e2e84a738302f20a4f6eb202976f5c63_e&df=1
三、审核操作回调
那么审核完成,recieve的链接会收到一个调用,带来三个参数sign、type和vid
  • sign:系统签名,sign是由系统用"manage"这个字符串和type、vid、secretkey这三个参数的值按顺序组成的字符串做MD5计算得到(如,type的值为pass,vid的值为e2e84a738302f20a4f6eb202976f5c63_e,secretkey的值为7UagtQOq2A,将字符串managepasse2e84a738302f20a4f6eb202976f5c63_e7UagtQOq2A进行MD5计算,得到8ebb91d444ce53fafa3256670fb65d84)
  • type:回调类型
    • pass:通过
    • nopass:未通过
  • vid:视频id
请求实例
http://demo.polyv.net/callback?type=pass&vid=e2e84a738302f20a4f6eb202976f5c63_e&sign=8ebb91d444ce53fafa3256670fb65d84

以PHP为示例代码,如下:

<?php
$sign=$_GET["sign"];
$vid=$_GET["vid"];
$type=$_GET["type"];
$format=$_GET["format"];
$df=$_GET["df"];
$secretkey= "yourSecretkey"; //在“POLYV后台”——“系统管理”——“视频接口API”中获取

//获取当前上海标准时间
date_default_timezone_set("Asia/Shanghai");
$time = date('Y-m-d H:i:s',time());

//连接数据库huidiao,含upload,encode,pass三个表
$link = mysql_connect('localhost','root','');
mysql_select_db('huidiao',$link);

if($type=="upload"){
    $verifySign = md5($type.$vid.$secretkey);
    if($verifySign==$sign){
        //当上传完成时,向数据库插入上传记录
        mysql_query("insert into upload(vid,type,time) values('{$vid}','{$type}','{$time}')");
    }
}

if($type=="encode"){
    $verifySign = md5($type.$format.$vid.$df.$secretkey);
    if($verifySign==$sign){
        //当编码完成时,向数据库插入编码结果
        mysql_query("insert into encode(vid,type,format,df,time) values('{$vid}','{$type}','{$format}',{$df},'{$time}')");
    }
}

if($type=="pass"){
    $verifySign = md5("manage".$type.$vid.$secretkey);
    if($verifySign==$sign){
        //当审核通过时,向数据库插入视频状态
        mysql_query("insert into pass(vid,type,time) values('{$vid}','{$type}','{$time}')");
    }
}
?>
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

上传视频

接口URL

http://v.polyv.net/uc/services/rest?method=uploadfile

接口说明

作用:上传本地视频

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型及范围 说明
writetoken true string 用户的上传钥匙
JSONRPC true string json格式,{"title": "标题", "tag":"标签","desc":"描述"}
Filedata true file file类型,支持的文件格式为:.flv,.avi,.mpg,.mp4,.wmv,.mov,.3gp,.asf等
fcharset flase string 当fcharset设为'ISO-8859-1'时,可以避免视频的文件名乱码
cataid false long 设定上传视频的分类,分类的id可以在“视频管理”——“内容分类”中获取,如下图所示。cataid为catatree的最后一个long型的整数,catatree由cataid组成。当cataid值为1时,表示用户上传空间的根目录。
watermark false string 水印图片的URL,图片格式必须是png格式
luping false int 是否录屏优化。当值为1时,上传的视频不再采取默认的压缩编码机制,视频尺寸不再压缩,保证视频的清晰度。默认值为0
format false string 默认返回json格式,如果format=xml返回xml格式
jsonp false string 例如,正常情况{error:0,data:””},加 jsonp=a后返回a({error:0,data:””})
fileMd5 false string 文件校验码,为32位大写MD5的值

2

注意事项

返回错误列表
返回 说明
0 无错误
1 找不到writetoken关联的user
2 文件为空或者writetoken为空
3 提交的json名字JSONRPC为null
4 提交文件格式不正确
5 readtoken为空
6 分页输入出错
7 vid不能为空
8 找不到方法名
14 文件md5校验失败
15 后台处理出错
16 用户的可用空间已用完

返回结果

<xml>
<error>0</error>
<total/>
<data>
<video>
<md5checksum>
<![CDATA[ 44b145c6bea7dd826191990dfb38d1fd ]]>
</md5checksum>
<tag>
<![CDATA[ 标签 ]]>
</tag>
<mp4>
<![CDATA[http://mpv.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_1.mp4]]>
</mp4>
<title>
<![CDATA[ upload上传视频 ]]>
</title>
<df>2</df>
<times>
<![CDATA[ 0 ]]>
</times>
<mp4_1>
<![CDATA[http://mpv.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_1.mp4]]>
</mp4_1>
<vid>
<![CDATA[ 36e77ba39cc4768ab541cb6bf4f775a0_3 ]]>
</vid>
<mp4_2>
<![CDATA[http://mpv.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_2.mp4]]>
</mp4_2>
<cataid>
<![CDATA[ 1 ]]>
</cataid>
<swf_link>
<![CDATA[http://player.polyv.net/videos/36e77ba39cc4768ab541cb6bf4f775a0_3.swf]]>
</swf_link>
<status>
<![CDATA[ 10 ]]>
</status>
<seed>1</seed>
<flv2>
<![CDATA[http://plvod01.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_2.flv]]>
</flv2>
<flv1>
<![CDATA[http://plvod01.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_1.flv]]>
</flv1>
<sourcefile>
<![CDATA[ ]]>
</sourcefile>
<playerwidth>
<![CDATA[ 600 ]]>
</playerwidth>
<hls/>
<default_video>
<![CDATA[http://plvod01.videocc.net/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_1.flv]]>
</default_video>
<duration>
<![CDATA[ 00:00:33 ]]>
</duration>
<filesize/>
<first_image>
<![CDATA[http://img.videocc.net/uimage/3/36e77ba39c/0/36e77ba39cc4768ab541cb6bf4f775a0_0.jpg]]>
</first_image>
<original_definition>
<![CDATA[ 672x378 ]]>
</original_definition>
<context>
<![CDATA[ 视频文档描述 ]]>
</context>
<previewVid>
<![CDATA[ m63c44pl69mm7435lp871mp3pn7n448l0_6 ]]>
</previewVid>
<playerheight>
<![CDATA[ 490 ]]>
</playerheight>
<ptime>
<![CDATA[ 2017-12-04 10:36:18 ]]>
</ptime>
</video>
</data>
</xml>

JSON示例

{
error: "0",
data: [
{
images_b: [
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_0_b.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1_b.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_2_b.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_3_b.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_4_b.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_5_b.jpg"
],
md5checksum: "44b145c6bea7dd826191990dfb38d1fd",
tag: "标签",
mp4: "http://mpv.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1.mp4",
title: "标题",
df: 2,
times: "0",
mp4_1: "http://mpv.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1.mp4",
vid: "36e77ba39c0e5dac84dba418d81a793d_3",
mp4_2: "http://mpv.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_2.mp4",
cataid: "1",
swf_link: "http://player.polyv.net/videos/36e77ba39c0e5dac84dba418d81a793d_3.swf",
source_filesize: 2295887,
status: "10",
seed: 1,
flv2: "http://plvod01.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_2.flv",
flv1: "http://plvod01.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1.flv",
sourcefile: "",
playerwidth: "600",
hls: [
"http://hls.videocc.net/36e77ba39c/3/36e77ba39c0e5dac84dba418d81a793d_1.m3u8",
"http://hls.videocc.net/36e77ba39c/3/36e77ba39c0e5dac84dba418d81a793d_2.m3u8"
],
default_video: "http://plvod01.videocc.net/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1.flv",
duration: "00:00:33",
filesize: [
0,
0
],
first_image: "http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_0.jpg",
original_definition: "672x378",
context: "描述",
images: [
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_0.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_1.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_2.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_3.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_4.jpg",
"http://img.videocc.net/uimage/3/36e77ba39c/d/36e77ba39c0e5dac84dba418d81a793d_5.jpg"
],
previewVid: "363c44pl69m0c8klm57kpl715k51l496k_6",
playerheight: "490",
ptime: "2017-12-04 11:12:50"
}
]
}

字段说明

字段 说明
swf_link Flash链接地址
tag 标签
mp4 视频地址
playerwidth 视频宽度
title 视频标题
duration 视频时长
first_image 视频截图
times 点击次数
context 视频描述
images 所有截图
previewVid 预览视频VID
playerheight 视频高度
ptime 上传时间
vid 视频id
cataid 分类id, 如1为根目录
default_video 用户默认播放视频
df 视频码率数
flv1 流畅码率flv格式视频地址
flv2 高清码率flv格式视频地址
flv3 超清码率flv格式视频地址
mp4_1 流畅码率mp4格式视频地址
mp4_2 高清码率mp4格式视频地址
mp4_3 超清码率mp4格式视频地址
hls1 流畅码率hls格式视频地址
hls2 高清码率hls格式视频地址
hls3 超清码率hls格式视频地址
hlsIndex 自适应码率hls播放地址
images_b 视频截图大图地址
seed 加密视频为1,非加密为0
status 视频状态
md5checksum 上传到POLYV云平台的视频源文件的MD5值,可以用来校验是否上传错误或完整
视频状态码 含义
60/61 已发布
10 等待编码
20 正在编码
50 等待审核
51 审核不通过
-1 已删除

如果API想调用签名,可参考http://dev.polyv.net/2015/09/apisign/ 按参数签名顺序拼凑字符串为cataid=$(cataid)&JSONRPC=$(JSONRPC)&writetoken=$(writetoken)$(secretkey),并进行sha1计算,得到sign。

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

上传远程视频

接口URL

http://v.polyv.net/uc/services/rest?method=uploadUrlFile

接口说明

作用:上传远程视频

支持格式

JSON,XML

请求方式

POST,GET

请求数限制

TRUE

请求参数

参数名 必选 类型及范围 说明
writetoken true string 用户的上传钥匙
fileUrl true file 远程文件的http连接(带http://)
async false string 是否异步处理,取值为true/false,默认值为false (async为true时暂不支持MD5文件校验)
title false string 标题
tag false string 标签
desc false string 描述
cataid false long 设定上传视频的分类,分类的id可以在“视频管理”——“内容分类”中获取,如下图所示。cataid为catatree的最后一个long型的整数,catatree由cataid组成。当cataid值为1时,表示用户上传空间的根目录。
luping false int 是否录屏优化。当值为1时,上传的视频不再采取默认的压缩编码机制,视频尺寸不再压缩,保证视频的清晰度。默认值为0
fileMd5 false string 文件校验码,为32位大写MD5的值

2

注意事项

返回错误列表

返回 说明
0 无错误
1 找不到writetoken关联的user
2 文件为空或者writetoken为空
3 提交的json名字JSONRPC为null
4 提交文件格式不正确
5 readtoken为空
6 分页输入出错
7 vid不能为空
8 找不到方法名
14 文件md5校验失败

JSON示例

同步上传返回结果:

{
  "error": "0",
  "data": [
    {
      "images_b": [
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_0_b.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1_b.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_2_b.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_3_b.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_4_b.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_5_b.jpg"
      ],
      "md5checksum": "55988baca47948159b10407222d01380",
      "tag": "",
      "mp4": "http://mpv.videocc.net/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1.mp4",
      "title": "title",
      "df": 1,
      "times": "0",
      "mp4_1": "http://mpv.videocc.net/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1.mp4",
      "vid": "cca90d24f7479512bdb2dee99eb95b49_c",
      "cataid": "1",
      "swf_link": "http://player.polyv.net/videos/cca90d24f7479512bdb2dee99eb95b49_c.swf",
      "source_filesize": 1205429,
      "status": "10",
      "seed": 0,
      "flv1": "http://plvod01.videocc.net/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1.flv",
      "sourcefile": "",
      "playerwidth": "",
      "hls": [
        "http://hls.videocc.net/cca90d24f7/c/cca90d24f7479512bdb2dee99eb95b49_1.m3u8"
      ],
      "default_video": "http://plvod01.videocc.net/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1.flv",
      "duration": "00:00:31",
      "filesize": [
        0
      ],
      "first_image": "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_0.jpg",
      "original_definition": "762x432",
      "context": "",
      "images": [
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_0.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_1.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_2.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_3.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_4.jpg",
        "http://img.videocc.net/uimage/c/cca90d24f7/9/cca90d24f7479512bdb2dee99eb95b49_5.jpg"
      ],
      "previewVid": "8mml90k27n4749812pkp2kcc99cp98p79_c",
      "playerheight": "",
      "ptime": "2018-08-02 23:52:34"
    }
  ]
}

异步上传返回结果:

{
    "error":"0"
}

字段说明

字段 说明
vid 视频ID
previewVid 预览视频ID

如果API想调用签名,可参考
http://dev.polyv.net/2015/09/apisign/ 按参数签名顺序拼凑字符串为desc=$(desc)&fileUrl=$(fileUrl)&tag=$(tag)&title=$(title)&writetoken=$(writetoken)$(secretkey),并进行sha1计算,得到sign。

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

上传远程视频代码示例

首选需要一个非本地视频,一个视频链接,然后通过writetoken,执行API的uploadUrlFile方法,即可把视频直接上传到视频云端,并返回视频信息。

代码

视频文件链接: <input type="text" id="fileUrl" value="http://112.90.246.23/plvod01.videocc.net/sl8da4jjbx/2/sl8da4jjbx692db9d494a9986ab8c7a2.mp4" size="100">
writetoken: <input type="text" id="writetoken" value="Y07Q4yopIVXN83n-MPoIlirBKmrMPJu0" size="40">
<input type="button" id="button" value="点击抓取">
 标题 <input id="title" size="70">
 首图 <input id="first_image" size="70"><img src="" id="first_image_img" style="display:none">
 播放链接 <input id="swf_link" size="70">
<script>
$("#button").click(function(){
  $("#button").val("正在抓取,请稍后");
  $.get("http://v.polyv.net/uc/services/rest", {
    method:"uploadUrlFile",
    fileName:"remotefile title",
    writetoken:$("#writetoken").val(),
    fileUrl:$("#fileUrl").val()
      },function(video){
      $("#button").val("抓取完成");
          $("#title").val(video.data[0].title);
          $("#first_image").val(video.data[0].first_image);
          $("#first_image_img").attr("src",video.data[0].first_image);
          $("#first_image_img").css({display:"block"});
          $("#swf_link").val(video.data[0].swf_link);
  });
});
</script>
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

断点续传

原理

通过偏移量来实现断点续传

 

偏移量Offset

Offset头部变量标志当前上传文件完成的偏移量,Offset为0或者大于0的整型。

 

请求类型

HEAD
每一次HEAD类型请求,服务器总是会返回offset头部变量,标志当前上传完成的字节数。
PATCH
服务器通过PATCH类型请求接收文件上传的数据。所有PATCH请求必须使用Content-Type: application/offset+octet-stream.
上传节点
上传接口支持断点续传,最大可上传30GB的文件
http上传接口地址统一为http://upload.polyv.net:1080/files/
https上传接口地址统一为https://upload.polyv.net:1081/files/

 

例子

创建文件
提交空的 POST 请求让服务器端创建一个待上传的文件. 需要在请求的Header增加两个变量:Final-Length和writeToken. 其中Final-Length为文件大小,writetoken是polyv后台的上传授权码。
Request:
POST /files HTTP/1.1
Host: upload.polyv.net
Final-Length: 100
writeToken: Y07Q4yopIVXN83n-MPoIlirBKmrMPJu0
Response:
HTTP/1.1 201 Created
Location: http://upload.polyv.net:1080/files/sl8da4jjbx28aac52069409bc8f6bf6e_s
Response会返回一个新的上传地址Location附带到Header里面,其中files后面的(sl8da4jjbx28aac52069409bc8f6bf6e_s)则为视频vid。 上传需要附带POST的参数:
标题 title 默认为notitle
标签 tag 默认为空
描述 desc 默认为空
扩展名 ext:(mp4,mov,avi等) 默认为bin
分类 cataid 默认为1,即用户上传空间的分类根目录
时间戳 ts 
签名 sign 根据将secretkey和时间戳按照顺序拼凑起来的字符串进行MD5计算得到的小写MD5值
哈希值 hash 根据将时间戳和writeToken按照顺序拼凑起来的字符串进行MD5计算得到的小写MD5值
用户ID userid POLYV账号的用户ID
续传
利用 HEAD request 取得Offset变量,决定从哪个地方恢复上传。下面例子演示从100字节的文件,从第70个字节中断后,继续上传。
Request:
HEAD /files/sl8da4jjbx28aac52069409bc8f6bf6e_s
HTTP/1.1
Host: upload.polyv.net
Response:
HTTP/1.1 200 Ok
Offset: 70
返回offset为70, 客户端开始用PATCH请求恢复上传剩余的30字节。
Request:
PATCH /files/sl8da4jjbx28aac52069409bc8f6bf6e_s
HTTP/1.1
Host: upload.polyv.net
Content-Type: application/offset+octet-stream
Content-Length: 30
Offset: 70
Response:

HTTP/1.1 200 Ok

 

示例源码

IOS上传源码
Java上传源码

点击在线演示

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

使用uploadify插件上传视频

下载国外开源的uploadify插件包flash版(uploadify官网),解压之后把uploadify目录放入网站根目录。uploadify插件的官方文档,可以点击这里查看,以下是通过uploadify插件调用保利威视上传本地视频接口的示例代码:
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script><script src="uploadify/jquery.uploadify.min.js"></script>
<script>// <![CDATA[
$(function() {
        $.fileupload1 = $('#fileupload1').uploadify({
            'auto' : false,
            'formData' : {
                'fcharset' : 'ISO-8859-1',
                'writetoken' : 'aRTUQVx1Cikcpxq-oPcz40u14LHwd1zf',
                'cataid':'1',
                'JSONRPC'     : '{"title": "这里是标题", "tag": "标签", "desc": "视频文档描述"}'
            },
            'buttonText': '选择上传文件',
            'fileSizeLimit' : '3000MB',
            'fileTypeDesc' : '视频文件',
            'fileTypeExts' : '*.avi; *.wmv; *.mp4;*.mp3; *.mov; *.flv; *.mkv; *.rmvb',//文件类型过滤
            'swf'      : '../uploadify/uploadify.swf',
            'multi':true,
            'successTimeout':1800,
            'queueSizeLimit':100,
            'uploader' : 'http://v.polyv.net/uc/services/rest?method=uploadfile',
            //onUploadSuccess为上传完视频之后回调的方法,视频json数据data返回,
            //下面的例子演示如何获取到vid
            'onUploadSuccess':function(file,data,response){
                var jsonobj=eval('('+data+')');               
                alert(jsonobj.data[0].vid + " - " + jsonobj.data[0].playerwidth + " - " + jsonobj.data[0].duration);
            }
        });
    });
// ]]></script>
仅限2G以下视频上传,上传之后api会回调,返回视频数据data,为json格式。 先把返回结果文本转换为json对象,var jsonobj=eval('('+data+')'); 假设需要获取视频vid,则调用: jsonobj.data[0].vid flash播放地址: jsonobj.data[0].swf_link

更多字段:

字段 说明
error 错误提示
swf_link 返回flash连接
tag 视频标签
mp4 MP4源文件
playerwidth 视频宽度
title 标题
duration 时长
first_image 视频首图
times 点击次数
context 视频描述
original_definition 最佳分辨率
images 视频截图
playerheight 视频高度
context 内容
ptime 上传时间
vid 视频id
cataid 分类id, 如1为根目录
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...