POLYV Web上传插件(V2.0)

说明:
1. 本文档从用户角度简单概述了polyv web上传插件的使用方法。
2. V2.0 版本的使用与 V1.0 版本完全一致,因此无需更改原有的接口调用及逻辑,只要更换polyv-upload.js的调用地址即可。(推荐使用 V2.0 版本

一、功能:

  1. 上传文件
    1). 上传前可以进行选择分类、添加标签、选择视频优化处理、修改文件名及文件说明等操作
    2). 可选择默认的上传目录
    3). 可设置是否对源文件进行编码
    4). 支持断点续传。中途断网或浏览器因故障等原因重启后同个文件可以实现从断点续传。(仅在浏览器版本>=IE11及主流浏览器下支持实现该功能)
    5). 同时选择多个文件、上传过程显示进度
  2. 查看视频
    1). 查看视频列表
    2). 根据标题关键字搜索视频
    3). 获取具体的视频信息
    4). 更换封面
      a.上传新图片作为封面
      b.选择视频截图作为封面
      c.选择最近上传的图片作为封面
  3. 可选择只显示“上传列表”或“视频列表”或显示全部
  4. 可调用接口(response、uploadSuccess、uploadFail)返回视频信息
  5. 提供打开、关闭插件的方法

二、浏览器支持

  • 支持大部分主流浏览器,IE浏览器兼容IE9及IE9以上。
  • 在支持HTML5新特性的浏览器中,支持断点续传,最大可上传30GB的文件。
  • 反之,在不支持HTML5新特性的浏览器中(如IE9),不支持断点续传功能,最大可上传2GB的文件。

三、入门教程:

1、首先在调用该插件的页面上添加一个按钮:

<input type="button" id="upload" value="上传"></input>

2、引入POLYV上传插件的js文件

<script src="//v.polyv.net/file/plug-in-v2/polyv-upload.js"></script>

3、添加脚本,初始化上传参数并新建一个上传实例。

var obj = {
    uploadButtton: 'upload',
    userid: data.userid,
    ts: data.ts,
    hash: data.hash,
    sign: data.sign,
    component: 'all', 
    cataid: 1499657507273, 
    luping: 1,
    extra: {
        keepsource: 1,
    }
};
upload = new PolyvUpload(obj);

4、上传参数解释:

  • uploadButtton:打开上传控件按钮的id
  • userid:可以在“云点播”后台->“设置”->“API接口”页面中找到您的userid
  • ts:13位的毫秒级时间戳
  • hash:是根据将ts和writeToken按照顺序拼凑起来的字符串进行MD5计算得到的值
  • sign:是根据将secretkey和ts按照顺序拼凑起来的字符串进行MD5计算得到的值
  • component(可选):可以设置为videoList(只显示视频列表)、 uploadList(只显示上传列表)、all(默认值,显示上传列表和视频列表)
  • cataid(可选):上传目录id,默认值为1
  • luping(可选):开启视频课件优化处理,对于上传录屏类视频清晰度有所优化。可设置为01,默认值为0,表示不开启课件优化
  • keepsource(可选):源文件播放(不对源文件进行编码)。可设置为0(对源文件进行编码)或1(源文件播放)

5、获取用户信息的代码示例(PHP):

/* 
说明:以下的userid、secretkey、writeToken、readToken可以在“云点播”后台->“设置”->“API接口”页面中找到。
*/
$userid = "your userid";
$secretkey = "your sercrety";
$writeToken = "your writeToken";
$readToken = "your readToken";

$ts = time() * 1000;
$hash = md5($ts . $writeToken);
$sign = md5($secretkey . $ts);

四、使用文档

1.上传参数options

  • uploadButtton:打开上传控件按钮的id
  • userid
  • ts:13位的毫秒级时间戳
  • hash:是根据将ts和writeToken按照顺序拼凑起来的字符串进行MD5计算得到的值
  • sign:是根据将secretkey和ts按照顺序拼凑起来的字符串进行MD5计算得到的值
  • component(可选):可以设置为videoList(只显示视频列表)、 uploadList(只显示上传列表)、all(默认值,显示上传列表和视频列表)
  • cataid(可选):上传目录id,默认值为1
  • luping(可选):开启视频课件优化处理,对于上传录屏类视频清晰度有所优化。可设置为01,默认值为0,表示不开启课件优化
  • extra(可选): object
    可添加的属性为keepsource:源文件播放(不对源文件进行编码)。可设置为0(对源文件进行编码)或1(源文件播放)
    javascript
    {
    keepsource: 1, // 源文件播放(不对源文件进行编码)
    }
  • response(可选): function,返回指定视频的信息时的回调函数
  • uploadSuccess(fileData)(可选):function,当前文件上传完毕时触发的回调函数
  • uploadFail(err)(可选):function,当前文件上传失败时触发的回调函数

2.方法

  • update(data): 用于更新ts、hash、sign3个信息
  • closeWrap(): 关闭插件
  • openWrap(): 打开插件

五、demo演示和下载

demo演示:POLYV Web上传插件演示
demo下载:POLYV Web上传插件源码

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

上传PPT文件

点击这里查看旧版

接口URL

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

接口说明

上传PPT文件

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型及范围 说明
vid true string 视频ID
sign true string 签名,40位大写的sha1值
ptime true string 当前13位毫秒级时间戳,3分钟内有效
format false string 默认返回json格式,如果format=xml返回xml格式
jsonp false string 例如,正常情况{error:0,data:””},加 jsonp=a后返回a({error:0,data:””})

JSON示例

{
code: 200,
status: "success",
message: "success",
data: "ppt上传成功."
}

返回错误json

{
"code":400,
"status":"error",
"message":"sign can not be empty.",
"data":""
}

PHP示例代码

<?php
$userid="2d939377c2";
$vid="2d939377c272967efcdb812a1dad8c5c_2";
$ptime=time()*1000;
$secretkey="3OmoLbTlHu";
$str="ptime=$ptime&vid=$vid".$secretkey;
$sign=strtoupper(sha1($str));
?>
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>上传PPT</title>
</head>
<body>
   <form action="http://api.polyv.net/v2/video/<?php echo $userid; ?>/uploadPPT" method="post" enctype='multipart/form-data'>
     <input type="hidden" name="ptime" value="<?php echo $ptime; ?>">
     <input type="hidden" name="vid" value="<?php echo $vid; ?>">
     <input type="hidden" name="sign" value="<?php echo $sign; ?>">
     ppt:<input type="file" name="ppt" id="fileupload1" /><br>
     txt:<input type="file" name="txt" id="fileupload2" /><br>
   <input type="submit" value="点击上传"/>
 </form>
</body>
</html>
txt文件格式示例如下,每一行为:“秒数”+“:”+“标题” (注:txt文件必须是UTF-8的编码格式,否则课件的章节标题会显示为乱码)
10:第十秒出现标题
21:第二十秒出现标题
30:第三十秒出现标题

签名规则

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

1、请求参数为

"ptime" = "1493188350000"
"vid" = "3828390191de2b3fd3467c36187aac08_3"

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

"ptime" = "1493188350000"
"vid" = "3828390191de2b3fd3467c36187aac08_3"

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

ptime=1493188350000&vid=3828390191de2b3fd3467c36187aac08_3tIQp4ATe9Z

4、生成签名sign

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

上传视频

接口URL

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

接口说明

1、作用:上传本地视频
2、仅限2G以下视频上传

支持格式

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:””})

2

注意事项

返回错误列表

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

返回结果

<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...

上传远程视频

uploadUrlFile

    作用:上传远程视频

URL

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

支持格式

JSON,XML

HTTP请求方式

POST,GET

请求数限制

TRUE

请求参数

参数名必选类型及范围说明
writetokentruestring用户的上传钥匙
fileUrltruefile远程文件的http连接(带http://)
asyncfalseboolean是否异步处理,取值为true/false,默认值为false
titlefalsestring标题
tagfalsestring标签
descfalsestring描述
cataidfalselong设定上传视频的分类,分类的id可以在“视频管理”——“内容分类”中获取,如下图所示。cataid为catatree的最后一个long型的整数,catatree由cataid组成。当cataid值为1时,表示用户上传空间的根目录。
lupingfalseint是否录屏优化。当值为1时,上传的视频不再采取默认的压缩编码机制,视频尺寸不再压缩,保证视频的清晰度。默认值为0
2

注意事项

    返回错误列表
返回说明
0无错误
1找不到writetoken关联的user
2文件为空或者writetoken为空
3提交的json名字JSONRPC为null
4提交文件格式不正确
5readtoken为空
6分页输入出错
7vid不能为空
8找不到方法名
JSON示例
    返回结果:
    {"error":"0",
     "data":
      [{"vid":"********"}]
     }

字段说明

   #vid: 视频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.
上传节点
上传接口地址统一为http://upload.polyv.net:1080/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...

上传视频的预览图

upFirstImage

    作用:上传并更改视频的预览图

URL

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

支持格式

    JSON

HTTP请求方式

    POST

请求数限制

    TRUE

请求参数

参数名必选类型及范围说明
writetokentruestring用户的上传钥匙
vidtruestring要修改的视频ID
Filedatafalsefile用户上传的图片文件:.jpg,.png
formatfalsestring默认返回json格式,如果format=xml返回xml格式
jsonpfalsestring 例如,正常情况{error:0,data:""},加jsonp=a后返回a({error:0,data:""})

注意事项

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

返回结果

<?xml version="1.0" encoding="UTF-8"?>
<xml>
        <error>0</error>
        <data>true</data>    
</xml>

JSON示例

{"error":"0","data":true}

字段说明

字段说明
error错误提示
data返回成功或失败
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

上传问答

参数描述(以下参数都必须提交

1 writetoken 用户上传的钥匙 
2 vid 视频的id
3 seconds 问题出现的秒数(第seconds秒)
4 question 问题描述
5 choices  json格式备选选项,四个 ,正确答案需要加多一个"right_answer":1 例如:'[{"answer":"100"},{"answer":"22","right_answer":1},{"answer":"30"},{"answer":"45"}]'
6 answer 解答详情
7 wrongShow 答错是否显示解答详情 1为显示,0不显示
8 wrongTime 答错退回秒数(第wrongTime秒),-1不回退
9 examId 测试问题Id,为空的时候新创建一个,不为空则修改这条问题
10 right_answer 类型为整型,1表示正确答案,0表示错误答案

 

在页面中加入

<script type="text/javascript">
function updateExam(){
  $.post("http://v.polyv.net/uc/services/rest", {
      method:"saveExam",
      writetoken:'Y07Q4yopIVXN83n-MPoIlirBKmrMPJu0',
      vid:'sl8da4jjbx02064017aff9989bfb824f_s',
      examId:'',//为空新增问题
      seconds:10,
      question:'10+12=?',
      choices:'[{"answer":"100"},{"answer":"22","right_answer":1},{"answer":"30"},{"answer":"45"}]',
      skip:"true",//设置是否可以跳过问答,true表示可以跳过,不添加这个参数默认没有跳过的功能
      answer:'第二个答案,解答',//解答详情
      wrongShow:1,//答错是否显示解答详情
      wrongTime:10//答错退回第十秒,-1不回退
   },function(result){
        var data = eval(result);     
        if(data.error==0){
            alert('成功,examId:'+data.examId);
        }else{
            alert('失败了');
        }
   });
}
</script>

<input type="button" onclick="javascript:updateExam()" value="点击"/>
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

上传视频字幕

参数描述

1 writetoken 用户上传的钥匙 
2 vid 视频的id
3 title srt显示名,为空则用文件名代替
4 Filedata srt文件

在页面中加入

link rel="stylesheet" type="text/css" href="/uploadify/uploadify.css">
<script type="text/javascript" src="/javascripts/libs/jquery.min.js"></script>
<script type="text/javascript" src="/uploadify/jquery.uploadify.min.js"></script>

<script type="text/javascript">
  $(function() {
        $.fileupload1 = $('#fileupload1').uploadify({
          'auto'     : false,
            'formData'     : {
                'writetoken' : 'Y07Q4yopIVXN83n-MPoIlirBKmrMPJu0',
                'vid'     : 'sl8da4jjbx7e220f1c15213f9f04782e_s',
              'title' : ''
            },
           'buttonText': '选择上传文件',
           'fileSizeLimit' : '10MB',//上传文件大小限制
           'fileTypeDesc' : '视频文件',
           'fileTypeExts' : '*.srt;',//文件类型过滤
            'swf'      : '/uploadify/uploadify.swf',
            'uploader' : 'http://v.polyv.net/uc/services/rest?method=uploadSRT',
            'onUploadSuccess':function(file,data,response){

              var jsonobj=eval('('+data+')');
              if(jsonobj.error==0){
                  alert("srt uploaded!");
              }

            }
        });
  });
</script>

<input type="file" name="Filedata" id="fileupload1" />
<input type="button" onclick="javascript:$('#fileupload1').uploadify('upload')" value="点击上传"/>

 

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