企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

WebRTC协议介绍

wudianyun 2025-05-28 20:53:47 精选文章 4 ℃

其实WebRTC并不是为直播场景而设计的,但它是基于UDP的,建立通信后,会不断以流式发送数据,所以延迟会比RTMP还要低。因此人们利用这个特性,将它用在了一些交互性较高的直播场景,如直播带货、实时语音交互等场景。

WebRTC定义

WebRTC (Web Real-Time Communications) 是 RTC 的一部分,是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流/音频流或者其他任意数据的传输。WebRTC的安全特性是其可靠性的重要组成部分,它使用SRTP安全实时传输协议(Secure Real-time Transport Protocol)对RTP数据进行加密,消息认证和完整性以及重播攻击保护。它是一个安全框架,通过加密RTP负载和支持原始认证来提供机密性。详细定义可以参考官方文档:WebRTC API - Web API | MDN

WebRTC于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。Google于2011年6月3日宣布向开发人员开放WebRTC架构的源代码。这个源代码将根据没有专利费的BSD(伯克利软件发布)式的许可证向用户提供。WebRTC作为一个开源框架,用于在浏览器中实现实时通信。它允许在浏览器和移动应用之间直接进行音频、视频和数据共享,无需插件或额外软件。

WebRTC特点

每种技术都有它的优缺点,WebRTC也不例外。

优点

  • 跨平台(Web、Windows、MacOS、Linux、iOS、Android)。
  • 免费、免插件、免安装,得到主流浏览器支持。
  • 强大的打洞能力,包含 STUN、ICE、TURN 的关键 NAT 和防火墙穿透技术。

缺点

  • 缺乏服务器方案的设计和部署
  • 音频的设备适配问题

WebRTC 的关键步骤:

  • 媒体捕获:WebRTC 允许浏览器和移动应用访问用户的媒体设备(如摄像头和麦克风),以捕获音频和视频流。
  • 信令:在两个对等节点(peers)能够通信之前,它们需要建立连接。信令过程涉及交换元数据和控制消息,以协商会话设置和处理网络细节。
  • 对等连接:完成信令过程后,两个设备之间建立直接的对等连接。WebRTC 使用安全高效的对等连接协议在它们之间传输音频、视频和数据流。
  • 编解码器和加密:WebRTC 支持多种音频和视频编解码器,以高效编码和传输媒体流。此外,它还使用加密技术来保护对等节点之间的通信,确保隐私和数据完整性。
  • NAT 和防火墙穿越:WebRTC 设计用于跨越不同网络并处理网络地址转换器(NAT)和防火墙。它使用交互式连接建立技术来发现和建立直接通信路径。
  • 数据通道:除了音频和视频流,WebRTC 还包括一个数据通道,允许对等节点直接交换非媒体数据,实现实时数据共享。

与其它协议比较

特性

WebRTC

SRT

RTMP

RTSP

主要用途

实时通信

可靠、低延迟流媒体

媒体流媒体(直播)

IP 摄像头流媒体

传输协议

UDP(主要)

UDP(主要)

TCP

TCP(主要),UDP 用于控制

延迟

非常低(为实时通信设计)

低(可配置)

中等

中等

复杂性

高(信令,NAT 穿越)

中(专注于可靠性)

比WebRTC 简单

比 WebRTC 简单

浏览器支持

原生支持

需要插件或应用

无直接浏览器支持

需要媒体播放器/插件

防火墙穿越

需要 STUN/TURN 服务器

比 WebRTC 容易(基于 UDP)

需要防火墙修改

需要防火墙修改

安全性

内置 DTLS 加密

可以被加密

有限

有限

自适应比特率

有限

有限

有限

可扩展性

有挑战

容易扩展

P2P通信

总结

WebRTC实现了基于网页的视频会议,实现标准是Web Hypertext Application Technology Working Group (WHATWG) 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。它的最终目的主要是让Web开发者能够基于浏览器轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,也无需关注多媒体的数字信号处理过程。WebRTC还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。同时,Google也希望和致力于让WebRTC的技术成为HTML5标准之一,可见Google布局之深远。

Tags:

最近发表
标签列表