1. 什么是WebRTC?
WebRTC,Web Real_time Communication网页实时通讯的缩写,一个支持网页浏览器进行实时语音通话或视频聊天的技术。
WebRTC提供了实时音视频的核心技术,包括音视频的采集,编解码,网络传输,显示等功能,还支持跨平台,windows,linux,mac,android。
2. 概述
经过WebRTC端到端的通讯一般被人误解,WebRTC并非真正意味着不须要服务器来协商和连接通话。只意味着在多数状况下,直接在浏览器之间进行通讯。
3.WebRTC正常工做所需的后端服务器
3.1信令服务器
对于链接浏览器之间的对话来讲,最重要的就是某种中介器—一个了解双方通话端点的服务器,即信令服务器,负责协商会话,并且多是最接近WebRTC服务器的东西了。
一般这个服务器也会经过会话发送相关数据,信令服务器能够实施像SIP或XMPP的标准化协议或私有协议。有时信令内容也会做为Web服务器的一部分来操做网页。
3.2TURN和STUN服务器
当通话两端端点都监测到对方的时候,他们会尝试在其之间直接创建链接——有时候有用,有时无用。
当没有用时,是由于在通讯通道上的网络地址转换或防火墙机制,要么掩盖了浏览器的地址,将其从私人IP地址转换到了公共地址,要么会认为这个会话是不安全的,以致于他们会阻止流入的数据流而且不容许通话的进行。
为了克服上述问题,WebRTC使用了STUN和TURN,他们是要求服务器构件来协助协商媒体传输的协议,并且有时将全部的媒体都中继给TURN服务器。
3.3媒体服务器
在协商信令以及联通媒体以后,咱们可能还想要在服务端处理媒体,这种功能是须要有的,由于这样用户就能够实施一个有着大量参与者的会话,而且记录存档会话,或者会话到其余类型的网络协议的网关。在这些状况中咱们就会用到后端的媒体服务器。
4.小结
综上所述,上面每种服务器均可以认为是WebRTC服务器或者与WebRTC服务器相关。在多数状况下一般是将信令服务器视为WebRTC服务器。linux