更多互联网新鲜资讯、工作奇淫技巧关注原创【飞鱼在浪屿】(日更新)

本文是WebRTC的历史,体系结构,用例和未来的简要概述。
制定Web标准的过程是一个漫长的过程,可确保跨浏览器的有用性,一致性和兼容性。今天,W3C和IETF标志着疫情期间最重要的标准之一WebRTC的完成。
历史#
WebRTC是一个平台,可为浏览器,移动应用程序和桌面应用程序提供实时通信功能,通常用于视频通话。该平台包括一套全面的技术和标准。Google于2009年提出创建WebRTC的想法,以替代无法在浏览器中运行的Adobe Flash和桌面应用程序。上一代基于浏览器的产品建立在许可的专有技术之上。借助环聊,各种产品都采用了这种技术。然后,谷歌收购了获得该技术许可的公司,并将其作为开源WebRTC项目提供。该代码库已集成在Chrome中,并由使用WebRTC的大多数应用程序使用。与其他浏览器供应商和行业领导者(例如Mozilla,Microsoft,Cisco,和爱立信一样,W3C和IETF都开始了WebRTC的标准化。2013年,Mozilla和Google 在他们的浏览器之间演示了视频通话。随着标准的发展,许多架构讨论导致跨浏览器的实现差异,并挑战了兼容性和互操作性。随着标准在过去几年中最终定稿,大多数分歧最终得以解决。现在,WebRTC规范随附了 用于解决兼容性的 全套平台测试和工具,并且浏览器已在很大程度上相应地调整了其实现。这结束了一个充满挑战的时期,Web开发人员必须不断将其服务用于不同的浏览器实现和规范更改。
架构和功能#
RTCPeerConnectionAPI是WebRTC规范的核心部分。RTCPeerConnection处理连接不同端点上的两个应用程序以使用对等协议进行通信。该PeerConnection API与之紧密交互, getUserMedia以访问摄像头和麦克风,以及 getDisplayMedia捕获屏幕内容。WebRTC通过以下方式发送和接收包含音频和/或视频内容以及任意二进制数据的流:
DataChannel用于处理,编码和解码音频和视频的媒体功能提供了任何WebRTC实现的核心。
WebRTC支持各种音频编解码器,其中Opus是使用最多且用途最广泛的。要求WebRTC实施同时支持Google的免费使用的VP8视频编解码器和H.264来处理视频。
WebRTC连接始终是加密的,这可以通过两个现有协议来实现:DTLS和SRTP。
WebRTC在很大程度上依赖于现有的标准和技术,从视频编解码器(VP8,H264),网络遍历(ICE),传输(RTP,SCTP)到媒体描述协议(SDP)。这包括在50多个RFC中。
使用情况:当它的毫秒的事#
WebRTC广泛用于需要实时的应用程序,例如远程手术,系统监控和自动驾驶汽车的远程控制,以及无法建立缓冲的基于UDP的语音或视频呼叫。Google,Facebook,Cisco,RingCentral和Jitsi等公司的几乎所有基于浏览器的视频通话服务都使用WebRTC。Google Stadia和NVidia Geforce Now现在使用WebRTC可以将游戏流程从云端传输到网络浏览器,而不会出现明显的延迟。
流行看跌专注于视频通话性能#
在过去的一年中,由于浏览器中视频通话的增加,WebRTC在Chrome中的使用率增长了100倍。视频通话已成为疫情期间许多人生活的基本组成部分,浏览器供应商已开始优化视频通话所依赖的技术。当员工和学生开始在家工作和学习时,由于资源要求的大型会议和视频效果在视频会议中变得越来越普遍,这一点尤其重要。在过去的一年中,Chrome对于视频通话的电池友好性提高了30%以上,并针对大量使用场景进行了更多优化。Mozilla,Apple和Microsoft都进行了重大改进 在通过大流行实施WebRTC的过程中,特别是确保他们遵守现在正式的标准。
WebRTC的未来#
WebRTC现在已作为W3C标准完成,但改进仍在继续。节省多达50%带宽的新视频编解码器AV1 在WebRTC和Web浏览器中可用。开源代码库的持续改进有望进一步减少延迟并提高可流式传输的视频质量。 WebRTC NV主动创建了辅助API以启用新用例。这些包括对现有API的扩展,以提供对现有功能(如可伸缩视频编码)的更多控制,以及可以访问较低级别组件的API 。后者通过集成高性能的自定义WebAssembly组件,为Web开发人员提供了更大的创新灵活性。随着新兴的5G网络以及对更多交互式服务的需求,预计在来年基于WebRTC的服务将继续增长。