基于NAS的视频存储与回放系统的设计与实现——硕士论文_第1页
基于NAS的视频存储与回放系统的设计与实现——硕士论文_第2页
基于NAS的视频存储与回放系统的设计与实现——硕士论文_第3页
基于NAS的视频存储与回放系统的设计与实现——硕士论文_第4页
基于NAS的视频存储与回放系统的设计与实现——硕士论文_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学校代码:分类号:密级:公开u d c: 学号:工程硕士学位论文基于nas的视频存储与回放系统的设计与实现研究生姓名:导师姓名:校外导师:申请学位类别工程硕士-学位授予单位东南大学工程领域名称软件工程-论文答辩日期年 月 日研究方向软件工程学位授予日期20年 月 日答辩委员会主席评阅人摘要关键字:abtract:abstract目录摘要iabstractii第一章绪论11. 1研究背景11.2国内外研究现状21.3课题研究的目的及意义41.4论文研究的主要内容41. 5论文章节安排4第二章系统关键技术62. 1嵌入式开发62.1.1嵌入式处理器和实时操作系统62.1.2嵌入式交叉开发环境72.

2、1.3嵌入式linux特点82.2系统设计的关键技术82.2.1视频存储策略82.2.2流媒体技术92.2.3实时流媒体协议(rtsp) 122.2.4 onvif 协议142.3本章小结15第三章 需求分析与系统总体设计163. 1需求分析163.2系统设计目标173.3软件系统总体设计173.4本章小结18第四章系统实现(第一部分)194.1摄像机自动发现194.2网页配置功能214. 2. 1 django 框架224. 2. 2 django 工作原理分析224. 2. 3配置模块的实现244.2.4网页部署254. 3硬盘选取实现264.4视频数据的存储274. 5数据检索284.5

3、.1数据库表建立284.5.2视频数据的检索294. 6本章小结30第五章 系统实现(第二部分)325. 1 soap 协议325.1.1协议内容325. 1.2协议结构335.1.3 gsoap i具335.1.4网络服务描述语言335. 2摄像机连接实现345.2.1 流 url 获取345.2.2 rtsp客户端实现365. 2. 3 rtp 解包375. 3任务管理实现425. 4 rtsp服务实现425. 5 rtp 封装465. 6本章小结49第六章系统测试结果5()6. 1 nas设备硬件506.2系统测试506.2.1系统测试环境506. 2. 2系统测试工具506. 2. 3

4、测试数据分析506. 3测试结果526. 4摄像机配置界面526.5客户端点播界面536. 6本章小结54第七章总结与展望557. 1论文工作总结557.2研究工作展望55参考文献57致谢59第一章绪论1.1研究背景由于网络技术的发展,各行各业对网络的依赖程度越来越强烈,网络让人们 可以分享信息,相比本地有限的存储容量,网络提供更多的信息量,更多的存储 容量。随之而来产生了 san(storage area networks:存储区域网络)和 nas (network attached storage:网络附加存储)这样的产品。越来 越多的数据证明,网络存储已成为继个人计算机和互联网之后的第三

5、次it浪潮 的引导者。从存储的数据量的急剧增加引发存储方式的转变,按存储数据量的大 小则是由前端存储、集中存储到分布存储这样梯形增加,以集中存储为中心的网 络存储已成为全球各商家及企业最为关注的信息技术之一。nas是网络存储最 主要的形式之一,特点是操作系统完全以数据为中心,将存储设备与传统服务器 彻底分离,通过内嵌操作系统和管理软件对数据集中管理,便于用户安装、维护 和升级,同时有效释放带宽,从而提高网络性能,因此广泛应用于各个行业。视频监控涉及到大量的视频数据,在视频监控进入网络时代以后,将网络存 储技术引入到网络监控中是必然趋势。近年来,“平安城市”、“3111工程”、“全球眼”、“宽视

6、界”等重大项目的开展 足以看出安防在国内具有巨大的发展潜力,视频监控在交通、食品、卫生检疫、 海关、能源、金融、国防等领域广泛应用,拥有很大的市场潜力。市场的扩大促 使安防技术不断进步。网络的发展则带给了这个行业带来了一次全新的变革,目 前安防监控技术已经从模拟到数字再到网络监控的转变,最为主耍的是视频数据 量急剧增大,视频数据存储已成为监控行业主要研究方向之一,nas在网络存 储中应用非常广泛,则必然在监控行业也有广泛的市场前景。监控行业在数字化的时代,视频存储这块主要的产品是nvr (网络硬盘录 像机)和dvr (数字硕盘录像机),数字时代的早期主要是dvr,后来因为网 络的发展导致网络监

7、控的普及、带来了各式各样的ipc (网络摄像机)、监控网 络部署成本的降低进而使的nvr取代了 dvr,成为监控行业视频存储的主流产 品。但是随着监控网络规模的扩大化、复杂化对存储产品要求也不断提高。目前 监控行业的存储解决方案主要有四种:、传统的(dvr)数字硬盘录像机采用的 方式,采用ide硕盘或者sata硕盘读写,不算是专业的存储产品,其对于数据 存储要求的稳定性、安全性、管理、维护性和拓展性都不符合耍求;、das (直接附加存储),直接连接磁盘阵列实现存储模式,主要弱势有拓展性差、资 源利用率低、无法资源共享等;、nas存储,其是一种文件共享服务,拥有 自己的文件系统,是基于“文件级,

8、啲存储方式,具有良好的资源共享能力和较高 的安全性;、san存储,是一种通过网络方式连接存储设备和应用服务器的 存储架构,是基于“数据块”的存储方式,这种方式拓展性良好,有效的提高系统 的性能。nvr类产品提供的解决方案依据部署规模主要采用和这两种存储 模式。存储模式屈于中高端应用,nvr则面向中低端。目前面向中低端的市场,nvr采用nas存储方案的优势,将应用程序运行 在nas设备上,有效提高了带宽利用率,又因为其存储方案为nas,具备远程 挂载、实现资源共享、有效的增加资源的安全性,那么对于采用nas存储方式 的nvr类产品在中低端市场上是具有一定需求的,因此本文讲述的就是将视频 存储和回

9、放直接假设到nas设备上,有效的节约硬件成本,不仅可以利用nas 的存储优势,又可在nas设备上运行应用程序采集视频和管理视频。因此设计 一个基于nas的高性能视频存储与回放系统是很有意义的。1.2国内外研究现状网络技术的发展,让数据资源得到了有效的利用,网络存储数据急剧增加, 引发了数据存储的更替,大致经历了三代,分别是das、nas、sano最初的存储方式前面所述的das, i/o (输入和输岀)请求直接发送到存储 设备,早期网络的发展使其得到发展,到了二十世纪八十年代,计算有大型的集 中式系统发展成为灵活的客户端分布式服务器模式,又因处在初级阶段的局域网 推动了这一转变。连接服务器的存储

10、(server-attach storage)和das很相似, 但部署方式为分布式,并依赖局域网的连接得以实现。计算能力、内存、存储密 度和网络带宽的进一步增长导致越来越多的数据存储在个人pc和工作站中,这 样分布式的计算和存储的增长对存储技术有了更高的要求,今天,所有的存储操 作都有通过cpu的i/o来完成,使用das存储设备和主机操作系统紧密相连, 系统则背负多重负担,硕盘读写和应用运行,如果对于存储数据读写繁多的话, 则应用程序运行会急剧恶化,加上无法实现文件共享,因此das架构基本已不 再被采用。nas是将存储设备通过标准的网络拓扑结构,连接到一群计算机上,包含 了一个特殊的文件服务器

11、和存储架构。局域网技术广泛实施,计算机的激增引发 了数据不兼容性问题突发,从而使得数据获取的方式日趋复杂,采用局域网加工 作站族的方式实现文件共享,对互操作性和节约成本有很大的意义。nas类产 品操作简单,采用优异的文件系统和预配置的存储设备,局域网客户端可直接通 过nas系统与存储设备交互。目前支持windows、netware> unix、linux后来出现了 san,存储工业协会(snia)对san架构的定义:一个主要目 的是用于计算机系统和存储组件以及存储组件之间进行数据传输的网络。san 包含通用通信基础结构,包含物理连接和管理层,可以将连接、存储组件和计算机系统组织起来,确保

12、数据的安全和稳定。san通常只块i/o服务而不是文件访 问服务。先后发展起来两种san,如果基于fc协议的则称为fc-san,如果基 于iscsi协议的为ip-sano表1列出了硬盘、das、nas、fc-san和ip-san 的相关数据,并且进行了比较。者方案功能麺硬盘dasnasfc-sanip-san数据保护机制不具备具备具备具备具备高共享性能不具备不具备具备具备具备存储设备集中管理不具备具备具备具备具备数据高可用性不其备具备其备貝备具备高速读写性能具备具备不具备具备具备可拓展性不具备不具备具备有限具备具备投入成木低低低咼低维护成本高较高中高低使用领域系统后备存储小型监控系统扩容屮小型监

13、控 系统构建大型监控系 统构建各类型的监控 系统构建、扩容表1存储方案分析对照表在硬件和网络结构方面,nas集成磁盘阵列的优点,在数据管理方面配置方 便和快捷,在由上表做出的分析和比较,得岀视频监控行业在符合nas部署规 模的监控网络中,应用nas是一个比较理想的存储方式,因此在监控行业nas 的市场前景很大。nas产品一直作为一种通用存储方案,因此应用范围很广。单 做存储的行业公司其产品无法做到完全符合监控需求,一般做到的是兼顾通用 性,而监控行业做存储的更倾向于缺乏做存储的具体应用而缺乏做nas存储设 备的技术,因此在一个nas存储技术比较成熟的产品之上结合监控行业存储软 件技术,在nas

14、设备上设计实现并运行视频存储和回放系统是很有市场潜力的。前端的存储,由于监控行业的特殊性导致存储的数据是巨大的,而网络存储 就是因为不断扩大的存储容量需求产生fltjo san(storage area networks) 存储区域网络和nas (network attached storage)网络附加存储是两 种证明可行的网络存储方式。文件系统在存储子系统中的存在得以将nas从 san中区分开来,不过这两种存储方式的选取完全取决于用户的需求。由于监 控行业视频数据的巨大,建立相对独立的视频存储系统是监控行业未来发展的一 个方向,因此将网络存储应用到监控行业是显而易见的。用户自然可以在两种流

15、 行的存储方式中随意选择,但是就如前面所述,用户可以根据监控的规模需求来 决定,nas 般应用于屮小规模的存储,而san则多适用于大屮规模的存储。 目前在监控行业的较为流行的设备为nvr (network video recorder)网络硬盘 录像机,而nas在监控行业应用多为将nas设备挂在到nvr设备之上,需要 依赖nvr的转发功能,但是系统搭建成本过高,而且这种做法并没有真正做到 视频存储的独立性。1.3课题研究的目的及意义该课题旨在分析监控行业的目前网络监控产品的软件应用和nas设备对视 频存储的支持情况,以及它们可移植性、拓展性、安全性、稳定性进行分析,比 较各自优缺点,得出在na

16、s设备上直接运行监控行业的应用软件,能够更好的 发挥出各自的优势,让nas设备在监控行业的运用最大化和具体化。1.4论文研究的主要内容该课题研究的主要内容是在充分了解和研究了 nas存储方案以后,分析和 研究了视频存储和回放的解决方案,得出在nas设备上运行视频存储与回放系 统具有很高的应用价值,并进行了工程实践。主要工作包含一下几个方面:在基于公司选定的采用linux操作系统的nas设备上,进行对于开发该系统 的理论分析和研究。1、对于该系统实现中需耍应用到的流媒体传输技术和数据存储策略的关键 技术进行研究与分析。2、对开发本系统的基础性前提进行研究与分析,包含嵌入式开发以及linux 的特

17、点。3、对系统总体结构进行设计,对系统子模块应用的一般技术进行研究与分 析,并在该子系统中进行应用。1. 5论文章节安排第一章绪论,介绍课题研究的基础、来源、意义以及本文的主要内容和工 作安排。第二章系统的关键技术,论述了嵌入式开发,分析了系统设计的关键技术。第三章 需求分析与系统总体设计,论述了视频监控对nas设备的应用需 求,以及基于nas设备的应用软件系统的总体结构,以及各模块的简要说明。第四章系统实现(第一部分),包含系统配置模块的详细实现和系统存储模 块的详细实现,介绍了该系统视频存储模块的具体实现和该系统视频存储模块的 具体实现。第五章系统实现(第二部分),包含摄像机配置模块详细实

18、现和摄像机连接 模块的详细实现,介绍了该系统摄像机配置模块的具体实现和该系统的摄像机接 入模块的具体实现。第六章系统测试结果,给出了系统测试结果以及系统运行效果展示。第七章总结与展望,对整个系统的分析研究与实现做岀总结,并对后期研 究作出展望。第二章系统关键技术伴随着网络和多媒体技术的高速发展和日趋成熟,给视频监控行业带来了巨 大的变化,数字硬盘录像机(dvr)、网络硬盘录像机(nvr)、磁盘阵列等相 关产品的出现代表着监控行业向数字化、网络化、智能化方向发展,其中视频数 据的压缩、存储、传输、图像处理是数字视频监控领域的关键技术。在视频数据压缩方面,目前大部分视频数据编码方式多为mpeg-2

19、/mpeg-4 或者h.263/h.264格式编码的,较以前的模拟视频,不仅图像质量得到大幅度的 提高,而且码流速率大大降低,这对于有限的网络资源来说,具备了很大的应用 潜力。数据存储通常包含有两种方式,一种基于文件系统,一种基于数据库。这 两种方式主要是希望降低磁盘碎片。视频传输受网络带宽和实际需求的影响,目前接收视频流存在两种方案:下 载机制和视频流方式。采用下载机制的客户端要求下载完整文件才可以播放,在 监控行业中要求摄像机视频流实时接收并实时播放,因此下载机制无法应用该行 业中。所以为了满足实时观看的需求,必须采用视频流方式。该系统运行在nas设备之上,软件系统设计首先耍考虑的是选用何

20、种开发 方式,以及系统的总体架构和各个模块需要完成的工作等。目前nas产品大部 分都是属于嵌入式产品,在嵌入式开发领域,嵌入式处理器、嵌入式操作系统、 嵌入式系统集成开发环境一直是业界的热点,有必耍对嵌入式开发作相应的研究 与分析。本章内容的安排如下:首先对嵌入式开发进行分析与研究,接着深入分析系 统设计的关键技术。2. 1嵌入式开发目前大部分nas设备屈于嵌入式设备,从20世纪90年代开始,随着现代 信号处理、微电子技术和计算机网络技术的不断发展,嵌入式系统不断发展,并 广泛应用到科学研究、工程设计、军事技术、商业文化以及人们生活的方方面面。 所谓嵌入式系统,是指以应用为中心,以计算机技术为

21、基础,软硕件可裁剪,从 而能够满足实际应用中对功能、可靠性、成本、体积、功耗有严格要求的专业计 算机系统。它一般由嵌入式微处理器、外围设备、嵌入式操作系统以及用户的应 用程序等四个部分组成。2.1.1嵌入式处理器和实时操作系统嵌入式处理器是嵌入式系统的核心,一般分为嵌入式微处理器和嵌入式微控 制器两种。嵌入式微处理器的基础是计算机cpu, 一般装配在专门设计的电路 板上,只保留与嵌入式应用有关的母版功能,但是电路板上包括rom、ram、 bus等外设器件。日前嵌入式微处理器主要有aml86/188、power pc. mips、 arm系列等等。嵌入式微控制器又称单片机,它一般以某种微处理器为

22、核心, 芯片内部集成rom/eprom、eeprom、flash、ram、bus等各种必耍功能 和外设。嵌入式操作系统它以有效的方式组织和管理计算机的软硕件资源,合理的组 织计算机的工作流程,以便有效地利用这些资源为用户提供功能强大、使用方便 和可拓展的工作环境,从而在计算机与用户之间建立接口。典型的嵌入式操作系 统一般耍求实时性和多任务性的特点,例如目前比较流行的实时操作系统有 vxworks, palmos, uc/os-ii»windowsce, qnx, uclinux> rtlinux, montavista linux等。它们都经由传统linux内核改造而成,能够得

23、到自由软件社区丰富的 资源,从而成为很好的实时解决方案。2.1.2嵌入式交叉开发环境由于嵌入式系统自身的特殊性,不可能像开发pc软件那样在其上运行所有 的开发工具,其至有的嵌入式系统都没有显示设备,这就使得嵌入式开发采用一 种特殊模式:主机目标机这样的交叉环境进行开发。主机通常就是pc机或工作站,嵌入式实时开发环境就运行在主机z上,主 机操作系统一般为windows或者linux,软硬件资源丰富。目标机就是嵌入式应 用系统,它运行嵌入式实时系统,通过串口、以太网、仿真器或其它方式通信。 其开发模型见图2.1。图2.1主机目标机开发模型主机运行开发环境,用户所有开发工作都是在主机开发环境中进行,

24、包括编 译源代码、连接、下载和调试等。生成的可执行代码通过串行口或者以太网下载 到目标机,在口标机执行时,可以把执行结果展现在开发主机上,主机也可以通 过开发环境对代码进行调试。嵌入式应用软件开发屮,目前大部分使用c语言作为开发工具。c语言作为 一种高效通用的高级语言,大大提高了开发效率,缩短了产品开发时间。与一般 的c语言编译器不用的是,嵌入式c语言编译器都是经过优化的,达到提高编 译效率的作用。另外由于嵌入式处理器速度的提高和存储器空间的增长,而向对 象的语言例如c+也作为开发工具。在线仿真是进行嵌入式系统调试最有效的工具。它首先通过实际执行,对应 用程序进行原理性检验,以排除程序中存在的

25、逻辑性错误。在线仿真器的另一大 功能是在应用系统仿真时执行,发现和排除由于硕件干扰所引起的异常行为。此 外,高级的在线仿真软件具有完善的跟踪定位功能,可以实时跟踪嵌入式系统的 当前状态,以及应用系统对控制命令的响应等一系列动作,这对于开发调试是非 常重要的。2.1.3嵌入式linux特点与目前众多的商业实时操作系统相比,嵌入式linux拥有以下突出的特点:1、丰富开源代码嵌入式linux的代码完全开放,便于学习、修改和系统裁剪,嵌入式系统的 设计者可以对嵌入式linux进行二次开发,保留需要的系统功能,并且可以根据 实际需求修改系统代码,从而降低系统开销和能耗。2、开发成本低gpl(gener

26、al public license)协议源自嵌入式linux,也是开放的源代码白由 软件,只要支持gpl协议,linux操作系统的源代码可以自由获得,另外大部分 linux使用的开发工具也遵守gpl协议,同样可免费使用。3、开源软件支持linux系统提供了大量的应用软件,利用linux丰富的软件支持,可以迅速 构建嵌入式应用软件,极大地减少嵌入式系统软件开发的时间和费用。2. 2系统设计的关键技术2.2.1视频存储策略木系统中的nas设备承担接收和存储前端摄像机采集到的监控录像,并能 够为后端用户提供视频检索、浏览等任务,因此不仅要求nas设备的cpu具备 较高的i/o速率以外,还要求在存储和

27、读取视频数据的时候,使其硬盘读写性能 能够最大化,即磁盘碎片最小化。因此必须择一种合适的存储策略。目前视频数 据的物理存储都是通过文件系统的api来进行读写数据。因此大部分都采用预 分配的方式来解决磁盘碎片的问题,这里分为两种预分配策略,即静态预分配策 略和动态预分配策略。静态预分配策略是一种应用层的折中策略,就是在硬盘初始化的时候,按照 需求指定好大小,每一个文件都分配连续的物理区域,当有存储需求时,从空文 件池中申请可使用文件的大小,在写入数据的同时,数据库更新写入数据的信息。 但是这种方式需要实现复杂的索引机制,相当于实现一个私有的文件系统,设计 比较复杂。动态预分配策略相对于静态方式,

28、主要是在文件系统层采用的一种策略,通 过在现有文件系统上及时占用空间的方法,减少或者消除文件碎片,来提高硕盘 读写性能。但是不同的文件系统对于采用这种方式效果差异很大,在本系统设计 中分别对fat32和ext3两种文件系统进行了测试。测试结果显示ext3在预防 文件碎片上采取了一定的策略,一定程度上降低了磁盘碎片数量。这两种分配机制比较如表2.1。表2.1两种分配机制比较策略静态预分配动态预分配编程需要实现比较复杂的索引机制使用fwrite占用磁盘空间即可,编 程模型只需很少改动效果完全不会产生磁盘碎片儿乎不会产生磁盘碎片升级需要对现冇录像的磁盘做格式化无需对现冇录像的磁盘做任何更 改。劣势由

29、于文件大小固定,难以根据码流、定时事 件等因素灵活分配文件单位,导致浪费磁盘 空间需预留数个文件单位的剩余空间; 预分配少许耗时由于本系统是基于nas实现视频的存储和回放,如果采用传统静态预分配 方案,文件的管理必须完全依赖于数据库索引机制,造成nas的远程网络管理 功能部分丧失,因此在本系统设计中,采用动态预分配方案,这样即可在一定程 度上减少了磁盘碎片,也可兼容nas的文件管理,可通过远程文件共享直接访 问录像文件。2. 2. 2流媒体技术本系统设计主要涉及网络视频流的传输,因此流媒体技术的应用也是本系统 设计的关键技术。随着网络的发展,网络产生的信息形式多样,从网络上出现的第一张图片到

30、现在各式各样的网络视频、三维动画,人们的听觉、视觉在网络上得到了很大的 满足,视觉对于生动、清晰的媒体的观看,得益于流媒体技术。流媒体技术是一 种新兴的网络传输技术,是互联网上实时顺序地传输音视频等多媒体内容的数据 流的技术,它涉及到流媒体数据采集、音视频编解码、存储、传输、播放等技术 内容。受网络带宽和视频文件大小的影响,接收视频流产生了两种方案,下载机制 和视频流方式。采用下载机制,由于网络带宽的限制,下载一个音视频文件可能 需要几分钟,甚至几小时,那么采用下载方式的时延也就很大,或者对于摄像机 实时流的接收,下载机制根本无法应用。采用视频流方法,是指音视频数据有服 务器向用户计算机连续、

31、实时传输,用户只需利用几秒或者数十秒启动延时就可 以观看,不需要像下载模式那样的方式等文件全部下完才能观看。下载机制和视 频流方法普遍采用的流式传输是流媒体传输的关键技术。实现流式传输的方法有两种:实时流式传输(real-time streaming transport) 和顺序流式传输(progressive streaming transport)实时流式传输总是实时传送, 特别适合现场广播,也可支持随机访问,用户可快进或后退观看前面和后面的内 容,该过程必须保证媒体信号带宽与网络连接匹配,以便传输的内容可被实时观 看。顺序流式传输是顺序下载,在下载文件的同时用户可观看在线内容,但是在 给

32、定时刻,用户只能观看己下载的部分,而不能跳到未下载的部分。由于标准 http服务器支持顺序流式传输,不需其他额外协议,所以顺序流式传输经常被 称作http流式传输。顺序流式传输比较适合高质量的短片段,如广告、片头等; 不适合长片段和有随机访问要求的情况,如演说、讲座等;也不支持现场广播, 严格来说,它是一种点播技术。流式传输的实现需要合适的传输协议,由于传输控制协议(tcp)需耍的网 络开销较多,因此不太适合传输实时数据。在流式传输方案中,一般采用基于 tcp的上层文本应用协议来传输控制信息,如超文本传输协议(http)、实时流 传输协议(rtsp),而实时传输数据用实时传输协议(rtp)/用

33、户数据包协议(udp) 来传输实时数据,视频数据服务质量则有实时流传输控制协议(rtcp)来控制。流式传输的实现需要缓存技术,由于一个实时音视频源或存储的音视频文件 在传输过程中被分解为许多数据包,而网络又是动态变化的,由于选择的是udp 传输视频数据,则每个包到达客户端的顺序可能不同,因此需耍缓存系统来消除 时延和抖动的影响,以保证数据包顺序正确,使得媒体数据能够连续输出。流式传输的一般过程如下:1、用户选择某一流媒体服务器后,使用基于tcp的文本协议来交换控制信 息,以便把需要传输的实时数据从原始的数据中检索出来;2、客户端使用文本协议检索出取视频流的基本信息,包括目录信息、音视 频数据的

34、编码类型或音视频检索相关的服务器地址等;3、客户端和服务端允许实时流协议,交换控制信息,实时流协议提供播放、 快进、快退、暂停及录制等命令方法。4、音视频服务器使用rtp/udp,将音视频数据传输给客户端,客户端播放 视频流。流媒体传输过程中需要的通信协议除了底层tcp/udp协议以外,上层的协 议主要包含视频数据传输协议rtp/rtcp视频流控制协议rtsp/tcp或者 http/tcp,目前比较流行的流媒体协议栈如图2.2所示。protocol stacksinternet图2.2流媒体协议栈以下对流媒体传输协议作简单介绍。1、实时传输协议 rtp (real-time transport

35、 protocol)rtp协议和rtcp协议是紧密联系的,rtp是针对internet上多媒体数据流 的一个传输协议,由ietf(internet i程任务组)作为rfc 1989发布,定义为一对 一或者一对多传输情况下工作,其目的是提供时间信息和实现流同步,典型应用 是建立在udp之上,也可以在tcp、atm等其他协议之上工作。虽然rtp木 身保证了实时数据的传输,但是不能为顺序传送数据提供可靠的传送机制,也不 能提供流量控制或拥塞控制,因此它需要rtcp提供这些服务来紧密配合rtp 工作。威胁多媒体数据传输的一个尖锐问题是不可预料数据到达时间,但是流媒体 需要的是实时的到达,能够完成播放和

36、回放。rtp协议就提供了时间标签,序列 号以及其他的结构用于控制适时数据的流放。发送端依照即时的采样在数据包里 隐藏设置了的时间标签,接受端收到数据包后,依据时间标签恢复成原始的实时 数据。rtp木身不负责同步,rtp只是传输层协议,为了简化传输层处理,提高 该层的效率,将部分传输层协议功能(比如流量控制)上移到应用层完成。同步 就属于应用层完成的。rtp没有传输层协议的完整功能,不提供任何机制来保证 实时地传输数据,不支持资源预留,也不保证服务质量。rtp协议的数据报文和 控制报文使用相邻的不同端口,大大的提高了协议的灵活性和简易性。2、实时传输控制协议 rtcp(real-time tra

37、nsport control protocol)rtcp负责管理传输质量在当前应用进程之间交换控制信息。在rtp会话期 间,各参与者周期性地传送rtcp包,包中含有己发送的数据量、丢失的数据包 的数据量等统计资料,这样服务器就可以利用这些资料来改变传输速率,甚至改 变有效载荷类型。rtp和rtcp配合使用,能以有效的反馈和最小的开销使传输 效率最佳化。由前面所述,在传输视频流的时候,发送端会开放两个相邻的端口,一个给 rtp、另一个给rtcpo由于rtp不提供可靠的传送机制,它依靠rtcp周期性 的发送服务质量和交换会话用户信息等功能。用户可以根据反馈的信息指定调整 流量策略。3、资源预订协议

38、 rsvp (resorce reservation protocol)由于音频和视频数据流比传统数据对网络的延时更敏感,耍在网络中传输高 质量的音频、视频信息,除带宽要求之外,述需其他更多的条件。rsvp是internet 上的资源预订协议,使用rsvp预留部分网络资源(即带宽),能在一定程度上为 流媒体的传输提供服务质量(qos),在本系统设计当中不涉及到此协议。2. 2. 3实时流媒体协议(rtsp)实时流协议(rtsp)是由real network和netscape共同提出的如何有效地 的利用ip网络來传输声咅或者影像的多媒体串流的应用层协议,允许同时多个 串流需求控制,传输的通讯协议

39、可自行选择,服务器端既可以是tcp也可以是 udp,语法与http1.1类似,该协议用于c/s模型,是一个基于文本的协议, 用于客户端和服务器端建立和协商控制实时的回话。该协议是一个应用层协议, 主要控制实时数据的发送。实时流协议(rtsp)提供了一个可拓展的框架,使 实时数据传输和点播成为可能。实时流协议(rtsp)特点:以下列举了 rfc规范中的部分特点,更多特点参考文献2。1、可拓展性,新的方法和参数很容易加入到rtsp协议当中去;2、易解析,基于文本,可有标准的http或者mime解析器解析;3、安全性,使用网页安全机制;4、独立于传输,传输协议可根据需求任意选择;5、多服务器支持,每

40、个流可放在不同的服务器上,客户端自动选择与不同 的服务器建立并发的控制连接;6、记录设备控制,协议可控制记录和回放设备。rtsp控制命令:由于rtsp协议是工作在应用层,主要负责流媒体数据的控制,在实时流协 议(rtsp)协议主要包含以下方法记号,便于控制。以下只列举基本部分方法,更多方法参考文献2。具体命令如下:1、describe客户请求服务器,检查演示或媒体对彖的描述,也允许使用接收头指定用户 理解的描述格式,该方法由答复相应组成实时流协议(rtsp)初始阶段。2、options双向,可在任意时刻发出0ptions请求,例如打算尝试非标清请求,但不影 响服务器状态。3、pause客户端请

41、求服务器,暂停(pause)请求引起发送临时中断,该方法在设置 (setup)消息中连接超时的参数所指定时段期间被暂停后,尽管服务器可能关 闭连接并释放资源,但服务器资源会被预订。4、play该命令告诉服务器以setup指定的机制开始发送数据。5、setup对url的setup请求指定用于流媒体的传输机制。客户端对正播放的流发 布一个setup请求,以改变服务器允许的传输参数。如不允许这样做,响应错 误 为"455 method not valid in this state"。为了透过防火墙,客户端必须指明传 输参数,即使对这些参数没有影响。rtsp-般交互过程:依据rt

42、sp协议编写的客户端,任何一方发出请求,另一方必须给出响应, 因此必须一个request对于一个response,标准、友好的交互过程如图2.3所示。 流程图发出的option请求,fi的是询问服务端支持那些操作,options、 describe> setup, teardown、play,、pause、get_parameter 等。 如图所示,一般由客户端首先发出option选项,就是让服务器告诉自己有那 些方法可用,因此options非必须选项;descibe选项的请求为了获取服务 端提供的媒体初始化描述信息,这个选项的数据,客户也可通过其他途径获得, 如http;因此也是可选选

43、项,setup命令设置会话属性已经传输模式,提醒服 务器建立会话。play命令请求播放,服务端发送流媒体数据,客户端得到响应, 开始接收流媒体数据,setup和play命令为必须选项;teardown命令关 闭会话,也可根据系统设计的需要决定是否使用。因此实际需求屮并一定要采用 标准的交互方式,可根据实际需求定制特定的交互。服务端客户端optionii kiresponse11111describe111>response111111setup1111response|z _ixiiiiiiiisetupi i iresponseplayresponseqiteardown;i!resp

44、onse|qjii图2.3 rtsp 一般交互过程2.2.4 onvif 协议由于网络的发展触发了监控行业的变革,监控系统的网络化已经是不争的事 实,这让很多人看到了这个行业的市场潜力,最明显的特征是网络安防产品厂商 数量不断增多。某些厂商专注于做dvs(数字录像系统),有些厂商则可能专注于做平台等, 然后通过各大集成商进行集成,最终提供给客户。这种产业合作模式很明显已经 迫切的需要在该行业屮提供越来越标准化的接口平台。为此,2008年5月,由 安讯士联合博世及索尼公司三个公司携手宣布共同成立一个国际开放型网络视 频产品标准网络接口开发论坛,并取名为onvif,而且以公开、开放的原则和 方式共

45、同制定开放性的行业标准。onvif致力于通过全球性的开放接口标准來 推进网络视频在安防市场的应用,这种接口标准将确保不同厂商生产出的网络视 频产品具有互通性。onvif标准主要为网络视频设备z间的信息交换定义通用 协议,包括设备搜寻、实时视频、音频、元数据和控制信息等。口前onvif公 开招收会员,论坛已接纳的会员将近40家。其中,高级会员有12家,除了那三 家发起公司外,松下、三星、思科、西门子、ti等著名品牌位列其中,而国内 的海康威视和浙江大华也成为了 onvif论坛的高级会员。标准化无疑是净化市 场的重要手段,可以很大程度上减少重复开发,提高产品可靠性。本系统设计中 应用了 onvif

46、的部分协议。2. 3本章小结本章首先针对该系统运行的特殊环境,对嵌入式系统进行了分析和研究,接 着对系统设计中需要应用的关键技术进行研究与分析,重点讨论的视频存储的策 略及流媒体传输的技术,在分析与研究流媒体传输技术时,对rtsp实时流控制 协议进行了详细的分析与研究,述对系统需要应用onvif协议作了简要分析。第三章需求分析与系统总体设计系统的总体设计离不开对需要实现的系统进行需求分析,并对系统需要达到 的目标进行初步制定,为系统的具体实现打下基础。本章节则首先对系统进行需 求分析和制定系统的设计目标,然后进行系统的总体设计以及分析各个模块之间 的关系。3. 1需求分析视频监控行业对于存储的

47、性能有明确的指标,除了磁盘读写速度、空间利用 率、数据的安全性和稳定性等量化指标外,述有回放的录像检索效率、播放控制 等。具体来说,对于视频存储和回放功能和性能的需求包括如下:1、可靠存储视频存储和回放是基于nas存储设备,依赖于nas的存储性能。主耍包括 数据存储与备份能力,nas使用的是专业cpu,数据转换存储较快,在数据存 储大而且频繁的情况下,nas的数据处理能力更加凸显;数据安全性上主要考 虑容灾性。对于nas,采用raid技术,大大提高了存储数据的安全性。2、存储策略监控系统因为行业的特殊性,会对磁盘频繁读写,读写伴随的问题就是磁盘 碎片,磁盘碎片变多以后,会造成系统读写性能急剧恶

48、化,因此选择好的磁盘存 储策略非常重要。3、视频连接作为应用在nas设备上的视频存储和回放,自然需要具备自动或者收到配 置网络摄像机,使系统能够根据配置信息获取视频流。4、视频浏览视频监控中的网络存储可依赖于nas系统通过网络共享的方式查看录像, 但是支持冋放系统,必须设计私有协议,或者兼容方式能够被平台客户端软件进 行视频检索,并能够查找和播放视频。5、网络传输在网络传输屮,网络带宽是非常有限的资源,传统的下载方式不适合监控行 业的需求,客户必须点开视频文件,才能够播放视频,因此必须采用流媒体传输 技术实现视频流的传输。6、远程管理该系统除了可以通过nas远程管理以外,可以通过定制的客户端软

49、件进行 录像管理,能够进行远程摄像机连接参数配置。3.2系统设计目标针对本系统的实际需求,拟定了一个基于nas的视频存储和回放系统设计 方案。系统设计指标如下:1、实现对支持onvif (开放型网络视频接口论坛)协议的摄像机自动连接 和手动配置;2、实现h.264编码视频流的实时存储;3、实现视频流回放的服务端,该服务器支持视频资源查找,视频点播;4、能够完成需要连接摄像机的网页配置功能。要达到上述功能,必须对系统软件结构进行合理设计,需要对本系统涉及的 关键技术进行深入研究。3. 3软件系统总体设计上一节对嵌入式开发的介绍中,已经选用linux系统作为操作系统,因此在 决定在选用nas设备时

50、,运行linux操作的nas设备是首选。整个系统分为以 下几个模块:摄像机接入模块、视频存储模块、视频流回放、摄像机配置模块。 系统总体架构见图3.1。配置模块i网页摄像机配置文 件摄像机搜索视频流连接:视频存储用户视频冋放服务器摄像机连接模块视频存储模块视频冋放模块图3.1系统总体架构图1、摄像机配置模块摄像机配置模块负责完成摄像机的自动查找,并且通过网页,用户可以配置 摄像机连接需要的基本信息。2、视频存储模块摄像机存储模块负责将接入的网络摄像机流按照自定义存储策略存储到 nas存储设备上,并且将存储的视频文件的基本信息存入数据库,在提供数据 库查询接口,为用户能够按照需求检索感兴趣的视频

51、,为用户点播指定视频提供 服务。3、视频回放模块视频回放模块负责视频文件的回放服务,用户可根据视频存储模块检索出的 视频基本信息,找到感兴趣的视频,请求视频回放服务,包含快进、快退、下载 等服务。4、摄像机连接模块摄像机连接模块负责从配置文件读取需要录像的摄像机连接需要的基本信 息,完成摄像机视频流的获取,根据配置文件获取到的摄像机ip地址和端口号, 以及用户名和密码,因为网络摄像机一般需要安全认证。系统处理流程:系统启动以后,首先搜索网络中支持onvif协议的网络摄像机,并将其记 录在配置文件中,摄像机连接模块扫描配置文件,查询是否有要求连接的摄像机, 符合要求的摄像机可通过网页进行配置,每

52、次完成配置,摄像机接入模块重新扫 描需要接入的摄像机,到扫描完以后,根据配置接入需要接入的摄像机,为每一 路摄像机开辟一个线程去进行收流任务,收到视频流以后利用存储模块进行视频 存储,不断更新视频流文件的数据库信息,开启视频流回放服务器,等待用户视 频流的请求。3. 4本章小结该章节首先对系统进行必要的需求分析,制定好系统设计的基本目标,然后 对分别对应用系统软件的总体结构、各个模块的主要任务、系统任务处理的一般 流程进行分析。第四章 系统实现(第一部分)为了能够让摄像机连接模块通过读取本模块设计的配置文件完成摄像机的 连接工作。摄像机连接工作需要获取包含网络摄像机的ip和端口以及用户名和 密

53、码,进而能够自动连接到摄像机,然后进行收流任务,因此该章分析和描述了 支持onvif协议的摄像机的自动发现以及通过网页的方式进行网络摄像机额外 需要信息的配置工作。数据存储其主要职责是将接收的视频流数据通过文件系统api存入硬盘, 并能够提供检索机制,让客户能够检索到需要点播的视频。由于视频存储涉及到 大量数据的硕盘操作,是影响系统性能的关键,因此采用一个好的存储方案是至 关重要的,该章节又针对监控行业存储的特殊性并基于ext4文件系统,采用动 态存储方案进行了存储系统的设计实现,并在实际应用中采用了该设计实现方 案。4.1摄像机自动发现摄像机连接基本是直接通过在配置文件中读取网络摄像机连接需

54、要的配置 信息进行摄像机连接,摄像机种类多样,为了做到普遍的通用性,系统该模块的 设计首先通过目前网络摄像机普遍已经兼容或者准备兼容onvif协议的摄像机 进行自动发现,首先完成网络摄像机的网络地址的发现工作,然后可通过网页配 置的方式进行摄像机登录的用户名、密码、摄像机类型等的配置工作,最终可引 导系统完成摄像机连接任务。摄像机自动发现具体实现的流程图如图4所示。开始结束图4. 1设备发现流程图具体分析描述大致分为四步:1、建立tcp协议的socket,依据onvif协议中规定的设备发现协议标 准将端口绑定为3702o2、加入到多播组 50,使用 setsocket

55、 设置 so_reuseaddr 和 ip_add_membership,设置 ip_add_membership 的时候需要传入 struct ip_mieq,该结构体包含两个成员,imr_multiaddr 和 imr_interface, imr_multiaddr 的地址设为50, imrjnterface的地址设置为本地ip。3、发送搜索报文,根据网络能务发现服xws-discovery)的规定,发送的报 文格式如下:<?xml version二”1.0” encoding=vutf-8n?><envelope xmlns:dn=nhttp

56、://verl0/network/wsdln xmlns=m/2003/05/soap-envelopeh><header>注:转f页注:接上页<wsa:messageid xmlns:wsa=n/ws/2004/08/addressingn> uuid:%s</wsa:messageid><wsa:to xmlns:wsa=n/ws/2004/08/addressingn> urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:to><wsa:actionxmlns:wsa=nhttp:/schemas.xmlsoap<org/ws/2004/08/addressingn>/ws/2005/04/discovery/probe</wsa:action></header><body>&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论