WebRTC音视频开发读书笔记(一)

一、基本概念

WebRTC(Web Real-Time Communication,网页即时通信)于2011年6月1日开源,并被纳入万维网联盟的W3C推荐标准,它通过简单API为浏览器和移动应用提供实时通信RTC功能。

1、特点

跨平台:可以在Web,Android、IOS、Windows、MacOS、Linux环境运行。

实时传输:速度快、延迟低。

免插件:无需插件、打开浏览器即可使用。

免费:集成了强大的音视频引擎和先进的Codec,但仍是免费。

强大打洞能力:支持代理、NAT和防火墙穿透技术。

2、应用领域

音视频会议、在线教育、照相机、音乐播放器、共享远程桌面、录制、即时通信工具、P2P网络加速、文件传输工具、游戏、实时人脸识别。

3、整体架构:

(1)Web应用

音视频实时通信应用,如视频会议、远程教育、远程协作、实时人脸识别、行程机械手操作等。

(2)WebAPI

WebAPI是面向第三方开发者的WebRTC标准API ,常用API如下所示:

MediaStream:媒体数据流、如音频流、视频流等。

RTCPeerConnection: 提供了应用层的调用接口

RTCDataChannel:: 传输非音视频数据,如文字、图片等

(3)C++ API

低层API使用C++ 语言编写、使用浏览器厂商容易实现WebRTC标准API,抽象地对数字信号过程进行处理。

(4)Session Managerment

一个抽象的会话层、提供会话建立和管理功能,该层协议留给应用开发者自定义实现。对于Web应用,建议使用WebSocket技术来管理信令Session。信令主要用来转发会话双方的媒体信息和网络信息。

(5)Transport

此为WevRTC的传输层,涉及音视频的数据发送、接收、网络打洞等内容,可以通过STUN和ICE组件来建立不同类型间的呼叫连接。

(6)VoiceEngine

音频引擎是包含一系列音频多媒体处理的框架,包括从音频采集到网络传输等整个解决方案。

(7)VideoEngine

视频处理引擎,包含一系列视频处理的整体框架,从摄像头采集视频到视频信息网络传输再到视频显示等整个解决方案。

二、WebRTC通话原理

WebRTC通话典型场景就是音视频通话,下面简化流程,提出主要的步骤。通话原理基本流程如下所示:

1、通信原理基本流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值