WebRTC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


WebRTC介绍

概述

1.音视频处理+即使通信的开源库
2.谷歌开源
3.跨平台的多媒体框架

功能

1.音视频实时互动
2.游戏、即使通信、文件传输
3.传输、音视频处理(回音消除,降噪)

你能学到什么?

1.音视频设备访问与管理
2.音视频数据的采集
3.数据的传输与实时互动


WebRTC架构

架构图

在这里插入图片描述
Web API层: 面向开发者提供标准API(javascirpt),前端应用通过这一层接入使用WebRTC能力。

C++ API层: 面向浏览器开发者,使浏览器制造商能够轻松地实现Web API方案。

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

  1. iSAC/iLBC/Opus等编解码。
  2. NetEQ语音信号处理。
  3. 回声消除和降噪。

视频引擎(VideoEngine): 是一系列视频处理的整体框架,从摄像头采集视频、视频信息网络传输到视频显示整个完整过程的解决方案。

  1. VP8编解码。
  2. jitter buffer:动态抖动缓冲。
  3. Image enhancements:图像增益。

传输(Transport): 传输 / 会话层,会话协商 + NAT穿透组件。

  1. RTP 实时协议。
  2. P2P传输 STUN+TRUN+ICE实现的网络穿越。

硬件模块: 音视频的硬件捕获以及NetWork IO相关。

目录结构

传送门


WebRTC运行机制

轨与流

1.Track
2.MediaStream

WebRTC的重要类

  • MediaStream( 捕获用户设备的音、视频流)

MediaStream 接口是一个媒体内容的流。一个流包含几个 轨道,比如视频和音频轨道。
一个 MediaStream 包含了0-N 条 MediaStreamTrack(音、视频源),MediaStream 是 MediaStreamTrack 的合集,MediaStreamTrack 是 WebRTC 的基本媒体单位,可包含音频、视频或其它轨道类型。

  • RTCPeerConnection(在用户之间点对点的传输音频和视频)

RTCPeerConnection() 构造函数,返回一个新建的 RTCPeerConnection 实例,它代表了本地端机器与远端机器的一条连接。
提供点对点的传输音、视频数据,不需要服务器中转,但是需要服务器建立信道。如果点对点传输失败,也可以通过服务器进行中转。

  • RTCDataChannel(高吞吐量、低延时的点对点数据传输信道)

RTCDataChannel 接口代表在两者之间建立了一个双向数据通道的连接。 RTCDataChannel 可传输任何类型的数据,是建立在PeerConnection 基础之上的,不可单独使用。

在这里插入图片描述

最简单的nodejs web服务器

配置环境

自行配置

项目源码

传送门1
传送门2

JavaScript必备知识

调试基础

var a; 				//局部变量
let a;				//全局变量
'hello world'		//字符串
[1,'hello',2]		//数组
null undefined      //空
true false          //
算数运算 逻辑运算 逻辑运算  与C一致
普通的for循环和while循环是一致的
for(var a in array){}
函数 function func(...){
...
return ret;
}

匿名函数 ()=>{

}

webRTC设备管理

传送门

未完待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值