当前位置:   article > 正文

微信小程序全栈开发实践 第二章 微信小程序组件介绍及使用 -- 2.11 如何实现直播功能?(一)了解 live-pusher 、 live-player 组件的主要属性和使用限制_live-pusher和live-player

live-pusher和live-player
小程序开放了直接可以用的直播组件,有使用资格的小程序账号,
可以在微信公众平台 -> 功能标签下面,可以看到申请入口,
但是这个组件只是面向有资质的企业账号开放的,有了申请资格以后,
也需要开发者自己去主动申请才可以使用

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在这里插入图片描述

一、HTML5与小程序在实现直播功能上的对比:

HTML5:WebRTC 推流、video 标签播放

小程序:live-pusher 推流、liver-player 播放,支持美颜、美白、实时音视频、动态码率调整等增强功能
  • 1
  • 2
  • 3

二、关于live-pusher 、 live-player 这两个组件使用限制的问题

这两个组件个人开发者并不能使用,企业开发者也要有相关的资质,在申请并且审核以后才可以使用,

小程序类目列表
https://developers.weixin.qq.com/miniprogram/product/material/

  • 1
  • 2
  • 3
  • 4
  • 5

微信目前暂且只针对国内的账号主体,在上面开放的类目下面,允许使用这两个直播组件。
在这里插入图片描述

在这里插入图片描述
企业开发者需要登录微信公众平台,先申请并通过类目审核,然后再在开发接口设置这个标签下面自助申请开通组件的权限,成功开通过以后才可以在这个项目里边使用这两个组件。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
三、重要属性

3.1 orientation属性

在这里插入图片描述

在这里插入图片描述

3.2 开启美颜与美白

在这里插入图片描述

3.3 aspect 、video-width、video-height

在这里插入图片描述

在这里插入图片描述

3.4 监听bindnetstatus事件

在这里插入图片描述

在这里插入图片描述

netJitter  网络抖动情况,抖动越大,网络越不稳定
如果监听到 netJitter 过大,我们可以考虑降低 mode 的值,
可以自动降低,也可以通过提醒的方式提示主播,让主播主动选择一个合适的 mode
  • 1
  • 2
  • 3
如果是主播的网络不好,所有观众的观看体验都会受影响,
可以对bindnetstatus这个事件监听过程中去处理,这是一种方法。
还有另外一种方法,就是设置推送短的最小码率和最大码率
  • 1
  • 2
  • 3
min-bitrate	number	200	否	最小码率	1.7.0
max-bitrate	number	1000	否	最大码率

当主播网络不给力的时候,live-pusher这个组件就会给主播的编码器,
主动发送一个降低画质的命令,在最小码率和最大码率,在这个范围之间做一个调整,
通过主动降低编码器推送的数据量,来给主播的网络减轻负担。
这个就是增强的码率调整功能,但是这种方法它的副作用也很明显,就是主播的画质会变差

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

3.5 mode

它大致决定了推送的视频的质量

在这里插入图片描述

3.6 监听 bindstatechange事件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1101	网络状况不佳:上行带宽太小,上传数据受阻
监听到1101这个状态的时候,可以提示主播靠近 WiFi 路由,或者是切换4G网络,以此来提高直播的质量

  • 1
  • 2
  • 3
3.7 kbps
min-bitrate 单位是 kbps ,
kbps 指的是数字信号的一个传输的速率 ,也就是每秒钟传送的千位比特信息是多少

我们平常生活中的家庭带宽,1M带宽、2M带宽、200M带宽

1Mbps = 1024Kbps = 1024/8KBps = 128KB/s

1M带宽   理论最高下载速度是 128KB/s

10M带宽  理论最高下载速度是 1280KB/s
如果一个文件是3M,
3M = 3 * 1024 = 3072 KB
3072 / 1280 = 2.4s

1M带宽   理论最高下载速度是 128KB/s


min-bitrate、max-bitrate,默认值分别是200kbps和1000kbps
200/1024  不到0.2M的一个带宽,它是非常低的
1000/1024 不到1M的带宽
大部分家庭网络都可以满足这个需求

小程序推流组件live-pusher对网速的要求并不算高,
一般在RTC实时音视频场景下,
可以将min-bitrate设置为300kbps
max-bitrate设置为800kbps

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
3.8 min-cache 、max-cache

在这里插入图片描述

当直播体验不好的时候,除了在主播端调整,还可以在播放端调整,
min-cache 、max-cache 这两个属性,用于控制播放端的延时大小
推荐设置 min-cache = 2,max-cache = 5,单位为s,

缓冲主要是用来抵抗网络波动的,缓冲的数据越多,那网络的抗性就越好,同时它的延迟也就越大
对于RTC这样的实时音视频应用来讲,min-cache推荐值可以设置为0.2s,max-cache设置为0.8s
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/247181
推荐阅读
相关标签
  

闽ICP备14008679号