目录
Licode架构分析
本文将对Licode的架构进行分析。
源码安装。
API接口说明。
0 代码框架
如图是在Ubuntu上编译安装完成后代码的目录结构图。
1)erizo是用c++语言实现的webrtc栈,主要实现了与客户端的交互性连接建立、DTLS握手、媒体数据的发送和接收、使用SRTP实现媒体数据的加解密。
2)erizoAPI是erizo的封装,实现js和c++间的调用;
3)erizo_controller 下的代码使用Javascript语言实现,包括客户端和服务器端的接口模块。其中erizoClient是客户端的API它与运行在服务器端的erizoController使用Socket.io连接实现控制命令和信令(主要是sdp和candidate)的传输。erizoAgent和erizoJS是分布式MCU的一部分,它们也是运行在服务器端,具体的位置如下架构图所示。