浏览器中无插件播放实时监控的方法与流程

文档序号:12378695阅读:11907来源:国知局
浏览器中无插件播放实时监控的方法与流程

本发明涉及一种监控播放方法,属于监控播放领域。



背景技术:

在网络日益发展的背景下,视频监控已经不仅用于安防,更多的家庭监控,民用小范围监控需求不断被提出。故使用B/S架构作为视频监控客户端能够减少用户安装软件带来的问题,更新方便等。

假设有一个视频监控设备(例如常见的监控摄像头),目标是通过浏览器查看视频监控设备的视频流。目前的B/S架构上的视频监控架构主要分为有插件查看和无插件查看两大类:

有插件方法:有插件方法主要包括两种方法,分别为ocx封装和flash查看。

Ocx封装法是通过微软提供的ocx(Object Linking and Embedding(OLE)Control eXtension)技术,将C/S架构中的视频监控核心代码封装入ocx组件中,注册后浏览器即可通过组件预留的接口进行播放,查看等任务。ocx方式的优势在于代码编写方便,可以做到一站式迁移,实时性高。劣势在于平台限制,该方法只支持windows平台,其余手机平台,linux平台等不支持。

Flash查看法是调用adobe公司的flash player插件中的flv播放或rtmp播放类,在视频监控设备的流媒体服务器后端再添加一个转码服务器实时将流媒体服务器中的标准数据转为flash player插件支持的数据,最后做到实时播放。Flash方式的优势在于用户只需要安装flash控件,操作较方便,实时性高。劣势在于代码编写复杂,且该方法同时具有平台限制,只支持windows平台和linux/unix平台,不支持手机平台。

无插件方法:无插件方法主要是基于html5标准下的HLS协议。HLS协议是苹果公司(apple)提出的视频流媒体解决方案,流程大致为在视频监控设备的流媒体服务器后端再添加一个转码服务器实时将流媒体服务器中的标准数据转为ts(transport stream)格式的视频文件并分块保存在web服务器下。同时在web服务器下添加一个m3u8为后缀名的索引。浏览器通过查询m3u8索引文件播放ts文件以达到监控设备直播效果。该方法优势在于无插件,无平台限制,只要是支持html5的浏览器(市面上大致有edge,360安全浏览器,chrome,猎豹浏览器,firefox等)都可播放。劣势在于代码编写复杂,且该方法由于是静态存储(转码服务器将数据写入ts文件并静态保存在web服务器下)就会造成至少5秒的延时。该延时对追求实时性的视频监控系统来说是不能忍受的。



技术实现要素:

本发明的目的在于:提供一种浏览器中无插件播放实时监控的方法,以解决目前有插件浏览器实时监控播放方法需要进行繁琐的插件安装,且仅能支持部分平台,而现有的无插件播放方法代码编写复杂,且会造成至少5秒的延时的问题。

为解决上述问题,拟采用这样一种浏览器中无插件播放实时监控的方法,

步骤一:使用WebRTC作为交互底层,将WebRTC的p2p传输模型更改为mcu模型;

步骤二:编写一个将视频监控设备输出的裸视频数据流实时转码为WebRTC支持的vp8格式的转码服务器,将该转码服务器设置于浏览器和流媒体服务器之间;

步骤三:转码服务器的输出数据流将通过步骤一的mcu模型进行流媒体数据分发;

步骤四:浏览器前端直接调用转码服务器提供的接口函数读取数据流,并通过原生WebRTC的方式显示。

步骤四中,通过浏览器访问前端网页,连接转码服务器;转码服务器对流媒体服务器发送数据请求,流媒体服务器转发数据;转码服务器收到流媒体服务器的裸数据流后实时转码并使用WebRTC的原生通道将转码后的视频数据流发送给浏览器。

前述浏览器为支持html5的浏览器,例如chrome,firefox,edge,360安全浏览器,猎豹浏览器等,目前不支持IE浏览器,只拥有IE内核的浏览器,所述裸视频数据流为H.264数据流。

与现有技术相比,本发明提供一种新的基于WebRTC流媒体播放方法,不仅能够支持目前所有的平台,并且能够实时稳定播放数据。用户不需要进行繁琐的插件安装,开发者也不用再专门为各种平台编写各种不同的兼容代码,且本发明配置简单,转码服务器和流媒体服务器可以分离部署,同时也可以一台转码服务器服务多台流媒体服务器;消除了现有无插件播放方法的高延迟问题,根据本发明所述方法、HLS方法与原视频监控进行了试验对比,本方法中浏览器播放的视频监控与原视频监控几乎同步,时差不超过1秒,而HLS方法比原视频监控延时了将近20秒。

具体实施方式

图1是本发明的架构示意图;

图2是本发明的时序图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将通过附图对本发明作进一步地详细描述,

实施例:

参照图1和图2,本实施例提供一种firefox浏览器中无插件播放实时监控的方法:

WebRTC是html5标准中的基于p2p(peer to peer)的视频会议解决方案,新的chrome内核,friefox内核浏览器已经将WebRTC整合。由于WebRTC只面对视频会议,故只支持对PC或手机摄像头,PC屏幕的流进行传输和直播,本身不支持对第三方视频数据流的传播。

该使用WebRTC作为交互底层,将WebRTC的p2p传输模型更改为mcu模型(将流媒体服务器的数据输出方式修改为支持裸视频数据流输出);

编写一个将视频监控设备输出的裸视频数据流(H.264数据流)实时转码为WebRTC支持的vp8格式的转码服务器,将该转码服务器设置于firefox浏览器和流媒体服务器之间;

转码服务器的输出数据流将通过mcu模型进行流媒体数据分发;

通过firefox浏览器访问前端网页,连接转码服务器;转码服务器对流媒体服务器发送数据请求,流媒体服务器转发数据;转码服务器收到流媒体服务器的裸数据流(H.264数据流)后实时转码并使用WebRTC的原生通道将转码后的视频数据流(vp8格式)发送给浏览器,即浏览器前端直接调用转码服务器提供的接口函数读取数据流,并通过原生WebRTC的方式显示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1