1、首先我们从腾讯视频网站上找到一个视频网页的连接,格式是这样的

https://v.qq.com/x/page/b0136et5ztz.html

上面我加粗的是视频的vid

2、我们把vid放到接口地址上变成

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

3、直接访问返回的是

QZOutputJson={“dltype”:1,“exem”:0,“fl”:{“cnt”:2,“fi”:[{“id”:100701,“name”:“msd”,“lmt”:0,“sb”:1,“cname”:“流畅;(180P)”,“br”:29,“drm”:0,“video”:1,“fs”:35776912,“sl”:1},{“id”:2,“name”:“mp4”,“lmt”:0,“sb”:1,“cname”:“高清;(480P)”,“br”:34,“drm”:0,“video”:1,“fs”:74129447,“sl”:0}]},“hs”:0,“ip”:“119.137.195.73”,“ls”:0,“preview”:1186,“s”:“o”,“sfl”:{“cnt”:0},“tm”:1503504934,“vl”:{“cnt”:1,“vi”:[{“br”:29,“ch”:0,“cl”:{“fc”:0,“keyid”:“b0136et5ztz.100701”},“ct”:21600,“drm”:0,“dsb”:0,“fmd5”:“87d7d2ef15f55a456bcdb359dd580795”,“fn”:“b0136et5ztz.m701.mp4”,“fs”:35776912,“fst”:5,“fvkey”:“EBB1F5C7B5100A3DA80802119E3FF9D0AAE3DA6670594D507B02AD489CF21D2868B0803B76F7434CE51B5C70D75554D68ED24A49EE3DE4791E0BA58444A77756FA7CBC6FB1B3E579F44F87AFB1CB79E8522A48576A4949037A5EDC1C842A9EF7536E090EBD018BB2”,“head”:0,“hevc”:0,“iflag”:0,“level”:0,“lnk”:“b0136et5ztz”,“logo”:1,“mst”:8,“pl”:null,“share”:1,“sp”:0,“st”:2,“tail”:0,“td”:“1186.92”,“ti”:“解密潮汕多神信仰”,“type”:3,“ul”:{“ui”:[{“url”:“http://113.105.167.156/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/”,“vt”:200,“dtc”:0,“dt”:2},{“url”:“http://113.105.167.155/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/”,“vt”:200,“dtc”:0,“dt”:2},{“url”:“http://113.105.167.154/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/”,“vt”:200,“dtc”:0,“dt”:2},{“url”:“http://video.dispatch.tc.qq.com/62098754/”,“vt”:0,“dtc”:0,“dt”:2}]},“vh”:272,“vid”:“b0136et5ztz”,“videotype”:27,“vr”:0,“vst”:2,“vw”:480,“wh”:1.7647059,“wl”:{“wi”:[]}}]}};

4、我们把前面的QZOutputJson=跟最后的 ;
过滤掉,得到一个json字符串了。解析它变成json对象,然后把标红的三个部分组合一下,顺序是

url + fn + ‘?vkey=’ + fvkey

例如上面这串,组合下来就是

http://113.105.167.156/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/b0136et5ztz.m701.mp4?vkey=EBB1F5C7B5100A3DA80802119E3FF9D0AAE3DA6670594D507B02AD489CF21D2868B0803B76F7434CE51B5C70D75554D68ED24A49EE3DE4791E0BA58444A77756FA7CBC6FB1B3E579F44F87AFB1CB79E8522A48576A4949037A5EDC1C842A9EF7536E090EBD018BB2

这个地址就可以直接放在小程序的video组件里面播放了。

注意:由于腾讯视频的地址vkey是定时变化的,所以肯定是不能写死在程序里面的。必须走后端照着上面写的方式抓取接口,过滤掉无用字符串,解析json,组合地址,通过接口返回给小程序video组件的src即可正常播放。

 //php处理的方法public function getVideo(){$video_url='https://v.qq.com/x/page/o0560pmnr2z.html';//视频地址$vids=strstr($video_url,'page/');//字符串查询到page/o0560pmnr2z.html$vids_arr=explode('/',$vids);//转为数组$vid=strstr($vids_arr[1],'.html',true);//获取o0560pmnr2z$api_url='http://vv.video.qq.com/getinfo?vids='.$vid.'&platform=101001&charge=0&otype=json';//接口地址$res_json=curl_api($api_url);$str = str_replace('QZOutputJson=', '', $res_json);$str1 = str_replace('};', '}', $str);$res=json_decode($str1,true);$url=$res['vl']['vi'][0]['ul']['ui'][0]['url'];$fn=$res['vl']['vi'][0]['fn'];$fvkey=$res['vl']['vi'][0]['fvkey'];$video_src=$url.$fn.'?vkey='.$fvkey;dump($video_src);}

微信小程序video组件调用腾讯视频的解析相关推荐

  1. 微信小程序video组件调用腾讯视频的解决方案

    最近在开发中碰到了微信小程序video组件调用腾讯视频的问题,就趁机来总结一下. 对方只给了我一个腾讯视频的网页链接,然后需要放置到小程序里面,大概开发前景是这样的. 对方提供的视频链接: https ...

  2. uniapp 判断页面是否是横竖屏,解决微信小程序video组件全屏播放视频遮盖自定义播放控件问题

    如果res.deviceOrientation 等于landscape 的话是竖屏,portrait则是横屏.因为用户每旋转一次屏幕就会触发里面的onShow钩子,因此在页面显示或横竖屏变化都会触发这 ...

  3. 微信小程序 - video组件poster无效 / 视频播放列表

    在做有关微信小程序有关视频播放页面的时候,遇到video组件设置poster无效果,然后查了下poster属性:视频封面的图片网络资源地址,如果 controls 属性值为 false 则设置 pos ...

  4. 微信小程序云开发调用 腾讯云AI 图像标签

    本白菜在开发微信小程序调用腾讯云AI图像标签产品时,遇到了问题,自己琢磨了三天,搜遍了能搜的东西,还是没有解决.下边记录一下 调用过程 1.首先进入https://cloud.tencent.com/ ...

  5. 微信小程序video组件/腾讯视频插件,禁止拖动进度条,使用遮罩层的方式实现

    话不多说,直接上代码 wxml文件 这里是原生video组件的方式 <video enable-progress-gesture="false" ><cover- ...

  6. 微信小程序video组件播放不了

    最近使用小程序的video组件,视频无法播放,报错The elemen has no support sources: 原因video组件只支持视频源的文件,必须是.mp4或者其他指向视频源的链接,如 ...

  7. 微信小程序Video组件实现视频、自定义播放按钮、封面图、封面图文字demo

    效果图 实现思路 在video标签中添加view或cover-view标签,封面图可直接设置video组件的poster属性,自定义按钮和封面图文字包在view中设置定位即可,给自定义按钮绑定点击事件 ...

  8. 微信小程序 子组件调用父组件方法

    原文连接   --->  https://blog.csdn.net/qq_40190624/article/details/87972265 组件 js:  var value = 123; ...

  9. 原生微信小程序父组件调用子组件中的方法

    假设子组件中写有方法getData() // 返回数据 getData() {let flag = this.onStartValidate();if (!flag) return falselet ...

最新文章

  1. python简历数据提取_如何使用pyPDF2从PDF格式的多页简历中提取文本数据?
  2. pyCrypto python 3.5--转
  3. DataScience:数据可视化的简介(意义+六大优势)、使用工具之详细攻略
  4. 【深度学习】使用Python+PyTorch预测野外火灾
  5. superset配置与初步使用
  6. 我们需要打造有意识的人工智能吗?
  7. 深入理解计算机系统(原书第三版)系列 第一章 计算机系统漫游
  8. 心理学巨著《影响力》读后总结
  9. bzoj 3672 利用点分治将CDQ分治推广到树型结构上
  10. Nginx @ Https
  11. skype安卓手机版_安卓手机版电视直播播放器
  12. 20款优秀的免费代码编辑器
  13. Unity Timeline自定义轨道 DefaultPlayables源码剖析
  14. 图书管理系统-数据库设计
  15. PHP日期时间函数之strtotime()
  16. php取word表格一行内容,如何提取出word表格中的内容 值得一看
  17. Kalibr安装教程
  18. Neural Collaborative Filtering(NCF) 代码实战(Keras)
  19. 学好ASP编程必会的代码
  20. oracle中如何写函数【oracle技术】

热门文章

  1. 线上云展厅产品展区摆设技巧
  2. P1217 [USACO1.5]回文质数 Prime Palindromes——回文质数性质、打表
  3. 大学的终结,终结了什么???
  4. 2019年2月星环科技大数据应用开发面试(2年工作经验)
  5. 中山マミ - 彼女×彼女×彼女 ~今夜はぎゅっと抱きしめてね~
  6. 液压杆原理//2021-1-30
  7. 【八股文】4 Spring
  8. 解决Swing控件setEnabled(false)时的字体颜色
  9. Flyme 6将于30日公测 魅蓝Note5有望率先尝鲜
  10. VS Code折腾记 - (4) 常用必备插件推荐【前端】