点播 构造自己的播放器 用户调用获取视频播放地址接口

丈夫欲遂平生志,一载寒窗一举汤。这篇文章主要讲述点播 构造自己的播放器 用户调用获取视频播放地址接口相关的知识,希望能为你提供帮助。


目的:使用自己构造的播放器来播放乐视云的点播中上传的视频,不使用官方播放器
方法:
1.这个API接口乐视云只提供给付费用户,需要找官方客服开通这个功能,再让他们提供这文件API文档

参数说明:
1.user  

2.video(是视频VU:8xxxxxx2,不是视频ID:4ccccc6)

 
HTTP获取方法:一、GET方法

header("Content-type: text/html; charset=utf-8");
//$ptime=time()*1000; //13位
$ptime=time(); //13位
//$format="json";
$http_type=http;
//dump($videoid);
$params = array (
"user" => $uuid,//乐视云视频分配用户唯一标识
"video" => $videoid,//视频唯一标识
"vtype" => $type,//视频类型,可选值范围(mp4,flv,m3u8)
"ts" => $ptime,//当前 Unix 时间戳,请保证请求服务器时间正确,与现在时间差 1分钟以内
//"protocol" => $http_type,//指定播放地址为 http 或者 https 协议,默认返回 http 播放地址
);
//dump($str);
$hash =$this-> generateSign($params,$secretkey);
//echo $hash;
$url="http://api.letvcloud.com/getplayurl.php?user=".$uuid."& video=".$videoid."& vtype=".$type."& ts=".$ptime."& sign=".$hash;
//初始化
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);
// 执行后不直接打印出来
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
// 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 不从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

//执行并获取HTML文档内容
$output = curl_exec($ch);

//释放curl句柄
curl_close($ch);

二、POST方法
header("Content-type: text/html; charset=utf-8");
//$ptime=time()*1000; //13位
$ptime=time(); //13位
//$format="json";
$http_type=http;
//dump($videoid);
$params = array (
"user" => $uuid,//乐视云视频分配用户唯一标识
"video" => $videoid,//视频唯一标识
"vtype" => $type,//视频类型,可选值范围(mp4,flv,m3u8)
"ts" => $ptime,//当前 Unix 时间戳,请保证请求服务器时间正确,与现在时间差 1分钟以内
//"protocol" => $http_type,//指定播放地址为 http 或者 https 协议,默认返回 http 播放地址
);
//dump($str);
$hash =$this-> generateSign($params,$secretkey);
//echo $hash;
$url="http://api.letvcloud.com/getplayurl.php";
$post_data = https://www.songbingjia.com/android/array (
"user" => $uuid,//乐视云视频分配用户唯一标识
"video" => $videoid,//视频唯一标识
"vtype" => $type,//视频类型,可选值范围(mp4,flv,m3u8)
"ts" => $ptime,//当前 Unix 时间戳,请保证请求服务器时间正确,与现在时间差 1分钟以内
"sign" => $hash,//验证码,生成规则详见下面的说明,其中 secretkey 是由乐视网统 一分配并提供的用户密钥
// "protocol" => $http_type,//指定播放地址为 http 或者 https 协议,默认返回 http 播放地址
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);

//打印获得的数据
print_r($output);

HTTPS获取方法:
参数构成都差不多,"protocol" => $http_type,无论验证和传参数都要加上这个参数
header("Content-type: text/html; charset=utf-8");
//$ptime=time()*1000; //13位
$ptime=time(); //13位
//$format="json";
//$http_type=http;
//dump($videoid);
$params = array (
"user" => $uuid,//乐视云视频分配用户唯一标识
"video" => $videoid,//视频唯一标识
"vtype" => $type,//视频类型,可选值范围(mp4,flv,m3u8)
"ts" => $ptime,//当前 Unix 时间戳,请保证请求服务器时间正确,与现在时间差 1分钟以内
"protocol" => $http_type,//指定播放地址为 http 或者 https 协议,默认返回 http 播放地址
);
//dump($str);
$hash =$this-> generateSign($params,$secretkey);
//echo $hash;
$url="http://api.letvcloud.com/getplayurl.php";
$post_data = https://www.songbingjia.com/android/array (
"user" => $uuid,//乐视云视频分配用户唯一标识
"video" => $videoid,//视频唯一标识
"vtype" => $type,//视频类型,可选值范围(mp4,flv,m3u8)
"ts" => $ptime,//当前 Unix 时间戳,请保证请求服务器时间正确,与现在时间差 1分钟以内
"sign" => $hash,//验证码,生成规则详见下面的说明,其中 secretkey 是由乐视网统 一分配并提供的用户密钥
"protocol" => $http_type,//指定播放地址为 http 或者 https 协议,默认返回 http 播放地址
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$returndata = https://www.songbingjia.com/android/curl_exec($ch);
curl_close($ch);

三、签名方法
/**
* 构造云视频Sign
* @param array $params 业务参数
* @return string
*/
public function generateSign($params,$secretkey)
ksort($params);
$keyStr = ;
foreach($params as $key => $value)
$keyStr .= $key.$value;

$keyStr .= $secretkey;
$key = md5($keyStr);
return $key;

四,返回数据
返回成功的 data 节点说明:包含video_list 节点,包含所有指定视频格式的调度播放地
址。如请求的视频存在,标清和高清两个码流的视频源则,同时返回两个节点,每节点下含
4 个视频地址(1 主,3 备),地址为 base64 编码,base64解码后可用,注意播放地址的时效性。
其他信息为:视频的长宽和视频码流信息等


说明:
1.main_url:主要网址,备份网址:back_url1_1,back_url1_2,back_url1_3
2.ts时间戳有时间限制,与现在时间差1分钟以内,如果超出了时间需要重新获取
3.解密出来的MP4视频网址,只要不关闭打开视频的浏览器是可以一直观看下载,如果复制视频网址给别人(其它浏览器打开),一分钟后就打不开原来能观看视频的网址

打开错误提示

 
【点播 构造自己的播放器 用户调用获取视频播放地址接口】 

    推荐阅读