真正的才智是刚毅的志向网站位置:博客文章

小程序video标签引用腾讯视频的解决方案

发布时间:2017-09-29编辑:阅读(1789)

最近做了一个简单的小程序,应客户要求需要引入视频,一开始直接f12获取了腾讯视频的动态地址,并上传了代码,结果第二天客户告知视频不能打开,这是才知道原来这是动态的地址有效时间做了限制,这个方案肯定就不行。

后台我嫌麻烦直接将视频放到服务器上去,这样是可以做,但是考虑到后期这种小程序会越来越多只能另想他法。

后来在微信小程序开发者社区里面找到了方案,现记录如下。

1、我们需要拿到客户给的视频地址,然后得到vid(https://v.qq.com/x/page/z0519ltxcaa.html)

红色加粗部分就是我们需要的vid

2、通过获取的vid拿到腾讯视频接口获取的数据

http://vv.video.qq.com/getinfo?vids=z0519ltxcaa&platform=101001&charge=0&otype=json

3、请求接口地址返回数据获取我们需要的参数url、fn、vkey,通过地址组合就能得到我们每次请求的有效地址(url格式为url+fn+"fvkey="+vkey)

通过以上步骤就能完成我们的功能咯!

最后附上我的代码:

$vids = "z0519ltxcaa";
$url = "http://vv.video.qq.com/getinfo?vids=$vids&platform=101001&charge=0&otype=json"; 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_URL, $url);
curl_close($curl);
$res = str_replace('QZOutputJson=','',substr($res,0,-1));
$res = json_decode($res,true);
$url = $res['vl']['vi'][0]['ul']['ui'][0]['url'];
$fn = $res['vl']['vi'][0]['fn'];
$fvkey = $res['vl']['vi'][0]['fvkey'];
$videoUrl = $url.$fn.'?vkey='.$fvkey;
echo $videoUrl;exit();
超赞的评论 登陆
1条评论