1 WebRTC概述
1.1 音视频处理 + 即时通讯的开源库
1.2 2010年 Google 将其开源
1.3 它是一个非常优秀的多媒体框架,跨平台
2 WebRTC能做啥?
2.1 音视频实时互动
2.2 游戏、即时通讯、文件传输等等
2.3 它是一个百宝箱、传输、音视频处理(回音消除、降噪等)
3 你能学致什么?
3.1 音视频设备的访问与管理
3.2 音视频数据的采集
3.3 数据的传输与实时互动
3.4 WebRTC的工作机制
3.5 视频实时互动的例子
4 WebRTC 整体架构

5 WebRTC 源码目录结构


5.1 WebRTC Modules 目录


6 WebRTC 运行机制
6.1 轨与流
6.1.1 Track 轨
6.1.2 MediaStream 流
6.2 WebRTC 重要类
6.2.1 MediaStream
6.2.2 RTCPeerConnection
6.2.2.1 PeerConnection 调用过程

6.2.2.2 PeerConnection 调用时序图

6.2.3 DataChannel
7 Web 服务器
7.1 Web 服务器选型
NodejsNginxApache
7.2 Web 服务器工作原理

7.3 Nodejs 工作原理

7.4 JavaScript 解析

7.5 Nodejs 事件处理

7.6 两个 V8 引擎

7.7 搭建 Nodejs 服务器
7.7.1 Nodejs 的安装方式
二进制库安装
apt/brew/yum install nodejs
apt/brew/yum install npm源码安装
下载 Nodejs 源码
nodejs.cn/download/
tar -zvxf node-v22.20.0.tar.gz生成 Makefile
./configure --prefix=/usr/local/nodejs编译安装
make -j 4
sudo make installvim ~/.bashrc
export PATH=/usr/local/nodejs/bin:$PATH
source ~/.bashrc
env | grep PATHnode --version
8 Nodejs 服务端开发
8.1 最简单的 http 服务
require 引入 http 模块创建 http 服务侦听端口
#vim http_server.js'use strict'
var http = require('http');var app = http.creatServer(function(req, res){res.writeHead(200, {'Content-Type':'text/plain'});res.end('Hello World\n');
}).listen(8080, '0.0.0.0');#node http_server.js
#netstat -ntpl
8.2 启动Nodejs 服务
node app.jsnohub node app.js &forever start app.js
forever stop app.jsnpm install forever -g
8.3 最简单的 https 服务
HTTPS = HTTP + TLS/SSL
8.3.1 HTTPS 基本原理

8.3.2 Nodejs 搭建 HTTPS 服务
生成 HTTPS 证书引入 HTTPS 模块指定证书位置,并创建 HTTPS 服务生成HTTPS证书命令:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
'use strict'
var https = require('https');
var fs = require('fs');var options = {key: fs.readFileSync('./cert/key.pem'),cert: fs.readFileSync('./cert/cert.pem')
};var app = https.createServer(options, function(req, res){ res.writeHead(200, {'Content-Type':'text/plain'});res.end('Https: Hello World\n');
}).listen(443, '0.0.0.0');
9 真正的 Web 服务器
引用 express 模块