今天是 10 月 12 号星期一,国庆假期结束,也都该上班啦!!!
公众号今天也要开始更新啦!
细心的朋友们可能注意到,前段时间公众号都没有日常更新文章了。
原因就是太忙了,这个国庆假期完成了人生大事,举办了婚礼,前期的各项筹备工作就花费了不少时间,好在没有留下遗憾,也感谢各位好友们的祝福~~
既然都是已婚人士,就更要好好学习工作,将来还得努力挣孩子奶粉钱呢,对音视频的探索和研究就更不能落下了。
说到音视频,大家可千万别觉得只有抖音、快手这样的 APP 了,一心就想着研究抖音特效、音视频编辑怎么搞的。
音视频技术除了应用在这样的短视频 APP 上,还有我们日常用的会议软件、直播软件呀,这一块也是音视频的一大发力点,而这其中最主要的技术就是 WebRTC 了。
WebRTC 介绍
说到 WebRTC ,大家可能不了解,这里就简单介绍一下它。
WebRTC 是一个支持在网页浏览器中进行实时语音对话或视频对话的解决方案。于2011年开源,并在Google、Mozilla、Opera的支持下被纳入万维网联盟的W3C推荐标准。
WebRTC虽然冠以“Web”之名,但并不受限于传统互联网应用或浏览器的终端运行环境。实际上,无论终端运行环境是浏览器、桌面应用、移动设备(Android或iOS)还是IoT设备,只要IP连接可到达且符合WebRTC规范就可以互通。
这一点释放了大量智能终端(或运行在智能终端上的App)的实时通信能力,打开了许多对于实时交互性要求较高的应用场景的想象空间,如在线教育、视频会议、视频社交、远程协助、远程操控等,都是其合适的应用领域。
WebRTC主要应用在实时通信方面,其优点总结为如下几点:
- 跨平台:可以在Web、Android、iOS、Windows、MacOS、Linux环境下运行WebRTC应用。
- 实时传输:传输速度快,延迟低,适合实时性要求较高的应用场景。
- 音视频引擎:强大的音视频处理能力。
- 免插件:不需要安装任何插件,打开浏览器即可使用。
- 免费:虽然WebRTC技术已经较为成熟,集成了最佳的音视频引擎和十分先进的Codec,但仍是免费的。
- 强大的打洞能力:WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。
- 主流浏览器支持:包括Chrome、Safari、Firefox、Edge等。
WebRTC的应用场景十分广泛,尤其是在网络越来越发达的情况下。
音视频会议、在线教育、即时通信工具、游戏、人脸识别等,是当下和未来的重要发展方向,5G时代的到来必然会引起对WebRTC井喷式的应用。
WebRTC目前主要的应用领域如下:
- 音视频会议
- 在线教育
- 照相机
- 音乐播放器
- 共享远程桌面
- 录制
- 即时通信工具
- P2P网络加速
- 文件传输工具
- 游戏
- 实时人脸识别
WebRTC整体架构
WebRTC目前已经形成了一个HTML5的规范。由W3C组织来制定并维护这个标准,其总体架构如下图所示。
对于这个框架,不同的开发人员关注的内容不同,例如:
- Video Conference、Video Call、Remote Education为应用层,指具体的音视频应用,是应用开发人员最关注的。
- Web API部分是Web应用开发者API层,为上层应用层提供API服务,是应用开发者调用的接口。
- C API部分是面向浏览器厂商的API层。
- Session Management为信令管理层,可由开发者自行定义实现。
- VoiceEngine、VideoEngine以及Transport为WebRTC的核心内容,可由WebRTC的应用SDK厂商进行优化处理。
- Audio Capture、Video Capture可供浏览器厂商自定义实现。
如果想深入了解WebRTC更多开发技术,欢迎阅读《WebRTC音视频开发:React Flutter Go实战》一书。
本书从基本概念、基础应用和综合案例系统介绍WebRTC技术的原理与应用,提供了前后端整体解决方案:PC-Web端使用的是React技术,后端使用的是Golang技术,移动端使用的是Flutter技术。
结合一对一视频通话案例,帮助读者快速上手,深入理解WebRTC的各种功能,并快速搭建自己的应用。
送书活动
可能你已经猜到了,没错,这次的送书就是 《WebRTC音视频开发:React Flutter Go实战》。
抽奖条件:
- 在本文留言并且点赞数量最多的前四位将获得此次赠书。
- 若点赞数量相同,按评论时间先后来决定。
- 获奖者务必加我微信 ezglumes ,若联系不到人,将往后顺一位。
- 活动截止即开奖时间:2020.10.15 20:00:00 。
当然啦,送书不是目的,只是为了让大家更多地去关注一下 WebRTC 技术。
后续公众号也会更新 WebRTC 相关的技术文章,希望能够和大家一起成长。