基于IPV6的嵌入式视频监控系统
3.2服务器端视频发送和客户端视频接收
在基于DirectShow的视频发送端中,其过滤器图分别由 Video Capture Filter,Video Codec和 RTP Video Renderer Filter按顺序连接成一条“流水线”协同工作,他们分别完成源过滤器、转换过滤器和呈现过滤器的工作。 Video Capture Filter负责视频数据采集, Video Codec负责视频数据的压缩,最后由 RTP Video RendererFilter将压缩的视频数据封装 RTP包发送到网络上。过滤器之间的数据发送采用推模式。
视频发送实现过程如下:
1)初始化 coM组件,初始化 DirectShow,包括建立 GraphManager接口、建立 GraphBuilder接口(它的 CLSID为 CLSID_ FilterGraph)、建立 BasicFilter接口,并将 VWSource Filter (VW210), Sputter Filter(音视频分离过滤器)、Codec Fil-ter(TopStepdVideo)和 RTPVren}lter (RTP传输呈现过滤器)加到 GraphBuilder。
2)通过系统设各列举接口找到系统中默认的视频捕获设备,并添加到 GraphBuilder中,查询 GraphBuilder获得媒体事件接口和媒体控制接口,连接各个过滤器,设置 RTP Vrenflter参数。
3)通过 GraphManager的控制接口,运行过滤器图,捕获并发送图象。
4)等待运行结束消息,释放各个接口,关闭 COM组件。视频发送实现过程中图像传输的实现最为关健,当视频发送端响应网络客户端发出的视频数据请求后,马上启动视频数据发送线程,开始采集 MPEG视频数据并源源不断地写入到发送缓冲区中。它的实现原理是:位于源过滤器 VWSource Filter(VW210卡)将从摄像头获取的模拟视频图像首先进行A/D转换,然后将采集到的视频数据交给下游的 MPEG Stream Spatter filter,由它对获得的数据进行解析后转交给其下游的变换过滤器 Video Coder filter进行 MPEG编码,然后将编码后的 MPEG视频数据写入发送缓冲区,这部分都由 VW210卡完成。如果选择本地存盘则过滤器图连接到此结束,将视频数据直接写入磁盘。视频接收端程序流程如下图 7所示:
4结论
本文创新点:本视频监控系统是基于ARM嵌入式核心处理器的硬件平台,其中嵌入式系统中移植 TCP/IPv6协议,在原有 MPEG4视频编码基础上采用了新的运动估计优先估计矢量分布概率算法进行优化,同时对视频传输算法也作了相应的改进。系统结合了流媒体技术,IPv6技术,嵌入式技术等优点,实验证明该系统视频监控方而取得了良好效果。
评论