我假设WebRTC是一个解码/编码音频和视频的API,尽管服务器和客户端之间的通信是通过Web套接字或其他网络协议完成的?我有点困惑。 WebRTC是否有自己的通信协议?
答案 0 :(得分:83)
WebRTC有两个方面。
getUserMedia
),允许应用访问摄像头和麦克风硬件。您可以使用此访问权限在本地显示流(可能是applying effects),或通过网络发送流。您可以将数据发送到服务器,也可以使用... PeerConnection
,一种允许浏览器建立直接点对点套接字连接的API。您可以直接与其他人的浏览器建立连接并直接交换数据。这对于像视频这样的高带宽数据非常有用,您不希望服务器必须处理中继大量数据。看一下the demos,看看WebRTC的两个部分是否正常运作。
简而言之:
PeerConnection
允许两个浏览器之间进行全双工通信。答案 1 :(得分:13)
WebRTC使用RTP(基于UDP的协议)进行媒体传输,但需要使用带外信令通道来设置通信。信令通道的一个选项是WebSocket。
答案 2 :(得分:4)
除了peerConnection
,您还可以查看WebRTC数据通道草稿:http://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol-00,它基本上是双向的udp。这可能是WebSockets的一个非常有价值的替代品,因为它没有tcp连接的“负面”。
答案 3 :(得分:2)
不,WebRTC未定义信令。
这是IETF的一篇文章,它解释了为什么它不是: http://www.ietf.org/mail-archive/web/rtcweb/current/msg01143.html
这意味着您可以自由选择交换网络信息的方式。即你可以使用websockets,HTTP甚至电子邮件,但这有点困难:)