论文部分内容阅读
随着计算机技术的飞速发展,以及社会整体安防意识的提高,网络视频监控系统逐渐在行业应用与个人应用领域蓬勃发展。与此同时,平安城市、平安小区、平安校园等一系列项目的大力推广,视频监控已经成为安防领域的热点研究课题。视频监控系统主要由摄像头、流媒体服务器以及客户端组成。伴随着用户数的增多,项目中原有流媒体服务器Live 555出现了稳定性欠佳和并发量上的瓶颈,亟需一种性能稳定的服务器将其替换。另一方面,视频监控客户端存在着使用不便和用户体验不佳的问题:PC版的安装、配置以及调试过程略显复杂,而Web版本需要安装插件且浏览器兼容性方面还有待提高。若能够基于浏览器开发出一种免插件安装、跨平台运行的新型客户端,对于公司而言能够降低开发和部署客户端的成本;对于用户而言,可降低使用的技术门槛并提升用户体验。针对以上问题和需求,本文的主要工作如下:(1)分析视频监控系统相关的关键技术,包括流媒体传输协议RTSP/RTP、视频编解码技术H.264、Darwin流媒体服务器、HTML5视频解码与渲染技术、WebSocket协议以及Node.JS等;(2)分析Darwin服务器内核原理及相关源码,设计并实现了全新的转发模块,仅在用户发出点播请求时,流媒体服务器才请求前端设备的RTSP视频流并进行转发;(3)针对HTML 5客户端与Darwin服务器无法通信的问题,设计并实现代理服务器,它能够解析客户端的请求信令并转化为RTSP请求发送给流媒体服务器,另一方面接收流媒体服务器的视频数据并使用WebSocket协议进行封装发送给客户端;(4)设计并实现HTML5客户端,它可以对WebSocket协议封装的视频数据进行解析与组包,使用Javascript的H.264解码器对视频帧进行解码,并最终将图像渲染到画布以显示出监控画面。最后,本文对该系统进行了功能测试和性能测试。功能测试上,相关的测试点均测试通过。性能测试方面,在实验环境下,平均网络时延约小于600ms,支持的并发量可达900,对比实验表明Darwin的网络实验和并发量均好于Live555;客户端能以20fps的帧率,渲染640x360分辨率的画面。测试表明,系统具备视频监控的基本功能,实际运行效果达到设计的目标。