前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >敲实用的视频小插件,你确定不瞄一眼吗~

敲实用的视频小插件,你确定不瞄一眼吗~

作者头像
用户2619822
发布2022-06-10 16:49:27
4300
发布2022-06-10 16:49:27
举报
文章被收录于专栏:袁威袁威

哈喽,大家好,我是袁小威,好久没给大家分享好东西了,今天袁小威给大家带来一个实用小功能,那就是获取腾讯视频真实播放url,当然这个小功能还是有些许局限性,经本人实测,目前支持腾讯视频娱乐、音乐、新闻、搞笑、游戏、原创、时尚、生活、汽车、科技、财经、房产、育儿、旅游等分类栏目,对于电影、电视剧、动漫、韩剧、微电影、体育、NBA、直播、精品课等还无法获取,好了,下面进入正题吧。

首先,我们需要获取到我们所要获取的视频的vid,那么这个vid在哪呢,比如播放地址:https://v.qq.com/x/cover/x6y6l2e5a2ich2q/s0030t0b74q.html,那这个视频的vid就是“/”与“.html”之间的那串字符串,没错就是“s0030t0b74q”了,当然也可以用代码直接根据url分理出这个字符串。

这里很简单,php有自带的方法basename可以直接处理,代码如下:

代码语言:javascript
复制
$url = 'https://v.qq.com/x/cover/x6y6l2e5a2ich2q/s0030t0b74q.html';
$vid = basename($url,'.html');

这样,我们就得到我们所要的vid了。得到vid后,就可以通过如下代码愉快的获取到真实的播放url了,话不多说,直接上代码:

代码语言:javascript
复制
function getVideosInfo($vid){
   $urlString = 'https://vv.video.qq.com/getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid='.$vid;
   $res = httpRequest($urlString,'GET');
   $jsonarr = json_decode(substr($res,13,-1),true);
   $fn_pre = $jsonarr['vl']['vi'][0]['lnk'];
   $host = $jsonarr['vl']['vi'][0]['ul']['ui'][0]['url'];
   $streams =$jsonarr['fl']['fi'];
   $seg_cnt = $jsonarr['vl']['vi'][0]['cl']['fc'];
   if ($seg_cnt == 0){
       $seg_cnt = 1;
   }
   //此处是画质  0-标清 1-高清 2-超清
   $best_quality = $streams[count($streams)-1]['name'];
   $part_format_id = $streams[count($streams)-1]['id'];
   for ($i=1;$i<($seg_cnt+1);$i++){
       $filename = $fn_pre .'.p' . $part_format_id%10000 . '.' . $i . '.mp4';
   }
   $keyApi = "https://vv.video.qq.com/getkey?otype=json&platform=11&format=" . $part_format_id . "&vid=" . $vid . "&filename=" .$filename . "&appver=3.2.19.333";
   $result = httpRequest($keyApi,'GET');
   $jsonarr1 = json_decode(substr($result,13,-1),true);
   if ($jsonarr1['key']){
       $url = $host . $filename .'?vkey=' .$jsonarr1['key'];
   }
   return $url;
}

至此,我们的功能就完成了,在这里,我们一般把获取真实url的过程封装成一个方法,然后在要用的地方直接传入vid(或者视频地址也可以,把分离获取vid部分的代码也写进封装的方法里就好了),就可以愉快的获取到想要的真实播放url了,有没有很开心呢,好了,此次分享就到这了,下次再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 袁威 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档