开发学院

您的位置:首页>教程>正文

教程正文

WebRTC 协议


WebRTC 采用的协议



  实时数据通信意味着两个用户设备之间的快速连接。公共连接采用视频或音频序列帧的形式,将其一每秒30至60次的速率传输给另一个用户设备,以获得良好的质量.因此,必须了解,快速发送最新的数据帧比确保每个单个帧都到达更重要。这就是为什么WebRTC应用程序可能会错过某些帧,以便保持良好的连接速度。


  您可以看到这种效果几乎在任何视频播放应用程序.视频游戏和视频流应用程序可以失去几帧视频,因为我们的想法试图填补这些空间,因为我们总是想象我们正在看的东西。如果我们希望我们的应用程序在一秒内播放50帧,我们错过帧15、25和38,大多数时间,用户不会注意到它。因此对于视频流应用程序,有不同的要求集。


udp_model.jpg

这就是WebRTC应用程序使用UDP(用户数据报协议)作为传输层协议的原因。当今大多数web应用程序都是使用TCP(传输控制协议)构建的,因为它保证了:



发送的任何数据将被标记为收到


任何不能到达对方的数据将被再次发送,发送的其他数据将暂时终止。


任何数据都将是唯一的,不会在另一端重复数据



您可能想知道为什么TCP是当今大多数web应用程序的首选。如果请求html页面,则以正确的顺序获取所有数据是必要的和有意义的,但这种技术不适合所有场景。例如,一个多人在线游戏,用户只能看到最后几秒内发生了什么,看不到数据丢失的时候发生了什么,这是用户可以容忍的,不会产生更大的问题.

tcp_model.jpg

音频和视频WebRTC连接不是最可靠的,而是在两个用户设备之间传输最快的。在可以承受的范围内保证数据的快速传输,这意味着UDP是音频和视频流应用程序的最佳选择.


建立了UDP是不可靠的传输层。你无法确定如下状态:


数据的顺序


数据的交付状态


每一个数据包的状态


现在,WebRTC以最快的方式发送数据包。在规模稍微复杂的网络环境中,WebRTC可能会遇到一些复杂的情况,比如UDP通信可能会受到企业的防火墙的限制,但是网络设备商和相应组织已经做了大量的工作,使UDP能更好地适合广大的受众。


总结


当今大多数internet流量是建立在TCP和UDP之上的,而不仅仅是web页面。您可以在平板电脑、移动设备、智能电视等中找到它们。因此,了解这些技术如何工作非常重要。