前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序<mlvb-live-room> 组件采坑

小程序<mlvb-live-room> 组件采坑

原创
作者头像
黑眼圈云豆
发布2020-09-10 17:17:04
1.6K0
发布2020-09-10 17:17:04
举报
文章被收录于专栏:跟铭哥学音视频技术

小程序<mlvb-live-room>是使用了live-pusher、live-player标签和IM sdk组成的一个适用于连麦互动的小程序直播组件。使用这个组件可以很简单的实现一个直播互动的小程序。虽然功能很好用,但是里面也有不少坑,今天我就来盘点一下。

官方文档介绍

第一个坑:没法试用连麦

这个问题是怎么表现的呢?假如你是第一次使用这个组件,想自己本地跑一下连麦效果,那么你大概率是会失败的,你发现你成功上麦之后,主播右下角会出现黑屏小画面,然后上麦的观众出现多次拉流失败的报错,之后上麦的这位观众就会推出直播间,如图下:

原因分析:出现这个问题主要是因为你这个sdk账号没有购买相应的套餐包,所以没办法体验上麦的功能。

解决方案:那必然只有购买相关套餐包才行了,购买入口如下图,或者你可以去腾讯云提供的线上demo进行体验

官方线上demo体验地址

第二个坑:无法使用纯音频上麦

上麦功能默认是会把视频也推送上去的,但是有些场景,可能说只想推送一个音频上去。文档上有一个参数可以推送纯音频。

mlvb组件api地址

这个时候我们可以考虑用这个参数去推送纯音频流,但是你会发现设置了这个参数之后,出现了问题:

  1. 上麦的人发现右下角自己的画面是黑的,但是声音推上去了;
  2. 没有上麦的人,听不到上麦的人声音,上麦的人互相能听见。

原因分析

1. 我们其实可以去看看mlvb组件的源码,你会发现上面的那个纯音频推流的参数是用来控制live-pusher组件的enable-camera参数的。所以我是没有推送视频上去的,看到右下角的画面是黑的很正常。同时还有一点就是其他推纯音频流上来的人,画面也是黑的,这也是正常逻辑。

2. 其实上麦之后,在这个组件内部是有做混流的,未上麦的观众,看的是混流的画面,因为他们不需要追求超低延时,而上麦的观众对延迟要求比较高,所以他们的通道是查看的超低延时画面。这一点我们也可以从官网的文档中看出。

所以这上麦和未上麦的人看到的流其实是不一样的:

  • 上麦的人走的是连麦通道,看的是超低延迟的流
  • 未上麦的人走的是直播通道,看的是混流之后的flv流

所以上麦的人能互相听到声音,说明推流没有问题,但是未上麦的人听不到上麦人的声音,说明混流失败了,纯音频流没有混进去。

控制台中出现的混流地址和超低延时地址
控制台中出现的混流地址和超低延时地址

解决方案

1. 这个表现其实是正常逻辑的现象,不过黑屏的话始终不够好看,大家可以去通过修改ui去优化这一块。位置见下图

2. 混流失败的话,我们得先去看看混流的代码逻辑。经过排查发现混流的接口所需要的数据都是通过createMergeInfo方法去构建的。

顺着代码找,我们可以找到小主播的混流信息构建的位置。

小主播混流信息构建
小主播混流信息构建

目前,mlvb这个组件里面使用的混流接口还是v3.0的,所以我们需要去查看v3.0的接口。

我们会发现,如果是纯音频推流,我们还需要设置一个input_type字段去做标识才行。

混流接口v3.0

设置好这个参数之后,混流的画面也可以听到上麦人的声音了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

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