一、WebRTC 是什么
WebRTC,名称源自 网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的 API。它于 2011 年 6 月 1 日开源并在 Google、Mozilla、Opera 支持下被纳入万维网联盟的 W3C 推荐标准。
简单说就是一个 音视频处理 + 及时通讯的开源库。
二、WebRTC 有哪些优点
- Google 开源的框架(背景强大)
- 跨平台(适合当下软件开发的趋势)
- 用于浏览器
- 实时传输
- 音视频引擎(迎合当下的发展趋势)
三、WebRTC 应用场景
- 音视频会议
- 在线教育
- 照相机
- 音乐播放器
- 共享远程桌面
- 录制
- 即时通讯工具
- P2P 网络加速
- 文件传输工具
- 游戏
- 实时人脸识别
由上方列出的条目可以看出,WebRTC 的应用场景十分广泛,尤其是在网路越来越发达的当下,音视频会议、在线教育、即时通讯工具、游戏、人脸识别一定是当下和未来的发展方向,跟上时代的步伐才不至于死在沙滩上。
四、WebRTC 的愿景
网络传输 | 音视频引擎 |
---|---|
内网链接 | 音频引擎 |
P2P 传输 | 视频引擎 |
TURN 中转 |
五、WebRTC 运行机制
轨与流
- Track(一路音频 / 视频就是一路轨)
- MediaStream(媒体流包含很多轨)
WebRTC 的重要类
- MediaStream
- RTCPeerConnection(该类很重要,提供了应用层的调用接口)
- RTCDataChannel(非音视频数据通过它传输)
六、WebRTC 目前支持的浏览器
- Chrome(谷歌)
- Safari(苹果)
- Firefox
- Edge(微软)
七、学习 WebRTC 的难点
- WebRTC 庞大、烦杂门槛高,全是英文文档,对学习者是一个挑战
- 客户端与服务器分离,增加学习难度
- 网络屏蔽 / 系统的学习资料少(这个是因为一些大家都懂的原因,对学习者是一个障碍,需要翻墙)
- 网上虽然有 demo,但是网上 demo 错误多,难以调试通
八、特此说明
以上是对慕课网上 WebRTC 入门课程 的学习资料的整理归纳。