live555 学习笔记

从程序的结构来看,live项目包括了四个基本库、程序入口类(在mediaServer中)和一些测试代码(在testProgs中)。四个基本库是UsageEnvironmentBasicUsageEnvironmentgroupsockliveMedia 异步

UsageEnvironment包括抽象类UsageEnvironment和抽象类TaskScheduler,这两个类用于事件调度,其中包括实现了对事件的异步读取、对事件句柄的设置及对错误信息的输出等;该库中还有一个HashTable,这是一个通用的HashTable,在整个项目中均可以使用它,固然该HashTable也是一个抽象类。 函数

BasicUsageEnvironment中的类主要是对UsageEnvironment中对应类的实现。 测试

groupsock,顾名思义,用于数据包的接收和发送,其同时支持多播和单播。groupsock库中包括了GroupEIdGroupsockGroupsockHelperNetAddressNetInterface等类,其中Groupsock类有两个构造函数,一个是“for a source-independent multicast group”,另外一个是“for a source-specific multicast group”;而GroupsockHelper类主要用于读写Socket 编码

liveMedia是很重要的一个库,其不只包含了实现RTSP Server的类,还包含了针对不一样流媒体类型(如TS流、PS流等)编码的类。在该库中,基类是Medium,层次关系很是清晰。在该库中,有几个很重要的类,如RTSPServerServerMediaSessionRTPSinkRTPInterfaceFramedSource等。 spa

http://www.live555.com上的相关文档中提到穿透防火墙的问题,方法是开启一个HTTPtunnel,而后咱们能够在liveMedia库中找到一个RTSPOverHTTPServer的类,该类解决了这样的问题。 继承

mediaServer下的live555MediaServer提供了main函数,DynamicRTSPServer继承了RTSPServer并重写了虚函数lookupServerMediaSession 事件

相关文章
相关标签/搜索