随笔分类 -  licode

开源项目licode学习
摘要:erizo的pipeline的handle,是媒体数据处理的基本操作,handle分为3类:IN,OUT,BOTH IN:数据进入handle,handle需要read数据并传递给下一级 OUT:数据进入handle,handle需要write数据并传递给下一级 BOTH:可以同时进行read和wr 阅读全文
posted @ 2018-12-05 18:54 media_myself 阅读(1686) 评论(1) 推荐(0) 编辑
摘要:Pipeline是媒体处理的核心流程逻辑。 Pipeline里面定义了两个主要的概念:Service和Handler。 Service负责处理那些不仅要看当前数据包,还要分析之前的数据包的那些业务,比如丢包重传;Handler处理当前的数据包的情形,比如生成填充字节。 在Pipeline里面,Han 阅读全文
posted @ 2018-12-05 16:26 media_myself 阅读(2010) 评论(0) 推荐(0) 编辑
摘要:MediaStream是erizo进行流数据处理的核心模块。当网络数据,经过DtlsTransport进行srtp解密后,得到的rtp裸数据与rtcp裸数据,都要进入MediaStream进行处理;需要发送给对方的rtp数据与rtcp裸数据也要经过MediaStream处理后,才会给DtlsTran 阅读全文
posted @ 2018-12-04 15:41 media_myself 阅读(2533) 评论(1) 推荐(0) 编辑
摘要:erizo的transport部分负责网络链路处理,其包含ice处理,数据包packet处理传递。 transport存在,主要是为Dtls-srtp数据处理提供封装,其关联着ice与外部接口webrtcconnection。其关系图如下: erizo提供了两套ICE的方案,分别使用不同的ice库, 阅读全文
posted @ 2018-12-04 14:23 media_myself 阅读(1300) 评论(0) 推荐(0) 编辑
摘要:erizo的webrtcconnection使用监听来通知事件,其接口为: 在event发生时,其参数的内容进行总结: 1、CONN_INITIAL:WebrtcConnection对象创建后,需要外面手动调用init方法,该方法会回调notifyEvent,并传递事件为改枚举值,message和s 阅读全文
posted @ 2018-12-04 11:18 media_myself 阅读(1296) 评论(0) 推荐(0) 编辑
摘要:WebrtcConnection是erizo进行Webrtc交互的基础类 其主要成员有如下: 从成员可以看出,webrtcconnection,主要控制的有链路transport,交互local_sdp remote_sdp, ice控制,事件监听回调,数据流media_streams。 先看交互流 阅读全文
posted @ 2018-11-30 17:22 media_myself 阅读(2438) 评论(0) 推荐(0) 编辑
摘要:erizo使用IOWorker进行ICE,DTLS的状态交互处理。 头文件 接口定义与Worker基本没有区别,但是内部使用了atomic变量,而没有使用boost的io service,说明线程的执行是自己控制的,看看具体实现 主要看线程执行体以及task方法 在start里面做了重入检测判断,如 阅读全文
posted @ 2018-11-30 13:59 media_myself 阅读(1329) 评论(0) 推荐(0) 编辑
摘要:erizo使用Worker来管理Task,每个Task是一个函数片段,其执行完全由Worker来接管。这次主要学习Worker的结构定义和实现机制 先来研究一下构造函数 在构造函数中,使用boost io service,构建了基本的线程架构。 研究一下start 提供了两个start函数,无参的直 阅读全文
posted @ 2018-11-30 10:45 media_myself 阅读(2711) 评论(0) 推荐(0) 编辑
摘要:在上一篇中,编译gcc,遭遇错误 使用vim命令,查看一下这个文件第7行是啥 看目录里面只有stubs-64.h,看这个样子应该是需要有_WORDSIZE宏的值为64才可以 需要定义 __x86_64__宏,在configure --help里面,没有找到能启动这个宏的定义,添加到环境变量里面 坑还 阅读全文
posted @ 2018-11-29 17:13 media_myself 阅读(1703) 评论(0) 推荐(0) 编辑
摘要:上一篇中,提示找不到NICE库,先看看CMakList里面吧 看来"${CMAKE_CURRENT_SOURCE_DIR}/../../build/libdeps/build/lib/里面没有nice库 进到目录: 确实是没有nice库,但是nice已经下载了,只是没有编译,对nice进行编译 ma 阅读全文
posted @ 2018-11-28 17:39 media_myself 阅读(2121) 评论(0) 推荐(0) 编辑
摘要:今天在一个新的centos系统上面,结果编译git报错: 看样子没有perl,安装perl 安装之后,还是不行。参考:https://blog.csdn.net/tspangle/article/details/11798951 输入命令: OK,重新完成git安装。 执行 ./installUbu 阅读全文
posted @ 2018-11-28 11:33 media_myself 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:centos 编译licode 阅读全文
posted @ 2018-11-28 00:21 media_myself 阅读(3158) 评论(0) 推荐(0) 编辑