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

admin 70 2024-02-18 09:00:24

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

  首先,我们需要获取到我们所要获取的视频的vid,那么这个vid在哪呢,比如播放地址:

  https://v.qq.com/x/cover/x6y6l2e5a2ich2q/s0030t0b74q.html,那这个视频的vid就是“/”与“.html”之间的那串字符串,没错就是“s0030t0b74q”了,当然也可以用代码直接根据url分理出这个字符串。

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

  $url = 'https://v.qq.com/x/cover/x6y6l2e5a2ich2q/s0030t0b74q.html';

  $vid = basename($url,'.html');

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

  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了,有没有很开心呢,好了,此次分享就到这了,下次再见!

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

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

上一篇:象征足坛最高荣誉的大力神杯 本身值多少钱?
下一篇:网贷都综合评分不足怎么办(网贷综合评分不足怎么回事)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

返回顶部小火箭