3. 视频JitterBuffer怎么具体控制平滑的?
其实JitterBuffer平滑处理的难度并不像我们想像的那样复杂,之所以大家认为它复杂,可能是因为一些额外的因素,如还要处理音视频同步等问题 。对于平滑处理,我们完全可以自己通过一个Buffer来实现 。Buffer可以是动态大小或固定大小 。为了简化,我们假设它是固定大小,比如定义一个可以存放 100 个元素的数组,在数组的一头每隔 10 毫秒取一个包,这就是一个最简单的平滑处理 。当然更好的方式是可以根据网络的变化让这个平滑数组的大小也动态变化,这样就更高级一些 。当然,如果Buffer是动态变化的,那在计算平滑数组的动态大小时,会稍难一些 。
4. WebRTC要和SIP客户端通讯有什么好的方案?
一般与SIP通信最好借助流媒体服务器比如Janus,它既支持SIP协议也能支持WebRTC客户端 。这样SIP终端就可以将数据传输流媒体服务器,然后再转发给WebRTC终端了,同理WebRTC终端也可以通过流媒体服务器与SIP终端通信了 。
5. FEC和NACK默认是不是都要开启?
是的 。对于WebRTC来说,FEC和NACK都是开启的,也可以控制它们的开关 。
6. 能说下为什么TCC比REMB准确吗?
TCC和REMB主要有两个区别 。第一是计算的端不同,REMB是在接收端计算的,接收端计算后再将结果返回给发送端进行控制,而在回传结果时,可能网络又发生了新的变化,这就造成了REMB的及时性不够;TCC是将所有数据都交给发送端做计算和控制,因此及时性和准确度会更高 。第二是滤波器不同,REMB是卡尔曼滤波器(Kalman),TCC是最小二乘法滤波器(Trend line) 。最小二乘法滤波器在网络延时评估这方面比卡尔曼滤波器效果更好一些 。
7. 在内网环境下p2p想让延时尽可能小,可以做哪些工作?实验室环境最小延时可以达到100ms以下吗?
如果在同一个局域网内,实际只有几十毫秒的延迟 。有同学可能会疑惑,有的产品在同一局域网内延迟非常小,为什么用WebRTC反而延迟增大了?这就是因为WebRTC为保障网络质量,在内部通过多种机制,各种缓冲,来做到的 。所以它必然会产生一定的延迟,也就是拿延迟换质量 。而在局域网内,网络基本没有延时,不丢包、不抖动、不乱序 。这时什么策略都不采用,网络的传输才是最快的,因此在内网通信时,WebRTC的实时性一定不如什么策略都不加的产品好 。
8. ULPFEC和FLEXFEC区别是?
ULPFEC只能进行单向冗余处理,而FLEXFEC可以进行双向冗余处理,即可以横向分组还可以纵向分组做冗余,所以它的抗丢包性要比ULPFEC好,同时占的带宽也比ULPFEC多 。
9. 可靠性这块,UDP上的WebRTC做ack是自己封装了seq吗?然后,一样需要ack重传的话,跟TCP SACK有什么区别呢?
猜你喜欢
- 四川麻辣小龙虾的做法 四川麻辣小龙虾的制作方法
- 床虱子怎么彻底去除 床虱子彻底去除的方法
- 如何自制干锅大虾 自制干锅大虾的做法介绍
- 烤箱制作烧饼的方法 烤箱怎么制作烧饼
- 屏蔽的信息在哪里看 怎么查看手机被拦截的短信
- 猪腰怎么做好吃呢 猪腰好吃的做法
- 油炸粑的做法 10步教你做美味的油炸粑
- 手机碎屏的3个重要危害 手机碎屏使用的危害有哪些
- 川贝炖雪梨一天吃几次 一天吃川贝炖梨的次数为多少合宜
- 赞助合同的模板是什么
