CN115865884A - 一种网络摄像头数据访问装置、方法、网络摄像头和介质 - Google Patents

一种网络摄像头数据访问装置、方法、网络摄像头和介质 Download PDF

Info

Publication number
CN115865884A
CN115865884A CN202211471844.5A CN202211471844A CN115865884A CN 115865884 A CN115865884 A CN 115865884A CN 202211471844 A CN202211471844 A CN 202211471844A CN 115865884 A CN115865884 A CN 115865884A
Authority
CN
China
Prior art keywords
data
browser
format
network camera
streaming media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211471844.5A
Other languages
English (en)
Inventor
李润华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI ULUCU ELECTRONIC TECHNOLOGY CO LTD
Original Assignee
SHANGHAI ULUCU ELECTRONIC TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI ULUCU ELECTRONIC TECHNOLOGY CO LTD filed Critical SHANGHAI ULUCU ELECTRONIC TECHNOLOGY CO LTD
Priority to CN202211471844.5A priority Critical patent/CN115865884A/zh
Publication of CN115865884A publication Critical patent/CN115865884A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种网络摄像头数据访问装置、方法、网络摄像头和介质,所包括:Web服务模块,用于接收浏览器发出的访问请求;WebSocket服务模块,用于在收到所述访问请求时,开启WebSocket协议并与所述浏览器建立连接;RTSPClient模块,用于在收到所述访问请求时启动,并与网络摄像头上的RTSP服务接口建立连接并通过RTSP服务获取网络摄像头的流媒体数据;所述WebSocket服务模块在接收到所述流媒体数据请求后,从RTSPClient模块获取流媒体数据并发送至浏览器。本发明既保证了网络摄像头音视频数据流服务的实时性,又使得用户不需要安装任何客户端或者插件,用户只需要有一个支持H264视频格式和AAC音频格式播放的浏览器,即可以在不同的终端上访问网络摄像头的音视频数据。

Description

一种网络摄像头数据访问装置、方法、网络摄像头和介质
技术领域
本发明涉及网络摄像头技术领域。尤其是涉及一种网络摄像头数据访问装置、方法、网络摄像头和介质。
背景技术
当前各厂家提供的各种网络监控摄像头大都提供了Onvif(OpenNetworkVideoInterfaceForum)协议和RTSP(RealTime StramingProtocol)协议,Onvif协议主要为网络视频产品提供标准化网络开放式接口,RTSP协议主要提供了一个实时流媒体服务,从而在客户端上实现流的实时播放。同时这些网络摄像头也提供了一个Web服务器来供客户通过浏览器访问摄像头控制页面,当然这其中少不了基本的摄像头音视频播放及历史音视频回放功能。但是这些Web服务均需要浏览器安装插件来实现摄像头的音视频观看及历史视频回放功能,原因在于浏览器自身不支持RTSP协议,所以需要在浏览器上安装插件以实现RTSP协议客户端功能及流媒体的播放功能。
由于压缩率的原因,也有越来越多的网络监控摄像头的视频流开始采用H265编码,这也是浏览器不能播放视频流的原因之一,因为现在大部分浏览器仅支持H264解码。我们通过调研发现,现在主流的三种浏览器IE、Chrome、Safari均能支持H264编码格式的视频流和AAC编码格式的音频流。
为实现网络摄像头视频的播放,要么提供一个厂家专用的客户端,在该客户端中实现与网络摄像头的通信及视频播放;要么通过浏览器访问网络摄像头,但是需要在浏览器中安装插件;也有一些厂商通过在网络摄像头上实现了RTMP(RealTimeMessageProtocol)协议,这样浏览器只需要支持AdobeFlashPlayer也能实现视频播放,可惜的是现在绝大部分浏览器上,AdobeFlashPlayer已不再受支持,以上三种方案都有着很大的缺点。
因此,亟需一种既不需要安装客户端,也不需要安装插件,同时能被绝大部分浏览器支持的网络摄像头视频的播放方法。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种网络摄像头数据访问装置、方法、网络摄像头和介质,用于解决现有播放网络摄像头视频存在的不足。
为实现上述目的及其他相关目的,本发明提供一种网络摄像头数据访问装置,应用于网络摄像头,所述装置包括:Web服务模块,用于接收浏览器发出的访问请求;WebSocket服务模块,其绑定有WebSocket服务接口,用于在收到所述访问请求时,开启WebSocket协议并与所述浏览器建立连接;RTSPClient模块,用于在收到所述访问请求时启动,并与网络摄像头上的RTSP服务接口建立连接并通过RTSP服务获取网络摄像头的流媒体数据;其中,所述Web服务模块中设有Web页面及相应的JavaScript文件,用于在浏览器的Web页面通过Websocket协议向WebSocket服务模块发送流媒体数据请求;所述WebSocket服务模块在接收到所述流媒体数据请求后,从RTSPClient模块获取流媒体数据并发送至浏览器。
于本发明的一实施例中,所述装置还包括:格式适配模块,用于将非H264格式的视频数据进行解码并重新编码为H264格式,并将非AAC格式的音频数据进行解码并重新编码为AAC格式。
于本发明的一实施例中,所述RTSPClient模块的功能还包括:判断从RTSP服务接口获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块将该视频数据进行解码并重新编码为H264格式后再提供;判断从RTSP服务接口获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块将该音频数据进行解码并重新编码为AAC格式后再提供给。
于本发明的一实施例中,所述在浏览器的Web页面通过Websocket协议向WebSocket服务模块数据请求指令,包括:通过浏览器的Web页面向所述WebSocket服务模块发出连接请求;若连接成功,则通过浏览器的Web页面向所述WebSocket服务模块发出流媒体数据请求;接收所述WebSocket服务模块返回的H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
于本发明的一实施例中,所当网络摄像头启动后,初始化原有的Web服务,初始化原有的Onvif协议栈,初始化原有的RTSP服务,初始化WebSocket服务模块。
为实现上述目的及其他相关目的,本发明提供一种网络摄像头数据访问方法,应用于网络摄像头,所述方法包括:接收浏览器发出的访问请求;开启WebSocket协议并与所述浏览器建立连接,并与网络摄像头上的RTSP服务接口建立连接;接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求;通过RTSP服务接口获取网络摄像头的流媒体数据并发送至浏览器。
于本发明的一实施例中,所述方法还包括:判断获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块将该视频数据进行解码并重新编码为H264格式后再提供;判断获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块将该音频数据进行解码并重新编码为AAC格式后再提供给
于本发明的一实施例中,所述接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求,包括:通过浏览器的Web页面发出连接请求;若连接成功,则通过浏览器的Web页面发出流媒体数据请求;接收H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
为实现上述目的及其他相关目的,本发明提供一种网络摄像头,包括:存储器、处理器及通信器;所述存储器存储有计算机程序,所述处理器执行所述计算机程序实现如上所述装置的功能;所述通信器用于与浏览器通信连接。
为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述装置的功能。
如上所述,本发明的一种网络摄像头数据访问装置、方法、网络摄像头和介质,所述装置包括:Web服务模块,用于接收浏览器发出的访问请求;WebSocket服务模块,其绑定有WebSocket服务接口,用于在收到所述访问请求时,开启WebSocket协议并与所述浏览器建立连接;RTSPClient模块,用于在收到所述访问请求时启动,并与网络摄像头上的RTSP服务接口建立连接并通过RTSP服务获取网络摄像头的流媒体数据;其中,所述Web服务模块中设有Web页面及相应的JavaScript文件,用于在浏览器的Web页面通过Websocket协议向WebSocket服务模块发送流媒体数据请求;所述WebSocket服务模块在接收到所述流媒体数据请求后,从RTSPClient模块获取流媒体数据并发送至浏览器。
具有以下有益效果:
本发明通过在网络摄像头端增加了一个RTSPClient模块、一个WebSocket服务模块、一个格式适配模块,既保证了网络摄像头音视频数据流服务的实时性,又使得用户不需要安装任何客户端或者插件,用户只需要有一个支持H264视频格式和AAC音频格式播放的浏览器,即可以在不同的终端上访问网络摄像头的音视频数据。
附图说明
图1显示为本发明于一实施例中网络摄像头数据访问装置的模块示意图。
图2显示为本发明于一实施例中网络摄像头数据访问装置的流程示意图。
图3显示为本发明于一实施例中网络摄像头数据访问方法的流程示意图。
图4显示为本发明于一实施例中网络摄像头的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
目前,为实现网络摄像头视频的播放,要么提供一个厂家专用的客户端,在该客户端中实现与网络摄像头的通信及视频播放;要么通过浏览器访问网络摄像头,但是需要在浏览器中安装插件;也有一些厂商通过在网络摄像头上实现了RTMP(RealTimeMessageProtocol)协议,这样浏览器只需要支持AdobeFlashPlayer也能实现视频播放,可惜的是现在绝大部分浏览器上,AdobeFlashPlayer已不再受支持。
以上三种方案都有着很大的缺点。为此需要一种播放网络摄像头上的视频的方法,该方法既不需要安装客户端,也不需要安装插件,同时能被绝大部分浏览器支持。
本发明提出了一种技术解决方案,利用了现今大部分浏览器都支持的H5及WebSocket协议,对网络摄像头的架构做了一定调整,实现了在浏览器上仅通过WebSokcet协议访问网络摄像头的音视频的功能。
如图1所示,展示本发明于一实施例中的网络摄像头数据访问装置的模块示意图。如图所述,所述装置包括:
Web服务模块110,用于接收浏览器发出的访问请求。
例如,当有用户通过浏览器访问网络摄像头里Web服务器上的Web播放页面时,便形成浏览器向网络摄像头中Web服务模块110发出访问请求。
WebSocket服务模块120,其绑定有WebSocket服务接口130,用于在收到所述访问请求时,开启WebSocket协议并与所述浏览器建立连接。
需要说明的是,因为现有网络摄像头大都没有考虑到浏览器不安装插件的前提下直接访问摄像头的音视频流。因此,现有的解决方案,一般是通过在浏览器上安装插件实现RTSPClient协议来播放音视频流。同时为了浏览器本身的安全,现在大多数浏览器已经不允许安装插件。而随着现在浏览器的技术不断发展,浏览器已经支持websocker全双工通信协议,正因如此,本发明选用WebSocket协议,并针对不同的浏览器进行了适配优化,能够通过WebSocket协议兼容各种不同的主流浏览器。
具体来说,传统的http协议,是一种无状态,无连接,单向的应用层协议,它采用了请求/响应模型,由客户端(浏览器)发起通信,不具备服务器推送能力,协议本身也没有持久通信能力。但是在实际的应用中,是很需要这种能力的,例如在多媒体发展迅速的今天,通常需要在浏览器上持续播放来自服务器端推送的流媒体音视频数据。而WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。因此,本发明采用了支持WebSocket协议的WebSocket服务模块120。
于一或多个可实现的实施例中,WebSocket服务模块120的工作流程可示例如下:
1)支持websocket协议的web浏览器向WebSocket服务模块120发起TCP连接;
2)TCP连接成功后,浏览器通过HTTP协议向服务器传送WebSocket支持的版本号等信息;
3)WebSocket服务模块120收到浏览器的握手请求后,同样采用HTTP协议回馈数据;
4)通过TCP通道进行传输通信,此时WebSocket服务模块120能主动发送消息给浏览器。
优选地,本发明中通过WebSocket服务提供了音视频数据流服务,此外,本发明也可以在网络摄像头端启动HLS服务(HTTPLive Streaming)进行替代,因为大部分浏览器也支持HLS协议访问直播流。但不足的是,HLS协议涉及到数据的切片,可能会带来一定的延迟。
RTSPClient模块140,用于在收到所述访问请求时启动,并与网络摄像头上的RTSP服务接口150建立连接并通过RTSP服务获取网络摄像头的流媒体数据。
首先说明,为什么监控摄像头上采用RTSP/RTP/RTCP协议来播放音视频。因为监控摄像头有一个实时需求,要求观看到的监控必须延时尽可能小。RTSP(RealTimeStreamingProtocol)正如其协议名所示:实时流协议,其设计之初就是为了如何有效的通过IP网络实时传送多媒体数据。同时由于RTSP协议也是一对多的协议,支持多个客户端同时请求多媒体数据。
在网络摄像头上都会实现RTSPServ,供实现了RTSPClient的客户端程序访问音视频流,例如VLC媒体播放器或者其它的媒体播放器。若没有其它需求,在网络摄像头上实现RTSPClient没有意义,所以现在的网络摄像头只实现了RTSPServ,未实现RTSPClient。
本发明的目的是,仅通过浏览器即可访问网络摄像头的音视频流。这个需求有两个难点,第一是浏览器仅支持特定格式的音视频。第二是浏览器不支持RTSPClient协议。
所以本发明解决第一个难点,就是在网络摄像上提供了一个格式适配模块160,也称为FormatAdapter模块,该模块用来将其它音视频格式转换为浏览器支持的音视频格式。具体地,格式适配模块160,用于将非H264格式的视频数据进行解码并重新编码为H264格式,并将非AAC格式的音频数据进行解码并重新编码为AAC格式。
需要说明的是,本格式适配模块160的目的是为了直接使用浏览器播放音视频数据,其他模块或者协议不能替代。
本发明解决第二个难点,就是现在的浏览器本身是支持WebSocket全双工通信协议的,为此,本发明先在网络摄像头上实现RTSPClient协议获取流媒体数据,再在网络摄像头上实现WebSocketServ协议,用来实现处理浏览器的数据请求。
本发明在网络摄像头上实现RTSPClient,主要改进点及难点是协议的实现及在网络摄像头上的优化。
另需说明的是,现有的网络摄像头都实现了RTSPServ模块,本发明采用RTSPClient模块140能最大限度利用现有的架构,保持原有的功能不变。并且也可以通过直接取祼流的方式来实现这一功能。同时,因不同的网络摄像头需要不同的实现。为维持原有功能,仍然需要实现RTSPServ功能。
于本发明一实施例中,所述RTSPClient模块140的功能还包括:
判断从RTSP服务接口150获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块160将该视频数据进行解码并重新编码为H264格式后再提供。或者,判断从RTSP服务接口150获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块160将该音频数据进行解码并重新编码为AAC格式后再提供给。
简单来说,若从RTSP服务接口150获取到的视频流格式为H264,则格式适配模块160不进行视频数据的解编码,直接使用从RTSP服务接口150获取到的视频流;若从RTSP服务接口150获取到的音频流格式为AAC,则格式适配模块160不进行音频数据的解编码,直接使用从RTSP服务接口150获取到的音频流。
于一或多个可实现的实施例中,RTSPClient模块140的实现细节可示例如下:
1)首先RTSPClient模块140连接到流服务器。例如,本发明利用的摄像机上已有的RTSP服务,因此这个地址是一个IP地址为127.0.0.1的服务地址,它可能是rtsp://admin:admin@127.0.0.1:554,其中用户名是admin,密码是admin,端口是554。
2)RTSPClient模块140向服务器发送一个OPTIONS请求,然后接收从服务器返回的数据,获取服务器支持的接口。
3)RTSPClient模块140向服务器发送一个DESCRIBE命令,然后接收从服务器返回的SDP描述数据,获取流媒体数据,包括流数量、媒体类型等信息,用于我们执行相应的解码。
4)RTSPClient模块140根据SDP描述,向服务器发送SETUP请求,告知服务器需要建立对应媒体数据传输通道。此时会建立一个流媒体连接。
5)RTSPClient模块140向服务器发送PLAY请求,告知服务器开始播放。
6)此时服务器通过RTP包向RTSPClient模块140传输音频、视频数据,通过RTCP包向RTSPClient模块140传输控制信息。
7)最后在必要的情况下,RTSPClient模块140可以通过发送TEARDOWN命令来结束流媒体会话。
于本发明中,所述Web服务模块110中设有Web页面及相应的JavaScript文件,用于在浏览器的Web页面通过Websocket协议向WebSocket服务模块120发送流媒体数据请求。
优选地,Web服务模块110在收到所述访问请求时启动RTSPClient模块140,此时,Web服务模块110也会判断RTSPClient模块140是否启动,若未启动,则马上启动。
简单来说,在网络摄像头上的Web服务模块110里增加一个Web页面及相应的JavaScript文件,该Web页面及JS文件实现了通过Websocket协议向服务器端请求数据及播放的功能
于本发明中,所述WebSocket服务模块120在接收到所述流媒体数据请求后,从RTSPClient模块140获取流媒体数据并发送至浏览器。
于本发明一实施例中,所述在浏览器的Web页面通过Websocket协议向WebSocket服务模块120数据请求指令,包括:
A、通过浏览器的Web页面向所述WebSocket服务模块120发出连接请求;
B、若连接成功,则通过浏览器的Web页面向所述WebSocket服务模块120发出流媒体数据请求;
C、接收所述WebSocket服务模块120返回的H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;
D、根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
在一或多个可实现的实施例中,当网络摄像头启动后,初始化原有的Web服务,初始化原有的Onvif协议栈,初始化原有的RTSP服务,初始化WebSocket服务模块120。
简单来说,网络摄像头当中通常带有Web服务、Onvif协议栈、RTSP服务,其分别实现最基本的功能,本发明需要在这些功能,并在这些功能寄出上进行改进。因此,在网络摄像头启动后,会初始化原有的Web服务,初始化原有的Onvif协议栈,初始化原有的RTSP服务;此外,本发明改进点之一的WebSocket服务模块120也会进行初始化,以供在接收到来自不同浏览器发出的访问请求后,开启WebSocket协议并与不同的浏览器建立连接。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,WebSocket服务模块120可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上WebSocket服务模块120的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific IntegratedCircuit,简称ASIC),或,一个或多个微处理器(digital signalprocessor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable GateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessingUnit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图2所示,展示为本发明于一实施例中的网络摄像头数据访问装置的流程示意图。如图所述,当有客户通过浏览器访问网络摄像头里Web服务器上的Web播放页面时,进行相应的处理,包括启动RTSPClient模块140,取到数据流,如有需要对数据流进行重编码,然后再根据客户的请求,将数据流通过Websocket协议发送给浏览器。
具体处理步骤包括:
首先,当有用户通过浏览器访问网络摄像头里Web服务器上的Web播放页面时,浏览器发出的访问请求,Web服务模块110接收浏览器发出的访问请求。
然后,通过浏览器的Web页面向WebSocket服务模块120发出连接请求,通过WebSocket服务模块120内的WebSocket协议,可与浏览器建立连接;若连接成功,则通过浏览器的Web页面向所述WebSocket服务模块120发出流媒体数据请求;
同时,在Web服务模块110接收到浏览器发出的访问请求,启动RTSPClient模块140;其中,Web服务模块110会再判断RTSPClient模块140是否启动,若未启动,则马上启动。RTSPClient模块140通过RTSP协议,从自身的RTSP服务接口150中,接收流媒体数据。
然后,将流媒体数据送到格式适配模块160;判断数据流的格式,如果数据流视频格式是H264且音频格式是AAC则不做重编码;否则的话,对数据流的格式进行重编码。
其次,将格式适配模块160输出的符合要求的H264+AAC音视频数据流返回给RTSPClient模块140。
当WebSocket服务模块120接收到连接上的浏览器的流媒体数据请求后,WebSocket服务模块120向RTSPClient模块140请求H264+AAC音视频数据;WebSocket服务模块120接收到数据流之后,将其封装进消息体,根据浏览器端的请求。发送给浏览器端。
最后,根据浏览器端的WebSocket数据请求,持续不断的向浏览器端发送数据流,从而实现了浏览器端的音视频播放。
整体来说,网络摄像头最主要的功能就是提供音视频服务。但传统网络摄像头想提供这种服务,要么提供专用的客户端,要么要在浏览器上安装插件才能观看。传统的网络摄像头已有Web服务、Onvif协议栈服务及RTSP流媒体服务,本发明通过添加几个模块及功能,实现了不在浏览器安装插件的前提下,支持绝大多数浏览器直接访问网络摄像头音视频的方法。
本发明通过在网络摄像头端增加了一个RTSPClient模块140、一个WebSocket服务模块120、一个格式适配模块160,既保证了网络摄像头音视频数据流服务的实时性,又使得用户不需要安装任何客户端或者插件,用户只需要有一个支持H264视频格式和AAC音频格式播放的浏览器,即可以在不同的终端上(可以是PC,也可以是移动端)访问网络摄像头的音视频数据。
如图3所示,展示为本发明网络摄像头数据访问方法的流程示意图,如图所示,所述方法包括:
步骤S301:接收浏览器发出的访问请求;
步骤S302:开启WebSocket协议并与所述浏览器建立连接,并与网络摄像头上的RTSP服务接口建立连接;
步骤S303:接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求;
步骤S304:通过RTSP服务接口获取网络摄像头的流媒体数据并发送至浏览器。
于本申请一实施例中,所述方法还包括:
判断获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块将该视频数据进行解码并重新编码为H264格式后再提供;判断获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块将该音频数据进行解码并重新编码为AAC格式后再提供给。
于本申请一实施例中,所述接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求,包括:
A、浏览器的Web页面发出连接请求;
B、若连接成功,则通过浏览器的Web页面发出流媒体数据请求;
C、接收H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;
D、根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
需要说明的是,由于本申请所述方法与上述装置各模块/单元之间的信息交互、执行过程等内容实施例基于同一构思,其带来的技术效果与本申请装置实施例相同,具体内容可参见本申请前述所示的装置实施例中的叙述,此处不再赘述。
如图4所示,展示本发明于一实施例中的网络摄像头的结构示意图,如图所示,所述网络摄像头400包括:存储器401、处理器402及通信器403。所述存储器401存储有计算机程序,所述处理器402执行所述计算机程序实现如图1所述网络摄像头数据访问装置的功能。
所述存储器401可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述存储器401存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器402可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述通信器403的通信方式包括:WIFI、NFC、蓝牙、以太网、GSM、3G、及GPRS中任意一种或多种组合。所述通信方式的网络通信方式包括:互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字用户线(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网络(VPN)和/或任何其它合适的通信网络中的任何一个或多个。
于本发明的一实施例中,一种计算机可读存储介质,其上存储有数据传输程序,该数据传输程序被处理器执行时实现如图1所述的多维度检测跟踪的客流统计方法。
所述计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的图像处理程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
这些计算机程序程序也可装载到计算机或其他可编程数据处理设备上,使在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
综上所述,本发明提供一种网络摄像头数据访问装置、方法、网络摄像头和介质,可有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种网络摄像头数据访问装置,其特征在于,应用于网络摄像头,所述装置包括:
Web服务模块,用于接收浏览器发出的访问请求;
WebSocket服务模块,其绑定有WebSocket服务接口,用于在收到所述访问请求时,开启WebSocket协议并与所述浏览器建立连接;
RTSPClient模块,用于在收到所述访问请求时启动,并与网络摄像头上的RTSP服务接口建立连接并通过RTSP服务获取网络摄像头的流媒体数据;
其中,所述Web服务模块中设有Web页面及相应的JavaScript文件,用于在浏览器的Web页面通过Websocket协议向WebSocket服务模块发送流媒体数据请求;
所述WebSocket服务模块在接收到所述流媒体数据请求后,从RTSPClient模块获取流媒体数据并发送至浏览器。
2.根据权利要求1所述的网络摄像头数据访问装置,其特征在于,所述装置还包括:
格式适配模块,用于将非H264格式的视频数据进行解码并重新编码为H264格式,并将非AAC格式的音频数据进行解码并重新编码为AAC格式。
3.根据权利要求2所述的网络摄像头数据访问装置,其特征在于,所述RTSPClient模块的功能还包括:
判断从RTSP服务接口获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块将该视频数据进行解码并重新编码为H264格式后再提供;
判断从RTSP服务接口获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块将该音频数据进行解码并重新编码为AAC格式后再提供给。
4.根据权利要求1所述的网络摄像头数据访问装置,其特征在于,所述在浏览器的Web页面通过Websocket协议向WebSocket服务模块数据请求指令,包括:
通过浏览器的Web页面向所述WebSocket服务模块发出连接请求;
若连接成功,则通过浏览器的Web页面向所述WebSocket服务模块发出流媒体数据请求;
接收所述WebSocket服务模块返回的H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;
根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
5.根据权利要求1所述的网络摄像头数据访问装置,其特征在于,所当网络摄像头启动后,初始化原有的Web服务,初始化原有的Onvif协议栈,初始化原有的RTSP服务,初始化WebSocket服务模块。
6.一种网络摄像头数据访问方法,其特征在于,应用于网络摄像头,所述方法包括:
接收浏览器发出的访问请求;
开启WebSocket协议并与所述浏览器建立连接,并与网络摄像头上的RTSP服务接口建立连接;
接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求;
通过RTSP服务接口获取网络摄像头的流媒体数据并发送至浏览器。
7.根据权利要求6所述的网络摄像头数据访问方法,其特征在于,所述方法还包括:
判断获取到的视频数据格式是否为H264;若是,则直接提供该视频数据;若否,则通过所述格式适配模块将该视频数据进行解码并重新编码为H264格式后再提供;
判断获取到的音频数据格式是否为AAC;若是,则直接提供该音频数据;若否,则通过所述格式适配模块将该音频数据进行解码并重新编码为AAC格式后再提供给。
8.根据权利要求1所述的网络摄像头数据访问方法,其特征在于,所述接收由浏览器的Web页面通过Websocket协议发送的流媒体数据请求,包括:
通过浏览器的Web页面发出连接请求;
若连接成功,则通过浏览器的Web页面发出流媒体数据请求;
接收H264格式视频数据及AAC格式音频数据,并通过Web页面的video标签展示;
根据传输状况,持续接收并请求流媒体数据,并展现在Web页面中。
9.一种网络摄像头,其特征在于,包括:存储器、处理器及通信器;所述存储器存储有计算机程序,所述处理器执行所述计算机程序实现如权利要求1-5中任意一项所述装置的功能;
所述通信器用于与浏览器通信连接。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-5中任意一项所述装置的功能。
CN202211471844.5A 2022-11-23 2022-11-23 一种网络摄像头数据访问装置、方法、网络摄像头和介质 Pending CN115865884A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211471844.5A CN115865884A (zh) 2022-11-23 2022-11-23 一种网络摄像头数据访问装置、方法、网络摄像头和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211471844.5A CN115865884A (zh) 2022-11-23 2022-11-23 一种网络摄像头数据访问装置、方法、网络摄像头和介质

Publications (1)

Publication Number Publication Date
CN115865884A true CN115865884A (zh) 2023-03-28

Family

ID=85665231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211471844.5A Pending CN115865884A (zh) 2022-11-23 2022-11-23 一种网络摄像头数据访问装置、方法、网络摄像头和介质

Country Status (1)

Country Link
CN (1) CN115865884A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117176705A (zh) * 2023-11-03 2023-12-05 成都阿加犀智能科技有限公司 一种工业相机视频流展示方法、装置、设备及介质
CN117938822A (zh) * 2024-03-21 2024-04-26 四川广飞视信息技术有限公司 一种基于wasm的实时语音通信方法、终端及摄像头

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117176705A (zh) * 2023-11-03 2023-12-05 成都阿加犀智能科技有限公司 一种工业相机视频流展示方法、装置、设备及介质
CN117176705B (zh) * 2023-11-03 2024-01-26 成都阿加犀智能科技有限公司 一种工业相机视频流展示方法、装置、设备及介质
CN117938822A (zh) * 2024-03-21 2024-04-26 四川广飞视信息技术有限公司 一种基于wasm的实时语音通信方法、终端及摄像头
CN117938822B (zh) * 2024-03-21 2024-06-04 四川广飞视信息技术有限公司 一种基于wasm的实时语音通信方法、终端及摄像头

Similar Documents

Publication Publication Date Title
JP6279512B2 (ja) 適応ビデオ通信用システム及び方法
US7921150B1 (en) Method for viewing videos on distributed networks
US11412021B2 (en) Method and device for media streaming between server and client using RTP/RTSP standard protocol
CN115865884A (zh) 一种网络摄像头数据访问装置、方法、网络摄像头和介质
US10110393B2 (en) Protocol switching over multi-network interface
WO2016049987A1 (zh) 一种数据处理方法、装置及相关服务器
JP7496022B2 (ja) クライアント、サーバ、受信方法及び送信方法
WO2013037241A1 (zh) 移动多媒体实时转码播放系统、装置、存储介质及方法
WO2013007148A1 (zh) 一种转码方法及系统
KR101821123B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
JPWO2017138387A1 (ja) 情報処理装置および情報処理方法
WO2013152580A1 (zh) 一种在线媒体数据转换的方法、播放视频方法及相应装置
TW201517572A (zh) 一種數據處理方法、裝置及系統
WO2015176648A1 (zh) 将智能终端上的数据传输至电视终端的方法、装置
WO2013116975A1 (zh) 流媒体播放方法、设备及系统
KR101821124B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
WO2024032566A1 (zh) 无人机图传方法、系统及计算机可读存储介质
CN114025191B (zh) 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统
US9871840B2 (en) Electronic apparatus and method for transferring contents on cloud system to device connected to DLNA
CN114040232A (zh) 投屏系统、方法、电子设备和存储介质
WO2015077983A1 (zh) 在家庭网络中播放媒体的装置和方法
WO2012041039A1 (zh) 数字电视终端访问互联网视频的方法及相关设备和系统
WO2015089790A1 (zh) 业务处理方法、装置和系统
CN104639979A (zh) 视频分享方法及系统
EP2541405A1 (en) Method for transcoding and playing video files back using grid technology on devices having limited computing power

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination