CN101783936A - 一种网络图像或视频的存储方法 - Google Patents
一种网络图像或视频的存储方法 Download PDFInfo
- Publication number
- CN101783936A CN101783936A CN200910051023A CN200910051023A CN101783936A CN 101783936 A CN101783936 A CN 101783936A CN 200910051023 A CN200910051023 A CN 200910051023A CN 200910051023 A CN200910051023 A CN 200910051023A CN 101783936 A CN101783936 A CN 101783936A
- Authority
- CN
- China
- Prior art keywords
- message
- image
- video
- plug
- network
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种网络图像/视频的存储方法。该方法主要是在运行网络摄像机客户端软件的计算机上同时设置一个报文截获模块和处理模块;所述报文截获模块基于第三方报文截获插件实现,通过调用插件提供的函数接口,可以实时截获经过本地计算机的所有网络报文,并且将截获的网络报文放入自定义的缓冲区中;所述处理模块从缓冲区中提取每条报文,并根据图像/视频流的格式标准将相关的图像/视频提取出来并保存到磁盘上供后续处理与应用;同时也将产生的图像/视频数据进行实时处理,进行图像识别、告警等后续操作。
Description
技术领域:
本发明涉及一种用于存储某些型号网络摄像机产生的图像/视频数据的技术,特别涉及一种网络图像/视频的存储方法。
背景技术:
随着网络技术的发展,基于IP网络的图像/视频监控逐渐成为安防领域发展的一个热点。利用现有的IP宽带网络,可以实现在现有IP网络上传输图像/视频数据,而不用建设单独的线路。
但是某些型号的网络摄像机只能在摄像机内部的存储介质上保存图像/视频数据,而不能在客户端实现数据的实时存储。在摄像机内部的介质上存储数据存在容量方面的限制,并且不能实时将数据进行转存。
因此,现有技术存在缺陷,有待改进和发展。
发明内容:
本发明的目的在于提供一种计算机端的网络摄像机图像/视频数据实时存储方法,通过对传输过程中网络报文的分析,根据协议规格将其中的图像/数据提取并保存下来,同时可以进行后续的识别、告警等操作。
本发明通过以下技术手段来实现:
本发明方法在运行网络摄像机客户端软件的计算机上同时设置一个报文截获模块和处理模块,从而实现网络报文截获和处理两大基本功能。
其中,报文截获模块基于第三方报文截获插件实现,比如windows平台的winpcap插件或者linux平台的libpcap插件。在计算机上安装相应的报文截获插件,调用插件提供的函数接口,可以实时截获经过本地计算机的所有网络报文,并且将截获的网络报文放入自定义的缓冲区中。
另外,处理模块从缓冲区中提取每条报文,并根据图像/视频流的格式标准将相关的图像/视频提取出来并保存到磁盘上供后续处理与应用。同时也可以将产生的图像/视频数据进行实时处理,进行图像识别、告警等后续操作。
本发明提供的基于计算机的实时图像/视频存储方法可以弥补某些型号网络摄像机的在计算机端数据存储、图像/视频处理方面的缺陷。可以将网络摄像机产生的图像/视频数据实时截获并存储下来,并可以连接其它的处理模块进行后续识别、告警等操作。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明方法在实施例中所述的计算机和网络摄像机的连接图;
图2为本发明方法在实施例中所述的相关配置界面的示意图;
图3为本发明方法在实施例中所述的报文截获处理程序整体结构框图;
图4为本发明方法在实施例中所述的JPEG图像传输格式框图;
图5为本发明方法在实施例中所述的MPEG4图像传输格式框图;
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
根据上述技术方案,下面以松下公司生产的WV-NP304型网络摄像机为例,说明如何在windows平台上实现图像/视频数据的存储与后续处理。WV-NP304型网络摄像机提供了一套基于浏览器的客户端软件,但是在计算机端没有提供实时存储图像/视频及处理功能。
参见图1,显示了计算机和网络摄像机之间的连接方法,中间可以通过多个路由器或者交换机进行连接。在计算机端打开浏览器并输入摄像机的地址后可以看到摄像机产生的视频数据。
在该计算机上安装winpcap报文截获插件,并启动报文截获/处理程序。程序在启动时需要选择当前用于截获报文的网络接口及产生数据的保存路径,如图2所示:
整个程序除了主程序以外由三个部分组成:报文截获线程、缓冲区和处理线程。程序的整体结构如图3所示:
主程序在启动以后首先初始化一个环形缓冲区,每个节点具有如下的数据结构:
typedef struct_Pkt_Pool_Node_{u_char pdata[1514]; //以太网MTU=1500,加上14个字节的链路层头部struct_Pkt_Pool_Node_*pNext; //指向下一个节点的指针}Pkt_Pool_Node; |
主程序维持两个指针,分别是:
Pkt_Pool_Node**pCap;Pkt_Pool_Node**pDeal; |
这两个指针分别用来指向缓冲区数据的头部和尾部。当头部的下一个节点是尾部时,说明整个缓冲区已满,不能再向缓冲区添加数据。当尾部的下一个节点为头部时,说明整个缓冲区已空,不能再提供数据用于处理了。
主程序完成环形缓冲区的建立以后启动两个独立的线程:截获线程和处理线程。截获线程调用winpcap提供的编程接口,将经过指定网络接口的所有报文过滤以后存放到缓冲区中。可以基于IP地址以及网络端口等信息设置过滤原则。
如果缓冲区中存在可以处理的报文,那么处理线程根据网络摄像机提供的协议规格,分析并处理该报文。
WV-NP304型网络摄像机以两种方式传输报文:以HTTP报文的形式传输JPEG图像(该传输格式参见图4),以RTP报文的形式传输MPEG4视频(该传输格式参见图5)。
其中JPEG图像作为HTTP报文的内容出现,在数据流中以0xFFD8作为开始标志,以0xFFD9作为结束标志;可以通过有限状态自动机的方式从HTTP数据流中分析出图像的内容并保存下来。MPEG4码流作为RTP报文的数据出现,可以直接进行拼接操作。
可以采用指针偏移的方式分析报文的内容,如下面的代码所示:
u_char *pkt_data; //整个以太网报文的首地址
IP_HEADER *pIp_hdr;//指向IP头部的指针
TCP_HDR *pTcp_hdr;//指向TCP头部的指针
UDP_HEADER *pUdp_hdr;//指向UDP头部的指针
//初始化IP头部指针
pIp_hdr=(IP_HEADER*)(pkt_data+sizeof(ETHERNET_FRAME));
//判断具体的传输层协议,并调用具体的解码函数
if(IPPROTO_TCP==pIp_hdr->protocol)
{
//初始化TCP头结构、TCP数据部分指针
pTcp_hdr=(TCP_HDR*)(pkt_data+sizeof(ETHERNET_FRAME)+4*
(pIp_hdr->x&0x0F));
pApp_data=(u_char*)(pkt_data+sizeof(ETHERNET_FRAME)+4*
(pIp_hdr->x&0x0F)+4*((pTcp_hdr->hdr_len>>4)&0x0F));
//计算应用部分数据的长度
applen=(u_short)(ntohs(pIp_hdr->length)-4*(pIp_hdr->x&0x0F)
-4*((pTcp_hdr->hdr_len>>4)&0x0F));
//根据目标端口号和源端口号判断报文是否为HTTP报文,所有的JPEG数据都包含在服务器发送给客户端的报文中
if(IPPORT_HTTP==ntohs(pTcp_hdr->src_portno))
{
//具体的HTTP报文处理
}//end of if(IPPORT_HTTP==ntohs(pTcp_hdr->src_portno))
}
else if(IPPROTO_UDP==pIp_hdr->protocol)
{
//初始化UDP头结构、UDP数据部分指针
pUdp_hdr=(UDP_HEADER*)(pkt_data+sizeof(ETHERNET_FRAME)+4*
(pIp_hdr->x&0x0F));
pApp_data=(u_char*)(pkt_data+sizeof(ETHERNET_FRAME)+4*
(pIp_hdr->x&0x0F)+8);
//计算应用部分数据的长度
applen=(u_short)(ntohs(pIp_hdr->length)-4*(pIp_hdr->x&0x0F)
-8);
//具体的RTP报文处理
}//end of if(IPPROTO_TCP==pIp_hdr->protocol)
完成报文的分析以后可以直接将结果保存到本地磁盘或者进行后续的图像识别、告警等操作。
可以使用本专利的方法分析其它型号网络摄像机产生的数据流,只是在具体数据流的格式上会存在细微差别。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.一种网络图像或视频的存储方法,其特征在于,在运行网络摄像机客户端软件的计算机上同时设置一个报文截获模块和处理模块;所述报文截获模块基于第三方报文截获插件实现,通过调用插件提供的函数接口,可以实时截获经过本地计算机的所有网络报文,并且将截获的网络报文放入自定义的缓冲区中;所述处理模块从缓冲区中提取每条报文,并根据图像/视频流的格式标准将相关的图像/视频提取出来并保存到磁盘上供后续处理与应用;同时也将产生的图像/视频数据进行实时处理,进行图像识别、告警等后续操作。
2.根据权利要求1的网络图像或视频的存储方法,其特征在于,所述第三方报文截获插件为windows平台的winpcap插件或者linux平台的libpcap插件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910051023A CN101783936A (zh) | 2009-05-12 | 2009-05-12 | 一种网络图像或视频的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910051023A CN101783936A (zh) | 2009-05-12 | 2009-05-12 | 一种网络图像或视频的存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101783936A true CN101783936A (zh) | 2010-07-21 |
Family
ID=42523726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910051023A Pending CN101783936A (zh) | 2009-05-12 | 2009-05-12 | 一种网络图像或视频的存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101783936A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103443823A (zh) * | 2011-01-17 | 2013-12-11 | 松下电器产业株式会社 | 拍摄图像识别装置、拍摄图像识别系统以及拍摄图像识别方法 |
-
2009
- 2009-05-12 CN CN200910051023A patent/CN101783936A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103443823A (zh) * | 2011-01-17 | 2013-12-11 | 松下电器产业株式会社 | 拍摄图像识别装置、拍摄图像识别系统以及拍摄图像识别方法 |
US9842259B2 (en) | 2011-01-17 | 2017-12-12 | Panasonic Intellectual Property Management Co., Ltd. | Captured image recognition device, captured image recognition system, and captured image recognition method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104488231B (zh) | 用于有选择地监视流量的方法、设备和系统 | |
EP2774346B1 (en) | Network analysis device and method | |
CN107743228A (zh) | 视频质量检测方法、监测设备及存储介质 | |
CN108989078B (zh) | 一种视联网中节点设备故障检测方法和装置 | |
EP2898637B1 (en) | Exporting real time network traffic latency and buffer occupancy | |
US10601639B2 (en) | Multi cause correlation in wireless protocols | |
CN112565338B (zh) | 一种以太网报文捕获、过滤、存储、实时解析方法及系统 | |
Gulenko et al. | A practical implementation of in-band network telemetry in open vswitch | |
CN109525587A (zh) | 一种数据包的识别方法及装置 | |
KR101602189B1 (ko) | 10기가급 패킷 캡쳐링에 의한 트래픽 분석 및 망 감시 시스템 | |
CN110740289B (zh) | 一种获取告警的系统和方法 | |
CN107666486A (zh) | 一种基于报文协议特征的网络数据流恢复方法及系统 | |
CN109005082A (zh) | 一种利用crc校验字段捕获以太网报文的方法及装置 | |
CN106789728A (zh) | 一种基于NetFPGA的VoIP流量实时识别方法 | |
CN110061979B (zh) | 一种业务对象的检测方法和装置 | |
Chi | Intrusion detection system based on snort | |
Hurley et al. | ITACA: Flexible, scalable network analysis | |
Polychronakis et al. | Design of an application programming interface for ip network monitoring | |
CN101783936A (zh) | 一种网络图像或视频的存储方法 | |
CN105991353A (zh) | 故障定位的方法和装置 | |
CN100566266C (zh) | 具有时效性的动态双向环行tcp流缓冲区建立和执行方法 | |
WO2024037024A1 (zh) | 一种基于用户内容的遥测方法及系统 | |
CN112688924A (zh) | 网络协议分析系统 | |
CN102316074A (zh) | 基于libnids的http协议多线程还原方法 | |
CN108574609B (zh) | 一种传输监控方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20100721 |