webrtc学习笔记1(创建链接基本流程)

最近在作一个基于webrtc的视频软件,如下是本身对于上层创建通话链接流程的基本理解,记录于此。web

假设A和B要创建视频通话,A为房间建立端,B为加入房间端:服务器

一、A经过http登陆、获取其余服务器地址(作一些保存用户信息的操做,获取信令、stun、turn服务器地址等,非必要)websocket

二、A和信令服务器创建websocket长链接socket

三、A经过websocket向信令服务器注册(建立房间,记录房间号,等待B加入房间)视频

四、A建立本地视频,获取A的sdp信息ip

五、B建立本地视频,获取B的sdp信息io

六、B发送本地sdp信息到信令服务器sendOfferwebrtc

6.一、B同时也在向stun(穿越)、turn(延时转发)服务器获取ice信息登录

6.二、B发送ice信息到信令服务器(后续会和A交换3种信息,再也不赘述)软件

七、信令服务器转发sdp、ice信息到A(经过房间号辨别)

八、A将B的sdp信息设置到底层setRemoteDescription

8.一、A添加B的ice信息

8.二、A同时也在向stun(穿越)、turn(延时转发)服务器获取ice信息

8.三、A发送ice信息到信令服务器(后续会和B交换3种信息,再也不赘述)

九、A发送本地sdp信息到信令服务器sendAnswer

十、信令服务器转发sdp信息到B

十一、B将A的sdp信息设置到底层setRemoteDescription

在交换sdp信息的同时,ice信息也在进行交换,经过交换ice信息,最终会选择一种合适的方式来创建链接(p2p或者基于turn服务器的延时转发通路)