Worker, 一个Worker代表着一个运行在单核CPU上并处理Router实例的mediasoup C++子进程;
Router, Router用于注入、选择和转发通过Transport实例创建的媒体流;可以想像成一个房间
Producer
Consumer
Transport, Transport将终端与MediaSoup Router连接起来,并通过在其上创建的Producer和Consumer实例实现双向媒体传输,实现了3种Transpor
- WebRtcTransport
- PlainRtpTransport
- PipeTransport
AudioLevelObserver.ts //用于检测声音的大小,通过C++检测音频声音返回应用层,通过Observer接收并展示音频大小
Channel.ts //主要用于与C++部分信令通讯
Consumer.ts //消费媒体数据,音频或视频
DataConsumer.ts
DataProducer.ts
DirectTransport.ts
EnhancedEventEmitter.ts //EventEmitter的封装,C++底层向上层发送事件
Logger.ts //用于写日志
PayloadChannel.ts
PipeTransport.ts // Router之间的转发
PlainTransport.ts //普通的rtp传输通道,如FFmpeg等不经过浏览器rtp协议的数据传输
Producer.ts //生产媒体数据,音频或视频
Router.ts //代表一个房间或者一个路由器
RtpObserver.ts //Rtp数据的观察者 回调用的
RtpParameters.ts
SctpParameters.ts
SrtpParameters.ts
Transport.ts // 所有传输的的基类(父类)
WebRtcTransport.ts //浏览器使用的传输
Worker.ts //一个节点或者一个进程,实际应该是进程,代码中根据CPU核数启动相对 应的Worker数量;一个房间只能在一个Worker里。
errors.ts // 错误信息的定义
index.ts //Mediasoup的库,上层引入Mediasoup最先导入的库,也为库的索引。
ortc.ts //其与SDP相对应,以对象的形式标识SDP,如编解码参数,编解码器,帧率等,以对象方式去存储。
scalabilityModes.ts //扩展模式
supportedRtpCapabilities.ts // 对通讯能力的支持,实际上是媒体协商相关的东西,如你支持的帧率, 码率,编解码器是什么等
types.ts
utils.ts //一些常见的工具函数