上传视频
接口描述
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:右下角

注意事项
上传视频接口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
Was this helpful?