Linux下高新兴物联gm800模组RTP会话建立与ecm&gobinet功能指南

需积分: 10 325 下载量 61 浏览量 更新于2024-08-10 收藏 444KB PDF 举报
本文档主要介绍了在Linux系统下,使用高新兴物联GM800模组和Live555库进行RTP会话的建立与处理。Live555是一个强大的实时音视频流媒体框架,文中提到的关键知识点包括: 1. **RTP会话概念澄清**: - ServerMediaSession 不代表一个流,而是服务器端媒体名称的标识,而ServerMediaSubsession才是实际表示Track(音视频流)的。 - 流(stream)是指包含数据传输的完整媒体组合,而在RTP协议中,客户端通过告知服务器其RTP/RTCP端口号,服务器建立相应的socket,然后在收到PLAY请求时发送数据。 2. **RTP建立过程**: - 在收到SETUP请求时,服务器才会建立连接。处理SETUP命令的函数`RTSPServer::RTSPClientSession::handleCmd_SETUP`负责解析请求中的session和track信息,并相应地设置或创建RTP会话。 3. **Live555编译指南**: - 文章提供两种编译Live555的方法:一种是利用mingw环境,另一种是通过手动为每个库生成VC项目的lib项目,以及为mediaServer生成exe项目,以实现VC环境下的编译和调试。作者推荐使用Eclipse + mingw,因其方便快捷。 4. **Live555基础类介绍**: - **BasicUsageEnvironment**和**UsageEnvironment**类是整个系统的基础,提供错误记录和报告、任务调度等功能。 - **TaskScheduler**是程序的核心,负责任务调度,是整个Live555服务端单线程架构的关键部分。 - **HashTable**用于实现哈希表,**DelayQueue**作为延迟队列,用于在TaskScheduler中管理调度任务,任务执行完毕后会被移除。 - **HandlerSet**是一个Handler集合,Handler用于执行特定的处理操作,可能是RTP相关的处理任务。 通过这些内容,读者可以了解到如何在Linux环境下使用GM800模组配合Live555进行RTP会话的配置和管理,以及Live555框架中关键类的作用和交互方式。