建立WebRTC绘话的四个步骤
1、获取本地媒体(本地媒体,请参考。。。。WebRTC基础知识体系构建-媒体定义)
getUserMedia获取单个本地MediaStream,获取到一个或者多个MediaStream。
2、建立WebRTC端和端之间的连接
RTCPeerConnection 是用来在两个对等端(对等端:两个通过服务器,在web上直接进行通信的端)建立连接的的的类。
创建RTCPeerConnection的时候,需要添加一个options配置项目,具体如何添加,请参照不同客户端的相关api。
该options配置项包括了ICE(Interactive Connectivity Establishment 交互式连接建立技术)打洞通过各种网络地址转换设备(NAT network address transport )和防火墙时所使用的信息。
3、将媒体或数据通道关联至该连接
在建立连接后,可以将任意数量的本地媒体流关联到对等连接 ,以通过该对等连接将数据发送到远端。也可以将远端的数据流发送到本地。
4、交换会话描述(SDP) 交换媒体和数据
建立连接后,可以将任意数量的本地媒体流关联到当前连接,并发送到对端。对端也可以将流,发送过来。接收到的流,可以在本地进行处理。
每次更改媒体时,如添加删除媒体,需要在两端间协商如何表示媒体。请求端生成相应的
RTCSessionDescription ( 存放会话描述,即如何建立媒体会话的信息)对象。开发者可以在会话描述发送到远端之前,根据需求修改会话描述。交换完会话描述后,开始建立会话。两端开始打洞,打洞完成,开始协商秘钥,以
5、关闭连接
可以调用RTCPeerConnection对象的close方法关闭连接。任何一端都可以主动关闭连接,会停止ICE处理和媒体流的传输。另外一端报错,或传输失败后,会重新打洞,打洞失败后,关闭连接。