上传视频

接口描述

1、上传视频
2、接口支持https协议

服务端上传推荐使用:Java上传SDK

接口URL

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

请求方式

POST

接口约束

(接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看)

返回结果支持格式

JSON

请求数限制

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时,表示用户上传空间的根目录。

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的值

watermark

false

string

自定义水印图片地址,图片格式必须是png格式,支持http、https。

watermarkLocation

false

string

自定义水印图片位置,如没该参数,则自定义水印的显示情况跟随分类和账号。1:左上角;2:右上角;3:左下角;4:右下角

state

false

string

用户自定义数据,如果提交了该字段,会在上传完成回调时透传返回。

注意事项

上传视频接口POST不能携带cookie
上传的视频不能大于 2G
返回错误列表
返回说明

0

无错误

1

找不到writetoken关联的user

2

文件为空或者writetoken为空

3

提交的json名字JSONRPC为null

4

提交文件格式不正确 或 视频大于 2G

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>

Java请求示例

快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。

强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

private static final Logger log = LoggerFactory.getLogger(VodVideoUploadTest.class);
/**
 * 上传点播视频
 */
@Test
public void testUpload() throws Exception, NoSuchAlgorithmException {
    //业务参数
    String url = "http://v.polyv.net/uc/services/rest?method=uploadfile";
    String writeToken = super.writeToken;
    
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("writetoken", writeToken);
    requestMap.put("JSONRPC", "{\"title\": \"标题\", \"tag\":\"标签\",\"desc\":\"描述\"}");
    Map<String, File> fileMap = new HashMap<>();
    fileMap.put("Filedata",new File("E:\\polyv\\polyv.mp4"));
    String response = HttpUtil.postFile(url,requestMap,fileMap,null);
    log.debug("测试上传点播视频,{}", response);
    //do somethings
}

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

正在编码

40

视频处理失败

50

等待审核

51

审核不通过

-1

已删除

如果API想调用签名,可参考签名生成规则 按参数签名顺序拼凑字符串为cataid=$(cataid)&JSONRPC=$(JSONRPC)&writetoken=$(writetoken)$(secretkey),并进行sha1计算,得到sign。

Last updated