视频会议初探 -- 腾讯云直播+小程序推流+h5拉流
发布日期:2021-05-09 00:32:39 浏览次数:25 分类:博客文章

本文共 2120 字,大约阅读时间需要 7 分钟。

最近要加会议功能,然后大体看了下,决定用腾讯云直播+小程序的live-pusher组件+腾讯云的h5拉流sdk来做

对接口这种工作一直都不难,大体记录下流程以备不时之需

首先我们开通云直播,

常用的推流软件有obs,像斗鱼这种直播平台,我用的就是obs+斗鱼直播伴侣推流

开通完之后,我们先看域名管理

域名管理

默认自带一个推流域名

后面要添加自己的域名,注意cname要填好记录,举个例子,我在阿里云申请的域名,techny.cn,我想用他的二级域名作为一个推流域名(播放域名也可以),那该怎么操作呢

首先在域名管理中添加域名 test.techny.cn

 

 然后在CNAME这一列可以看到一个记录,我这边配过,所以是绿色的对号,一般来说是红色的❌

 然后去阿里云添加二级域名,并解析CNAME记录

这样就可以了,我们等待一会,就会看到变成绿色的对号了

手动测试推流

我们可以先打开辅助工具,查找地址生成器,生成一个推流地址看看

 

 

可以先用obs自行测试一下,服务器就填推流地址,串流密钥填推流名称

 

然后我们点击开始推流

 进入流管理,点击测试,观看直播画面

 

正常情况下是能看到画面的

这样手动测试过没问题后,推流地址的生成参考官方示例,我们只需要在前端去请求这个接口,获取每个客户端自己的推流地址就可以了

/**      * 获取推流地址      * 如果不传key和过期时间,将返回不含防盗链的url      * @param domain 您用来推流的域名      * @param streamName 您用来区别不同推流地址的唯一流名称      * @param key 安全密钥      * @param time 过期时间 sample 2016-11-12 12:00:00      * @return String url      */      function getPushUrl($domain, $streamName, $key = null, $time = null){          if($key && $time){              $txTime = strtoupper(base_convert(strtotime($time),10,16));              //txSecret = MD5( KEY + streamName + txTime )              $txSecret = md5($key.$streamName.$txTime);              $ext_str = "?".http_build_query(array(                  "txSecret"=> $txSecret,                  "txTime"=> $txTime              ));          }      return "rtmp://".$domain."/live/".$streamName . (isset($ext_str) ? $ext_str : "");}            echo getPushUrl("123.test.com","123456","69e0daf7234b01f257a7adb9f807ae9f","2016-09-11 20:08:07");

小程序推流

这个小程序用的uni-app,不过和原生的没什么区别,uni封装的和原生的api其实一模一样的,里面有个,算是自己的疏忽吧

官方文档地址 

官方例子

api的官方文档  

其实已经很全面了,我们只需要改一下ui,调整一下css就好了,但是我做这块遇到了一个问题,摄像头一直黑屏

刚开始我以为是生命周期的问题,在onLoad中这个组件的api无法加载,放在onReady中还是一样,搞得我很懵逼,问了一个广东的前端也是看不懂,他说之前没遇到过这种情况

后来我打算用小程序的原生api来做,结果看到文档中这么一段

 然后就去公众号后台开通了一下,结果live-pusher组件就可以用了! 所以基本的学习能力还是很重要的,毕竟文档里都有

 我们只需要动态绑定url就可以了,别的都很简单

Web拉流

官方文档  

文档很详细,注意几点就可以了

  • 因为跨域,不能在本地调试,可以通过反向代理代理服务器到本地,进行本地调试
  • 谷歌浏览器不支持flash
  • web拉流兼容性问题还是蛮大的

我用谷歌浏览器调试会出现这种画面,而且暂时不持支手机端

 后面几天要做成一对多的聊天室,做的过程中看看还有什么问题,持续更新

上一篇:vue-element-admin热更新慢
下一篇:vscode php开发使用的一些插件

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月18日 20时56分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

aspen串联反应怎么输入_如何进步提升串联谐振试验装置的稳定性 2025-03-29
a推b等价于非a或b_AB胶/蜜月胶常见问题的原因分析及解决方法 2025-03-29
c++ string取子串_Integer与String的设计哲学 2025-03-29
c++ 数组批量赋值_数组之间不能赋值?穿个马甲吧! 2025-03-29
cad模糊查询符号_mysql 正则模式和like模糊查询 2025-03-29
continue可以用if判断里面吗_谁能说说if()else()里的continue是干嘛的? 2025-03-29
ctrl c 和 ctrl v 不能用了_神奇操作,原来CTRL键还能这么用 2025-03-29
cytoscape安装java_Cytoscape史上最全攻略 2025-03-29
c语言程序设计年历显示,C语言程序设计报告《万年历》.doc 2025-03-29
C语言程序设计梁海英答案,1.5 习题 2025-03-29
c语言编写单片机中断,C语言AVR单片机中断程序写法 2025-03-29
ddr2的上电顺序_S5PV210 DDR2初始化 28个步骤总结 2025-03-29
embedding层_【预估排序】Embedding+MLP: 深度学习预估排序通用框架(一) 2025-03-29
excel中最常用的30个函数_Excel玩转数据分析常用的43个函数! 2025-03-29
flink sql设置并行度_Flink 参数配置和常见参数调优 2025-03-29
go 字符串替换_Go 每日一库之 quicktemplate 2025-03-29
hex editor neo下载_口袋妖怪爆焰黑手机版下载-口袋妖怪爆焰黑手游下载v4.3.0 安卓版... 2025-03-29
html上传图片直接保存到数据库中,Editor上传图片路径存入数据库中怎么弄? 2025-03-29
ICLOUD储存空间要升级吗_有人像我一样需要恢复苹果手机icloud空间ios备份时 微信卡住不动了吗(已解决)... 2025-03-29
jaccard相似度_自然语言处理之文本相似度计算 2025-03-29