解决小程序播放腾讯视频问题。同适用于微擎....

需要引用一些腾讯视频网站上的视频去播放,很多地方都是教人用F12抓一个mp4地址,这根本不行,因为那个地址是动态的,

翻了微信小程序的官方社区这方面的问题只有人提问,没有人有正确的回答(包括官方人员也都不懂),那就只能自己研究了。还好不是很难,折腾了一晚上一上午搞定了。

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

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

上面我标红色的是视频的vid

2、我们把vid放到接口地址上变成 (get请求就OK)

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":[]}}]}};

(假如我标红的url都不一样的话,默认取第一个,随便哪个都一样的,最起码我现在还没问题)

//这个视频链接的话需要的不是通用代码  而是页面链接就好了。$goods['video'] = 'https://v.qq.com/x/page/b0809n3hsw2.html';if(strpos($goods['video'],'v.qq.com') !== false){$video = substr($goods['video'],strripos($goods['video'],"/")+1);$goods['video'] = substr($video,0,strrpos($video,"."));$url = "http://vv.video.qq.com/getinfo?vids=".$goods['video']."&platform=101001&charge=0&otype=json";$data = $this->GetHttp($url);$data = substr($data,13);$data =  json_decode(substr($data,0,strlen($data)-1),ture); $url = $this->recur('url',$data)[0];$fn = $this->recur('fn',$data)[0];$fvkey = $this->recur('fvkey',$data)[0];$goods['video'] = $url.'/'.$fn.'?vkey='.$fvkey;//dump($goods['video']);die;/*** 修改完毕*/}

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

url + fn + '?vkey=' + fvkey

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

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

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

附:

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

当然如果你的后端解析json比较麻烦的(例如古老的asp ^_^),可以把第2步最后的json去掉或者改成xml,直接解析xml也一样。

php 小程序播放腾讯视频 video标签无法播放腾讯视频问题相关推荐

  1. html5(mp4)无法播放,关于HTML5中Video标签无法播放mp4的解决办法

    1.首先先排除掉代码问题.路径问题.浏览器不支持问题等常规问题,这些问题另行百度. 2.首先我自己从网上下载的一个MP4文件,IE10和谷歌都能正常播放.然后自己用格式化工厂转换了一个RMVB文件为M ...

  2. html mp4无法播放,关于HTML5中Video标签无法播放mp4的解决办法

    1.首先先排除掉代码问题.路径问题.浏览器不支持问题等常规问题,这些问题另行百度. 2.首先我自己从网上下载的一个MP4文件,IE10和谷歌都能正常播放.然后自己用格式化工厂转换了一个RMVB文件为M ...

  3. 微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签

    微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签 前言 萤石云开放平台 微信开发者工具 前言 因为项目需要在微信小程序上展示实时视频流信息,以下内容是我将萤石云平台官方文档和自己实 ...

  4. 关于html5的video标签不能播放视频的问题及解决方法

    最近实习过程中遇到了音频视频流的格式问题,进行了一些学习和总结. 问题背景 使用html5中的 video 标签去播放视频,但是发现有的flv/mp4格式的视频可以播放,有的flv/mp4格式的视频不 ...

  5. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  6. ios html5 自动全屏播放,禁止iPhone Safari video标签视频自动全屏的办法

    最近做一个移动端微信页面项目,在微信页面中有视频播放,但是需要禁止IOS的自动全屏播放(前提必须使用video标签). 如: 在iPhone safari 点击视频会弹出播放器进行全屏播放. 在网上看 ...

  7. 最新微信小程序获取音频时长与实时获取播放进度

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  8. 微信小程序画地块(微信开放文档中腾讯地图)

    微信小程序画地块(微信开放文档中腾讯地图) 1.map.js // 引入math计算包 var mathjs = require('../../../source/util/math.js'); // ...

  9. video标签无法播放视频

    现象:使用video播放视频,在ios上能播放,但是在浏览器和安卓上不能播放 前置条件: 1.network没有该视频的下载 2.通过在媒体元素中添加<source>元素而不是设置src属 ...

最新文章

  1. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
  2. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题...
  3. Codeforces Round #636 (Div. 3)(ABC)
  4. 【2022】多线程并发编程面试真题
  5. Hbase WALs(HLog) 文件存储,查看
  6. ECS Windows系统使用自带监视器查看IIS并发连接数
  7. android配置多个url,Retrofit中使用多个baseUrl
  8. 您是哪一种类型的老板?
  9. [渝粤教育] 中国地质大学 中外美术史 复习题 (2)
  10. HTML及相关知识汇总
  11. 手机银行业务应用中的关键技术
  12. sicily 1608
  13. 淘宝无货源店群,新手开店怎么入门?掌握这几点让你少走弯路!
  14. [ctf.show.reverse] 红包六
  15. 离线安装geoc_tjj
  16. WEB开发还有前途吗?
  17. 微信小程序_4,WXSS模板样式
  18. ChatGPT最快镜像,免费使用
  19. VB编程:代码实现窗体居中显示-59
  20. gyp ERR! stack Error: Can't find Python executable 'python'

热门文章

  1. 802.1x之CA证书的配置
  2. adb remount
  3. python 中文编码类型 gb2312 gb180_常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、UTF-8、unicode...
  4. 生鲜电商能在预制菜中找到盈利答案吗?
  5. 算法--运筹规划--pulp(一)
  6. php vc9 vc6,PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选
  7. 【优化调度】基于matlab电力系统热电联产机组优化调度问题【含Matlab源码 2206期】
  8. 订货管理软件+订货商城一体化,对食材批发商户有什么帮助?
  9. 手机刷机、root等经验
  10. 马走日的解法(dfs)