回调通知
在酷播云后台右上角【设置】->【回调设置】,【回调URL】的录入框填入用户的接口URL(例如:http://demo.polyv.net/callback),在每次视频上传、编码、审核时,酷播云会通过get方法请求用户的接口,将参数回调通知给用户。
1. 上传完成/上传不合规格视频回调
上传完成后,系统会调用回调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
2.异步上传处理失败回调
- sign : 系统签名,sign是由系统用"async_upload" 这个字符串和 fileUrl、secretkey 这两个参数的值按顺序组成的字符串做MD5计算得到(如:fileUrl 的值为 "http://a.mp4" , secretkey 的值为 kXmHMLeX6M ,将字符串 async_uploadhttp://a.mp4kXmHMLeX6M 进行MD5计算,得到 c2f168b96d882c1a03f1021c29208916 )
- type : 回调类型
- async_upload:远程上传视频失败,需要检查视频地址
- fileUrl : 用户提交的需要远程上传视频的地址
- title : 用户提交的需要远程上传视频的标题
请求实例:
- http://demo.polyv.net/callback?sign=c2f168b96d882c1a03f1021c29208916&fileUrl=http://a.mp4&type=async_upload&title=test
3.编码完成/失败回调
- 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
4.审核操作回调
- 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}')");
- }
- }
- ?>