您当前的位置: 首页 > 知识百科 > 微信小程序html5直播是怎么回事?

微信小程序html5直播是怎么回事?

时间:2023-07-01 14:05 阅读数:95 人阅读 分类:知识百科

  微信小程序html5直播是怎么回事?直播也是一个发展比较迅速的行业,小程序和直播的结合肯定会更加火热,那么微信小程序html5直播是怎么回事?这下面随小编一起看看吧。

  微信小程序html5直播是怎么回事?

  微信H5直播播放的就是HLS,譬如写一个HTML的小程序页面放一个video标签就可以看直播。

  HLS的延迟当然是挺大的,不过有些直播对于延迟不是那么敏感,譬如演唱会或者电视节目之类的。

  如果一个片是10秒,HLS的延迟级别是在30秒左右,具体参考SRS WIKI。如果降低切片为3秒,那是否能到10秒?不是这么回事,低延迟不能忽略端的因素,而所有的切片协议延迟都很高,具体参考SRS WIKI。如果改进HLS切片方式,譬如HLS+动态切片,会稍微改善延迟,但是还是达不到RTMP目前2秒左右延迟的级别。

  如何降低直播的延迟?主要在于端,目前CDN和服务器以及编码器都可以做优化,唯独端并非考虑了低延迟。譬如HTTP-FLV协议,延迟也很低,隐含的意思是Flash对于HTTP-FLV也是支持低延迟的方式,或者说考虑了延迟因素,可以设置缓冲区和最大缓冲区,解码缓冲也很小。譬如移动端APP自己解码HTTP-FLV,也是可以控制这些因素的。

  微信H5还有一个降低延迟的可能,就是MSE。

  简单来说,MSE就是H5的video对象,提供了appendBytes()接口,可以自己解析各种封装后,给这个小程序js的函数。就很类似flash后面开放的NetStream的DataGeneration模式的接口。其实Apple的媒体框架也是这个思路,不巧Android的多媒体API也是这样。所以直接接收底层的媒体数据,譬如mp4或者flv,甚至直接送annexb进去,能让用户控制解析封装,运行时就不用费力限制各种封装了。从延迟上来看,用户能控制的部分又增加了。

  MSE的延迟多大呢?由于MSE不是切片协议,所以没有切片协议引起的延迟(同步的延迟),如果通过websocket传输flv或者mp4,这样可以做到流式协议。是不是一切看起来是那么的美好?但是这里有两个坑:

  Chrome必须以GOP为基础appendBytes,也就是延迟至少是GOP级别。当然GOP可以做到比较小,譬如2秒。

  微信还没有支持MSE接口,看来希望还是在微信小程序开发上。

  为什么微信小程序直播是可能做到低延迟的?因为微信小程序非常像flash那个运行时,为了*能或者统一平台的优化,自然可以控制video对象的延迟。虽然小程序目前的使用和H5一样,也是一个HTML标签,但是微信是需要解析小程序代码的,如果说小程序*能比H5高,那这些代码的解释肯定是微信自己做的,完全有机会可以做到低延迟。

  以上就是小编给大家搜集的微信小程序html5直播是怎么回事的全部内容了。希望上面的材料可以让大家明白微信小程序html直播是怎么回事。更多精彩尽在微小乔。

相关推荐:

微信小程序和h5区别在哪?

h5怎么写微信小程序?

微信小程序直播sdk怎么开发?