基于TMO架构的网络系统与无人机控制系统设计
1. 网络系统的TMO架构
1.1 主TMO结构
在系统初始化期间,相关句柄会被发送到主过滤器图。同时构建了两种类型的对象数据存储段(ODSS),即音频数据包ODSS(AudioPacketODSS)和视频流ODSS(VideoStreamODSS)。
- 音频抓取过滤器作为音频非阻塞缓冲区(NBB)的写入器,将未压缩的音频数据包插入到AudioPacketODSS中。
- 视频流ODSS则封装了一个NBB,用于保存视频抓取过滤器提供的压缩视频帧。
主TMO还包含三个自发方法(SpM):
- 音频SpM :用于播放音频流。它会定期从AudioPacketODSS中读取未压缩的音频数据包,并通过Win32 DirectSound API进行播放。由于音频数据包在每次音频SpM循环开始时的全局时间目标时刻播放,因此可以最小化流内同步抖动。
- 发送SpM :定期从VideoStreamODSS中读取视频帧,并将其多播到所有工作节点。其迭代速率设置为与正在渲染的媒体流的帧率相同。例如,每33ms运行一次,意味着每秒发送30个视频帧。为了便于将视频帧发送到所有工作节点,构建了一个视频流可靠多播通信(RMMC)。在主TMO初始化期间,会实例化一个通往该RMMC的网关。当发送SpM获取到视频帧时,会调用RMMC API的Announce()方法进行多播。由于压缩视频帧的大小不固定,而RMMC要求每个数据包大小固定,因此在发送之前需要将视频帧打包成RMMC数据包。
- 控制SpM :
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



