论文部分内容阅读
摘 要:设计并实现了一种视频监控系统,兼容不同生产商的视频设备,具备跨平台性,可以从各种主流桌面终端和移动终端的网页中查看实时监控视频,并且不依赖任何视频播放插件,支持有线局域网、WIFI和3G信号。
关键词:跨平台 HTML5 流媒体 插件 移动视频监控
中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2014)06(b)-0055-02
视频监控系统广泛应用于金融、交通、安防、教育、医疗、生产等众多领域,常以独立系统出现,或嵌入其它监控系统以及综合管理系统成为其功能模块。视频监控系统的前端设备为数字摄像机和模拟摄像机,其中模拟摄像机的视频信号通常需经过编码器或数字硬盘录像机(简称DVR),实现数字化后方可同数字摄像机一样接入网络中,数字摄像机、编码器及DVR的生产商提供客户端软件供用户查看视频内容。视频设备生产商提供的客户端软件绝大部分只能运行在Windows桌面环境中,少部分支持Android和IOS操作系统,且客户端软件一般只能访问本品牌的设备,不具备多品牌兼容性;视频设备生产商提供的二次开发接口(SDK)也少有Windows以外的版本。
随着无线通信技术的高速发展和移动终端计算能力的不断提高,应用软件的跨平台性能不再局限于桌面计算机的硬件架构和操作系统范畴,而是开始向移动设备延伸。只有那些既能在各种桌面操作系统上运行,也能在主流移动操作系统上运行的软件产品,才算是真正意义上具备了跨平台特性。结合前文所述视频前端设备现状,视频监控系统追求在不同的桌面终端和移动终端上直接实现采集,解码并播放原始视频流,是一件难以企及的事情;而如果能够实现在主流桌面终端和移动终端上无差别地访问实时监控视频,就已经在应用层面上达到了预期的效果。
该文设计实现了一种基于WEB的跨平台移动视频监控系统,与传统的视频监控系统相比,该系统可兼容各生产商的视频设备,为Windows、Linux、Android、IOS终端提供相同的用户体验,且基于HTML5视频的设计完全消除了包括插件在内的所有客户端开发工作。
1 前台设计
系统前台采用B/S架构。与C/S架构相比,具有3大优势。
首先,B/S架构利于跨平台特性的实现。Windows、Linux、Android、IOS操作系统之间存在着显著的差异,而Chrome、Firefox等浏览器针对上述操作系统发布了相应版本的软件,为运行在浏览器内的应用屏蔽了操作系统差异。
其次,B/S架构便于嵌入其它系统。在实际应用中,视频监控系统不仅会以独立系统的形式出现,还可能作为其它监控系统或综合管理系统的功能模块呈现。C/S架构的软件如果要嵌入其它系统,必须用后者提供的接口对自身进行封装,而B/S架构的软件只需要在HTML级别做一些简单的修改就可以达到嵌入效果。
再次,B/S架构便于系统开发与部署。若采用C/S架构则需要针对每一种操作系统开发相应的客户端软件版本,还需要为所有的客户端都进行安装、维护和升级工作。而B/S架构系统的所有开发、维护和升级工作都在服务端完成,有效降低了开发和运维成本。
但是直到现在,仍然不存在一项旨在网页上显示视频的标准。大多数的视频是通过插件来显示的,然而并非所有浏览器都拥有同样的插件。以使用率最高的视频显示插件Flash为例,Adobe已于2011年11月曾宣布,未来将专注于PC上的Flash,针对移动设备Flash的工作将重点放在帮助开发人员使用Adobe AIR为所有应用商店开发原生应用程序,而不再为新的移动设备(芯片、浏览器、OS版本等)开发Flash Player。这意味着,如果希望WEB视频监控系统在移动终端上具备良好的表现,就必须放弃对插件的依赖。
另一种常见的实现方法是将应用软件封装为ActiveX控件,这也是目前视频设备生产商开发WEB版本应用时采用的主要方式。但遗憾的是,ActiveX控件只能在Windows操作系统的Internet Explorer浏览器使用。
该文采用了HTML5标准中的视频技术。HTML5是HTML的下一个主要的修订版本,它规定了一种通过video元素来包含视频的标准方法。当前,video元素支持三种视频格式,如表1所示:Ogg指带有Theora视频编码和Vorbis音频编码的Ogg文件;MPEG4指带有H.264视频编码和AAC音频编码的MPEG4文件;WebM指带有VP8视频编码和Vorbis音频编码的WebM文件。浏览器对他们的支持如表1所示:
考虑到H.264存在专利许可问题,并且WebM发布时间较短,本文暂时选用了自由和开源的Ogg文件格式。至此,系统前台就能够以一种极为简单的方式实现,只需在网页中加入一个HTML标签:
关键词:跨平台 HTML5 流媒体 插件 移动视频监控
中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2014)06(b)-0055-02
视频监控系统广泛应用于金融、交通、安防、教育、医疗、生产等众多领域,常以独立系统出现,或嵌入其它监控系统以及综合管理系统成为其功能模块。视频监控系统的前端设备为数字摄像机和模拟摄像机,其中模拟摄像机的视频信号通常需经过编码器或数字硬盘录像机(简称DVR),实现数字化后方可同数字摄像机一样接入网络中,数字摄像机、编码器及DVR的生产商提供客户端软件供用户查看视频内容。视频设备生产商提供的客户端软件绝大部分只能运行在Windows桌面环境中,少部分支持Android和IOS操作系统,且客户端软件一般只能访问本品牌的设备,不具备多品牌兼容性;视频设备生产商提供的二次开发接口(SDK)也少有Windows以外的版本。
随着无线通信技术的高速发展和移动终端计算能力的不断提高,应用软件的跨平台性能不再局限于桌面计算机的硬件架构和操作系统范畴,而是开始向移动设备延伸。只有那些既能在各种桌面操作系统上运行,也能在主流移动操作系统上运行的软件产品,才算是真正意义上具备了跨平台特性。结合前文所述视频前端设备现状,视频监控系统追求在不同的桌面终端和移动终端上直接实现采集,解码并播放原始视频流,是一件难以企及的事情;而如果能够实现在主流桌面终端和移动终端上无差别地访问实时监控视频,就已经在应用层面上达到了预期的效果。
该文设计实现了一种基于WEB的跨平台移动视频监控系统,与传统的视频监控系统相比,该系统可兼容各生产商的视频设备,为Windows、Linux、Android、IOS终端提供相同的用户体验,且基于HTML5视频的设计完全消除了包括插件在内的所有客户端开发工作。
1 前台设计
系统前台采用B/S架构。与C/S架构相比,具有3大优势。
首先,B/S架构利于跨平台特性的实现。Windows、Linux、Android、IOS操作系统之间存在着显著的差异,而Chrome、Firefox等浏览器针对上述操作系统发布了相应版本的软件,为运行在浏览器内的应用屏蔽了操作系统差异。
其次,B/S架构便于嵌入其它系统。在实际应用中,视频监控系统不仅会以独立系统的形式出现,还可能作为其它监控系统或综合管理系统的功能模块呈现。C/S架构的软件如果要嵌入其它系统,必须用后者提供的接口对自身进行封装,而B/S架构的软件只需要在HTML级别做一些简单的修改就可以达到嵌入效果。
再次,B/S架构便于系统开发与部署。若采用C/S架构则需要针对每一种操作系统开发相应的客户端软件版本,还需要为所有的客户端都进行安装、维护和升级工作。而B/S架构系统的所有开发、维护和升级工作都在服务端完成,有效降低了开发和运维成本。
但是直到现在,仍然不存在一项旨在网页上显示视频的标准。大多数的视频是通过插件来显示的,然而并非所有浏览器都拥有同样的插件。以使用率最高的视频显示插件Flash为例,Adobe已于2011年11月曾宣布,未来将专注于PC上的Flash,针对移动设备Flash的工作将重点放在帮助开发人员使用Adobe AIR为所有应用商店开发原生应用程序,而不再为新的移动设备(芯片、浏览器、OS版本等)开发Flash Player。这意味着,如果希望WEB视频监控系统在移动终端上具备良好的表现,就必须放弃对插件的依赖。
另一种常见的实现方法是将应用软件封装为ActiveX控件,这也是目前视频设备生产商开发WEB版本应用时采用的主要方式。但遗憾的是,ActiveX控件只能在Windows操作系统的Internet Explorer浏览器使用。
该文采用了HTML5标准中的视频技术。HTML5是HTML的下一个主要的修订版本,它规定了一种通过video元素来包含视频的标准方法。当前,video元素支持三种视频格式,如表1所示:Ogg指带有Theora视频编码和Vorbis音频编码的Ogg文件;MPEG4指带有H.264视频编码和AAC音频编码的MPEG4文件;WebM指带有VP8视频编码和Vorbis音频编码的WebM文件。浏览器对他们的支持如表1所示:
考虑到H.264存在专利许可问题,并且WebM发布时间较短,本文暂时选用了自由和开源的Ogg文件格式。至此,系统前台就能够以一种极为简单的方式实现,只需在网页中加入一个HTML标签: