流媒体技术在视频监控中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流媒体技术在视频监控中应用

流媒体技术在视频监控中应用   摘要: 基于流媒体技术的视频监控可以利用网络来传输音视频数据,极大地促进和扩展视频监控的发展和应用范围。该流媒体系统是基于ARM9处理器内核和嵌入式Linux操作系统,介绍了系统基本组成单元及其实现的功能,对Linux的网络通信协议和使用的流媒体协议做了必要的阐述。经过试验论证,获得了良好的效果。该流媒体系统既小巧、又功能强大且易于移植。经理论和实践证明,在利用网络实现视频监控的应用中,该设计具有较高的应用价值。   关键词:   流媒体; 线程; 嵌入式Linux; 视频监控   中图分类号: TP 393 文献标识码: A   引 言   视频监控是光电行业的一个重要领域,随着通信技术和多媒体技术的发展,嵌入式视频监控摄像系统得到了广泛的应用,人们对视频监控的要求和质量也越来越高。因此视频监控摄像系统呈现出数字化、网络化两个主要特点。尤其近年来流媒体技术的发展更加促进了实时视频摄像的发展。   嵌入式技术是先进的计算机技术、超大规模集成电路、软件技术和各个行业相关应用相结合的产物。嵌入式系统是以应用为中心,软硬件可剪裁,能适应应用系统,对功能、可靠性、成本、体积、功耗等综合性要求较高的专用计算机系统。嵌入式系统是相对于通用计算机系统而提出的。嵌入式系统也是一种软硬件混合系统。嵌入式操作系统采用Linux操作系统,Linux系 统源码开放,内核功能强大,多任务,易于裁剪,通信功能完善,具有良好的开发工具和环境。基于嵌入式流媒体系统体积小、价格便宜、功耗低,尤其是实时性效果好,所以得到了广泛的应用[1-3]。   1 系统硬件结构   图1所示为流媒体服务器系统硬件设计平台,ARM选用海思公司的HI3511,HI3511是基于ARM926EJ内核的32位RISC的处理器,具有标准32位ARM指令集和16 位THUMB指令集。HI3511集成了丰富的外围部件,主要有外部总线接口EBI、USB2.0接口、以太网10/100 M MAC接口,用来仿真和烧写程序用的J-TAG接口、以及音视频输入输出接口等接口。其硬件结构见图1。   HI3511片内还集成了及协同视频硬件加速引擎。使得HI3511成为高性能通信媒体处理器,具有高集成、可编程、支持H.264和MJPEG-4等多协议,广泛应用于实时视频通信领域,其中H264MainProfile算法极大地提高了视频质量,并且能够提供灵活的场编码或帧编码,视频处理单元还支持双码流编码,处理器足以满足视频监控的相关要求。   流媒体技术是把连续得到媒体信息经过压缩后放到网络服务器上,这样客户就可使实现边下载边观看,而不需要将整个媒体文件全部下载完毕,所以流媒体技术非常适合现场事件,可以随机访问和快进或后退观看内容[6]。   流媒体实时传输方式分实时流式传输和顺寻流式传输两种。实时流式传输可以保证媒体信号与网络连接相匹配,使媒体信息可以被实时看到,而且实时传输允许对媒体进行更多的控制,要比HTTP服务器复杂。顺寻流式传输是顺序下载,但客户只能观看已下载的部分,顺序流式传输可以使用HTTP服务器,比实时流式传输要简单。   3 流媒体系统软件设计   因为系统的关键就是流媒体服务器,所以这里也主要介绍与服务器有关的RTSP模块、RTP模块和用户界面的线程实现,这里首先介绍一下Linux的网络通信过程[7]。   3.1 Linux的网络通信   Linux中网络通信是通过Socket套接字来实现,它是一种特殊的文件描述符,由于Linux的设备无关性,可以看做普通的文件描述符来操作,通过向描述符读写来实现网络通信。Socket使用的是C/S模式,常见的Socket有流式Socket、数据报Socket和原始Socket三种类型。套接字编程采用C/S模式,即由客户端向服务器进程发出请求,服务器进程执行被请求任务并将响应结果返回给客户端。套接字函数包括:Socket()、Bind()、Listen()、Accept()、Send()、Recv()、Close()等。基本流程见图3。   其基本过程是Socket()函数创建一个用于通信的套接字并分配一个绑定端口号,Listen()函数是套接字成为一个监听套接字,调用Accept()来启用套接字,此后程序就可以等待客户端的连接并处理其请求。客户端也建立一个Socket,返回描述符。配置端口号和IP地址,向服务器发送连接请求并接受服务器发回的确认连接信息。通信结束后,关闭双方的Socket。   3.2 流媒体协议介绍   3.2.1实时流协议(real-time streamming protocol,RTSP)   RTSP定义了一对多程序如何有效通过IP网络控制多媒体数据。RTSP是应用层协议,有很大的灵活性,可以

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档