论文部分内容阅读
视频通信是互联网上的重要应用业务。随着高清视频采集设备和显示设备的普及,以及具有高带宽、高性能特征的下一代互联网的出现,实时视频通信逐渐成为互联网应用领域的研究热点。实时高清视频传输系统当前需要解决的是高清视频的大数据量所带来的较大带宽的占用、系统实时性和系统可扩展性等关键问题。本文视频监控系统的设计是在基于Ambarella公司A2系列视频压缩编码芯片的硬件平台的基础上,搭建了嵌入式Linux的软件系统平台环境;并在该软件平台上设计了用于视频监控端的videoserver核心进程,同时还设计了webserver进程用于实现用户端网页浏览,最终整体实现了A2视频监控系统。其中,videoserver的设计主要包括视频码流的采集、视频码流的传输和videoserver的系统控制三个主要的模块。视频采集模块主要包括码流数据的读取、码流缓冲中循环队列的设计、在循环队列中放入数据和取出数据的同步设计三部分;视频传输模块包括视频服务器端从队列中取一帧图像、发送端对该帧图像的拆帧发送和网络传输过程中的动态可变码流等技术,在一定程度上解决在不同网络环境下网络传输过程中出现的丢包等问题,实现了系统视频传输的稳定性;videowerver的系统控制模块实现了视频采集模块和传输模块的同步,降低了系统CPU的消耗。在webserver进程中,设计并实现了视频浏览播放的sourcefilter模块。视频系统客户端的播放基于Directshow技术实现,sourcefilter模块是Directshow的操作源,同时也是客户端视频码流的接收端。最后,本文在视频监控系统videowerver和webserver设计实现的基础上,提出并设计了基于CGI技术的webserver和videoserver两个进程之间的通信;实现了用户端对视频监控端的参数设置,以及客户端和视频监控端的数据传输等。在整个系统设计的过程中考虑到视频监控平台的扩展问题,视频服务器端采用Linux多线程设计的方式。通过实现系统各个功能模块之间的通信及调度方式,最终实现了基于Amabarella A2硬件平台的高清视频监控系统。