Pipeline是媒体处理的核心流程逻辑。 Pipeline里面定义了两个主要的概念:Service和Handler。 Service负责处理那些不仅要看当前数据包,还要分析之前的数据包的那些业务,比如丢包重传;Handler处理当前的数据包的情形,比如生成填充字节。 在Pipeline里面 ...
erizo的pipeline的handle,是媒体数据处理的基本操作,handle分为 类:IN,OUT,BOTH IN:数据进入handle,handle需要read数据并传递给下一级 OUT:数据进入handle,handle需要write数据并传递给下一级 BOTH:可以同时进行read和write 在宏观语义上,IN的目标是输出rtp裸数据 OUT的目标是封装rtp裸数据 pipeline ...
2018-12-05 18:54 1 886 推荐指数:
Pipeline是媒体处理的核心流程逻辑。 Pipeline里面定义了两个主要的概念:Service和Handler。 Service负责处理那些不仅要看当前数据包,还要分析之前的数据包的那些业务,比如丢包重传;Handler处理当前的数据包的情形,比如生成填充字节。 在Pipeline里面 ...
erizo的webrtcconnection使用监听来通知事件,其接口为: 在event发生时,其参数的内容进行总结: 1、CONN_INITIAL:WebrtcConnection对象创建后,需要外面手动调用init方法,该方法会回调notifyEvent,并传递事件为改枚举值 ...
MediaStream是erizo进行流数据处理的核心模块。当网络数据,经过DtlsTransport进行srtp解密后,得到的rtp裸数据与rtcp裸数据,都要进入MediaStream进行处理;需要发送给对方的rtp数据与rtcp裸数据也要经过MediaStream处理后,才会 ...
erizo使用IOWorker进行ICE,DTLS的状态交互处理。 头文件 接口定义与Worker基本没有区别,但是内部使用了atomic变量,而没有使用boost的io service,说明线程的执行是自己控制的,看看具体实现 主要看线程执行体以及task方法 ...
erizo使用Worker来管理Task,每个Task是一个函数片段,其执行完全由Worker来接管。这次主要学习Worker的结构定义和实现机制 先来研究一下构造函数 在构造函数中,使用boost io service,构建了基本的线程架构。 研究一下start ...
WebrtcConnection是erizo进行Webrtc交互的基础类 其主要成员有如下: 从成员可以看出,webrtcconnection,主要控制的有链路transport,交互local_sdp remote_sdp, ice控制,事件监听回调,数据流 ...
erizo的transport部分负责网络链路处理,其包含ice处理,数据包packet处理传递。 transport存在,主要是为Dtls-srtp数据处理提供封装,其关联着ice与外部接口webrtcconnection。其关系图如下: erizo提供了两套ICE的方案,分别 ...
上一篇中,提示找不到NICE库,先看看CMakList里面吧 看来"${CMAKE_CURRENT_SOURCE_DIR}/../../build/libdeps/build/lib/里面没有nice库 进到目录: 确实是没有nice库,但是nice已经下载 ...