<10%,说明现在的带宽评估的比较准确,此时应该保持这个带宽,不增加也不减少;
7.3 基于延时的带宽评估
基于延时的带宽评估方法比基于丢包的评估更好一些,因为它可以提前预估是否发生了拥塞 。基于丢包的评估丢包率一旦超过10%就说明可能已经发生拥塞了,而网络一旦拥塞,再想恢复回原来的状态,需要花费一段时间,而这段时间就会影响音视频的服务质量 。
而基于延时的带宽评估就不会产生这种情况 。它的基本原理是,如果接收到的数据包的网络传输时延在持续增长,就说明网络变差了,当达到一定程度时,就要将评估的带宽值降下来,以防止发生网络拥塞 。它的计算公式是根据状态机来的(状态机比较复杂,我这里就不讲了),当状态非常好时,需要增加带宽,同丢包增加带宽一样,每次增加8%;如果延时一直累加,则需要降低带宽,带宽降为原来85%,其它情况就保持当前带宽,无增无减 。
8 媒体数据与带宽的平衡
8.1 媒体数据与带宽的平衡
当带宽评估准确之后再进行控制就非常容易了 。接下来,我们看一下WebRTC如何平衡媒体数据与带宽 。
带宽评估方法和网络质量的提升在前面我已经介绍了 。在有限的带宽下,如何才能提供更好的音视频服务质量,是人们一直孜孜不倦追求的目标 。因此在同等条件下,可以将数据压缩的更小,一直是解决服务质量的一种关键方法 。目前最常用的视频编码器还是H.264,不过新的编码器已经有了很大突破VP9/H265、AV1/H266提供了更高的压缩率,这使得我们在网络条件有限的情况下,可以传输更多的数据从而保障更好的服务质量 。
另一方面,在带宽相同且码流无法压缩的情况下,还可以采用动态码率 。通常,在使用动态码率时,我们可以直接从产品上看出来,你会发现视频一会儿清晰,一会儿模糊 。即在带宽小时,编码器压缩码流,此时视频变得模糊;带宽大时,编码器放大了码流,所以视频变得清晰 。以上就是通过减少数据量的方法来保障实时通信质量的 。
8.2 Simulcast与SVC
除此之外,还可以通过Simulcast或SVC解决质量问题 。Simulcast和SVC解决问题的思路是类似的,它们会在发送端增大码流的发送,将数据先传给服务端,然后由服务端根据接收端带宽的不同,选择合适的码流下发 。对于网络较差的用户,传输清晰度低的码流,对于网络较好的用户,传输高清晰度的码流 。所以这两种技术对于发送方的带宽和质量有非常高的要求 。
SVC与Simulcast最大的区别:SVC上传的是一路码流,但这一路码流是由多层构成的 。服务端会按照不同接收端的带宽大小,选择传输不同的层 。如上图所示,手机端带宽小,就传输小的一层数据,PC端带宽大,就将所有层全部传输过去;而Simulcast上传的是多路流,一般分为小、中、大三路 。对手机端传输小的一路,对PC端传输最大的一路 。Simulcast的好处在于,每一路流都是独立的,所以可以对每一路流使用硬件编解码器,而 SVC的分层方式目前没有硬件支持,所以无法通过硬件加速 。
猜你喜欢
- 四川麻辣小龙虾的做法 四川麻辣小龙虾的制作方法
- 床虱子怎么彻底去除 床虱子彻底去除的方法
- 如何自制干锅大虾 自制干锅大虾的做法介绍
- 烤箱制作烧饼的方法 烤箱怎么制作烧饼
- 屏蔽的信息在哪里看 怎么查看手机被拦截的短信
- 猪腰怎么做好吃呢 猪腰好吃的做法
- 油炸粑的做法 10步教你做美味的油炸粑
- 手机碎屏的3个重要危害 手机碎屏使用的危害有哪些
- 川贝炖雪梨一天吃几次 一天吃川贝炖梨的次数为多少合宜
- 赞助合同的模板是什么
