webrtc流程1
来源:互联网 发布:王者荣耀钓鱼源码 编辑:程序博客网 时间:2024/05/28 22:11
信令与RTCPeerConnection建立
在前一篇文章中介绍过,WebRTC使用RTCPeerConnection来在浏览器之间传递流数据,在建立RTCPeerConnection实例之后,想要使用其建立一个点对点的信道,我们需要做两件事:
1. 确定本机上的媒体流的特性,比如分辨率、编解码能力啥的(SDP描述符)
2. 连接两端的主机的网络地址(ICE Candidate)
需要注意的是,由于连接两端的主机都可能在内网或是在防火墙之后,我们需要一种对所有联网的计算机都通用的定位方式。这其中就涉及NAT/防火墙穿越技术,以及WebRTC用来达到这个目的所ICE框架。这一部分在上一篇文章中有介绍,这里不再赘述。
通过offer和answer交换SDP描述符
大致上在两个用户(甲和乙)之间建立点对点连接流程应该是这个样子(这里不考虑错误的情况,RTCPeerConnection简称PC):
1. 甲和乙各自建立一个PC实例
2. 甲通过PC所提供的createOffer()
方法建立一个包含甲的SDP描述符的offer信令
3. 甲通过PC所提供的setLocalDescription()
方法,将甲的SDP描述符交给甲的PC实例
4. 甲将offer信令通过服务器发送给乙
5. 乙将甲的offer信令中所包含的的SDP描述符提取出来,通过PC所提供的setRemoteDescription()
方法交给乙的PC实例
6. 乙通过PC所提供的createAnswer()
方法建立一个包含乙的SDP描述符answer信令
7. 乙通过PC所提供的setLocalDescription()
方法,将乙的SDP描述符交给乙的PC实例
8. 乙将answer信令通过服务器发送给甲
9. 甲接收到乙的answer信令后,将其中乙的SDP描述符提取出来,调用setRemoteDescripttion()
方法交给甲自己的PC实例
通过在这一系列的信令交换之后,甲和乙所创建的PC实例都包含甲和乙的SDP描述符了,完成了两件事的第一件。我们还需要完成第二件事——获取连接两端主机的网络地址
- webrtc流程1
- webRTC音频处理流程
- webrtc callclient流程
- WebRTC 工作流程
- webrtc:音频处理流程
- WebRTC通信流程
- WebRTC下载编译流程
- WebRTC中混音流程分析
- webrtc 建立连接流程
- WebRTC源码下载及编译流程(webrtc和webrtc-android)
- WebRTC视频分析:处理流程
- WebRTC音频处理流程概述
- 【WebRTC】音频处理流程概述
- WebRTC音频处理流程概述
- WebRTC音频处理流程概述
- webrtc信令交互流程
- WebRTC音频处理流程概述
- WebRTC音频处理流程概述
- (java)DFS求连通分量的个数
- 自动更新hosts.bat
- c++ prime plus 3.2
- redis-benchmark 限流控制
- 即时定位与地图构建(SLAM)的相关研究
- webrtc流程1
- ios开发App图标和启动画面尺寸
- 关于SVN 目录结构
- 【NOIP 2011 Day2 T2】聪明的质检员(二分)
- AChartEngine图标库之动态柱状图
- Eclipse新建maven项目报错:Discover and map Eclipse plugins to Maven plugin goal executions
- CUDA和OpenCL有什么区别
- JavaScript基础之继承与原型链
- java中的Integer与int