一、webRTC相关API
参考:https://github.com/ChenYilong/WebRTC/blob/master/WebRTC入门教程/WebRTC入门教程.md
1.1 功能划分
- 获取音频和视频数据
- 传输音频和视频数据
- 传输任意二进制数据
1.2 API划分:三个JS接口
- MediaStream (又叫getUserMedia)
- RTCPeerConnection (C++)
- RTCDataChannel
1.3 stun及turn服务器作用
- STUN (Session Traversal Utilities for NAT) 只能UDP,告诉我暴露在广域网的地址IP port ,我通过映射的广域网地址进行P2P数据通信。
- TURN( Traversal Using Relays around for NAT)UDP或TCP, 打洞失败后,提供服务器中转数据,通话双方数据都通过服务器,占服务器带宽较大 - 为了确保通话在绝大多数环境下可以正常工作。跨网只能用服务器中转(测试发现的) ,使用TURN这种情况在视频通话中占10%
- ICE 网络连接服务
1.4 ICE 网络连接服务
ICE(Interactive Connectivity Establishment)
- 是一个用来建立P2P连接的编程框架
- 尝试去找出建立视频通话的最佳路径
二、webrtc相关有用url
2.1 W3C关于webrtc的认证
http://w3c.github.io/webrtc-pc/
2.2 源码
https://webrtc.org/native-code/
2.3 官网demo
https://codelabs.developers.google.com/codelabs/webrtc-web/#0