CN106162062A - 获取监控视频的方法和系统 - Google Patents
获取监控视频的方法和系统 Download PDFInfo
- Publication number
- CN106162062A CN106162062A CN201510170243.4A CN201510170243A CN106162062A CN 106162062 A CN106162062 A CN 106162062A CN 201510170243 A CN201510170243 A CN 201510170243A CN 106162062 A CN106162062 A CN 106162062A
- Authority
- CN
- China
- Prior art keywords
- monitoring device
- video
- passage
- request
- server
- 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.)
- Granted
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种获取监控视频的方法和系统,该方法包括:第一服务器接收视频查看请求,获取对应的监控设备的第一视频数据;根据与第一视频数据对应的监控设备信息,将第一视频数据转换为标准视频流;采用RTMP协议对标准视频流进行封装;将封装后的标准视频流发送至视频查看请求的发送方。该获取监控视频的方法,通过将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
Description
技术领域
本发明涉及流媒体播放领域,特别是涉及一种获取监控视频的方法和系统。
背景技术
越来越多的视频监控系统都有B/S(浏览器/服务器模式)的页面,这能极大方便用户的使用。但很多视频监控设备的生产厂商的监控硬件使用的是自己的私有协议,用户需要使用厂商的私有协议的播放软件才能完成视频解码播放。当用户在通过网页浏览器查看监控视频时,需要下载安装监控设备厂商的控件安装包才能进行查看,使用较为繁琐,而且控件容易被网页浏览器或杀毒软件拦截,这就给用户的使用带来不便。
发明内容
基于此,有必要提供一种操作方便的获取监视视频的方法和系统。
一种获取监控视频的方法,包括:
第一服务器接收视频查看请求,视频查看请求包括请求查看的监控设备信息;
获取对应的监控设备的第一视频数据;
根据与第一视频数据对应的监控设备信息,将第一视频数据转换为标准视频流;
采用RTMP协议对标准视频流进行封装;
将封装后的标准视频流发送至视频查看请求的发送方。
在其中一种实施方式中,在第一服务器接收视频查看请求的步骤之前,还包括:
第二服务器接收登陆请求,根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
若验证通过,则根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID;
获取与用户标识关联的监控设备的通道ID对应的验证码;
将验证码和第一服务器的信息发送给登陆请求的发送方;第一服务器的信息包括第一服务器的IP地址和端口;
第一服务器接收连接请求;
第一服务器接收的视频查看请求具体包括监控设备ID和验证码,第一服务器根据验证码查找并获取与验证码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,获取与用户标识关联的监控设备的通道ID对应的验证码的步骤具体包括:查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码;若否,则生成并存储与监控设备的通道ID对应的验证码;若是,则获取存储的与用户标识关联的监控设备的通道ID对应的验证码;
在生成并存储与监控设备的通道ID对应的验证码的步骤之后还包括:将监控设备信息和验证码发送给第一服务器;第一服务器建立以验证码为任务标识的任务;接收并存储验证码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,在第一服务器接收视频查看请求的步骤之前,还包括:
第一服务器接收登陆请求,并根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
若验证通过,则根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID;
获取与用户标识关联的监控设备的通道ID对应的识别码;
第一服务器接收的视频查看请求具体包括监控设备ID和识别码;第一服务器根据识别码查找并获取与识别码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,获取与用户标识关联的监控设备的通道ID对应的识别码的步骤具体包括:查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码;若否,则第一服务器生成并存储与监控设备的通道ID对应的识别码;若是,则第一服务器获取存储的与用户标识关联的监控设备的通道ID对应的识别码;
在生成并存储与监控设备的通道ID对应的识别码的步骤之后还包括:建立以识别码为任务标识的任务;接收并存储识别码对应的监控设备的通道的第一视频数据。
一种获取监控视频的系统,包括第一服务器,第一服务器包括:
查看请求接收模块,用于接收视频查看请求,视频查看请求包括请求查看的监控设备信息;
第一获取模块,用于获取对应的监控设备的第一视频数据;
转换模块,用于根据与第一视频数据对应的监控设备信息,将第一视频数据转换为标准视频流;
RTMP模块,用于采用RTMP协议对标准视频流进行封装;
第一发送模块,用于将封装后的标准视频流发送至视频查看请求的发送方。
在其中一种实施方式中,还包括第二服务器,第二服务器与第一服务器通信连接;第二服务器包括:
第一验证模块,用于接收登陆请求,并根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
第一查找模块,用于在第一验证模块验证通过时,根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID;
第二获取模块,用于获取与用户标识关联的监控设备的通道ID对应的验证码;
第二发送模块,用于将验证码和第一服务器的信息发送给登陆请求的发送方;第一服务器的信息包括第一服务器的IP地址和端口;
第一服务器还包括:
连接接收模块,用于接收连接请求;
查看请求接收模块接收的视频查看请求具体包括监控设备ID和验证码;
第一获取模块,具体用于根据验证码查找并获取与验证码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,第一查找模块具体包括:第一查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码;
第一获取单元,用于在第一查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的验证码;
验证码生成单元,用于在第一查找单元的查找结果为否时,生成并存储与监控设备的通道ID对应的验证码;
第二发送模块,还用于将监控设备信息和验证码发送给第一服务器;
第一服务器还包括:
第一任务创建模块,用于建立以验证码为任务标识的任务;
第一存储模块,用于接收并存储验证码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,第一服务器还包括:
第二验证模块,用于接收登陆请求,并根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
第二查找模块,用于在第二验证模块验证通过时,根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID;
第三获取模块,用于获取与用户标识关联的监控设备的通道ID对应的识别码;
查看请求接收模块接收的视频查看请求具体包括监控设备ID和识别码;
第一获取模块,具体用于根据识别码查找并获取与识别码对应的监控设备的通道的第一视频数据。
在其中一种实施方式中,第二查找模块包括:
第二查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码;
第二获取单元,用于在第二查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的识别码;
识别码生成单元,用于在第二查找单元的查找结果为否时,生成并存储与监控设备的通道ID对应的识别码;
第一服务器还包括:
第二任务创建模块,用于建立以识别码为任务标识的任务;
第二存储模块,用于接收并存储识别码对应的监控设备的通道的第一视频数据。
上述获取监控视频的方法,通过将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
附图说明
图1为一种实施方式的获取监控视频的方法的流程图;
图2为另一种实施方式的获取监控视频的方法的流程图;
图3为图2的获取监控视频的方法的时序流程图;
图4为另一种实施方式的获取监控视频的方法的流程图;
图5为图4的获取监控视频的方法的时序流程图;
图6为另一种实施方式的获取监控视频的方法的流程图;
图7为图6的获取监控视频的方法的时序流程图;
图8为另一种实施方式的获取监控视频的方法的流程图;
图9为图8的获取监控视频的方法的时序流程图;
图10为一种实施方式的获取监控视频的系统的模块示意图;
图11为一种实施方式的获取监控视频的系统中的第二服务器的模块示意图;
图12为一种实施方式的获取监控视频的系统中的第一服务器的模块示意图;
图13为另一种实施方式的获取监控视频的系统中的第一服务器的模块示意图;
图14为另一种实施方式的获取监控视频的系统的第一服务器模块示意图;
图15为另一种实施方式的获取监控视频的系统的第一服务器模块示意图。
具体实施方式
如图1所示,一种获取监控视频的方法,包括:
S101:第一服务器接收视频查看请求。
视频查看请求包括请求查看的监控设备信息。
S102:获取对应的监控设备的第一视频数据。
第一服务器已预先与监控设备连接,监控设备将采集的视频和音频根据厂家的私有协议编码生成第一视频数据实时发送给第一服务器。根据接收到的请求查看的监控设备信息查找并获取对应的监控设备的第一视频数据。
S103:根据与第一视频数据对应的监控设备信息,将第一视频数据转换为标准视频流。
不同监控设备的生产厂家所采用的协议不同,当获取到第一视频数据时,第一服务器根据第一视频数据对应的监控设备信息,如监控设备的名称,使用对应的解码器对第一视频数据进行解码,生成标准视频流。
S104:采用RTMP协议对标准视频流进行封装。
RTMP(Real Time Messaging Protocol)协议,即实时消息传输协议,该协议基于TCP(Transmission Control Protocol传输控制协议),主要用来在FLASH平台和支持RTMP协议的流媒体之间进行音视频和数据通信。而且目前应用最广泛的流媒体为FLASH流媒体,网页浏览器都直接支持FLASH视频流的播放。
S105:将封装后的标准视频流发送至视频查看请求的发送方。
上述获取监控视频的方法,通过将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
如图2和图3所示,在具体的实施方式中,一种获取监控视频的方法,包括以下步骤:
S201:第二服务器接收登陆请求,根据登陆请求携带的用户标识验证用户是否有查看监控视频的权限。
用户预先进行注册,注册成功后填写与用户相关的监控设备的信息,并将用户与监控设备信息关联。监控设备信息包括:监控设备名称,设备ID,监控通道和通道ID等。在用户进行登陆时,根据登陆请求携带的用户标识验证用户是否有查看监控视频的权限,只有预先注册成功的用户才有查看监控视频的权限。
若验证成功,则执行步骤S202:根据用户标识查找预先存储的与用户标识对应的监控设备信息。
此处的用户识标可以为用户名,也可以为用户在注册时生成的用户ID,由于已事先建立用户与监控设备信息之间的关联,通过用户标识可获取对应的监控设备信息,监控设备信息包括:监控设备名称,设备ID,监控通道和通道ID等。
S203:获取与用户标识关联的监控设备的通道ID对应的验证码。
监控设备的每一通道ID有不同的验证码,若与用户标识对应的监控设备有多个通道,则获取多个验证码。
S204:将验证码和第一服务器的信息发送给登陆请求的发送方。
在用户权限验证通过后,第二服务器还将验证码和第一服务器的信息发送给登陆请求的发送方。第一服务器的信息包括第一服务器的IP地址和端口。
S205:第一服务器接收用户端的连接请求。
用户登陆成功后,获得第一服务器的IP地址和端口,根据该IP地址和端口与第一服务器进行通信,请求连接第一服务器。在一个具体的实施例中,请求的格式可以为:
rtmp://RelaySrvIP:RelaySrvPort/simpleLive。
S206:接收视频查看请求。
用户端在与第一服务器连接成功后,向第一服务器发送视频查看请求。视频查看请求具体包括监控设备ID和验证码,在一个具体的实施例中,查看请求的格式可以为:
dvsLive/验证码/设备ID。
S207:第一服务器根据验证码查找并获取与验证码对应的监控设备的通道的第一视频数据。
第一服务器已预先与监控设备建立关联,实时接收并存储监控设备的不同通道的视频数据,并以每个通道对应的验证码为标识。当第一服务器接收到查看请求时,根据查看请求的验证码查找并获取与验证码对应的监控设备的通道的第一视频数据。
S208:将第一视频数据转换为标准视频流。
标准视频流的标准为H.264或MPEG-4。
将第一视频数据转换为标准视频流时,根据第一视频数据对应的监控设备的信息进行相应的转换成H.264格式的标准视频流或MPEG-4格式的视频流。本实施方式以H.264格式的视频流为例,不同监控设备的生产厂家所采用的协议不同,当获取到第一视频数据时,第一服务器根据第一视频数据对应的监控设备信息,如监控设备的名称,使用对应的解码器对第一视频数据进行解码,生成H.264格式的视频流。
S209:采用RTMP协议对标准视频流进行封装。
S210:将封装后的标准视频流发送至视频查看请求的发送方。
应当理解的是,考虑到数据庞大,为提高服务器的处理效率和响应速度,本发明采用分布式的架构,由第二服务器进行权限验证,第一服务器进行视频转换。采用分布式的架构,随着数据的不断增加,可相应增加服务器数量,由第二服务器进行分配,发送相应的服务器的IP地址和端口给用户端,用户端再与分配的服务器进行连接。
上述的获取监控视频的方法,采用分布式的架构,通过预先建立用户与监控设备之间的关联,第二服务器用于验证请求用户的权限,在验证请求用户有查看视频的权限后,将相关信息发送分别发送给第一服务器和用户端,用户端向第一服务器请求查看视频,第一服务器将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。对于想在自己网站上展示产品、展示公司形象、网页视频监控等等应用需求的用户来说,使用上述方法,无需安装其它控件,即可轻松完成网站嵌入需求。
在另一种实施方式中,如图4和图5所示,步骤S203具体包括:
S2031:查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码。
若是,则执行步骤S2032:获取存储的与用户标识关联的监控设备的通道ID对应的验证码,并继续执行S204及其之后的步骤。
若否,则执行步骤S2033:生成并存储与监控设备的通道ID对应的验证码。
生成监控设备的通道ID对应的验证码后还将存储该验证码,用户每次请求查看该通道对应的视频数据时,使用的是相同的验证码,且多个用户请求查看该通道对应的视频数据时,使用的是相同的验证码。
在步骤S2033之后还包括步骤:
S2034:将监控设备信息和验证码发送给第一服务器。
S2035:第一服务器建立以验证码为任务标识的任务。
S2036:接收并存储验证码对应的监控设备的通道的第一视频数据。
用户首次关联监控设备的某一通道时,第一服务器还未获取该通道的数据,则第二服务器在验证请求用户权限通过后,将生成监控设备的通道ID对应的验证码,并将监控设备信息和验证码发送给第一服务器,第一服务器创建以验证码为任务标识的任务,第一服务器实时存储监控设备发送对应通道的第一视频数据。当接收到视频查看请求时,根据查看请求的验证码查找并获取该验证码对应的监控设备的通道的第一视频数据。
在步骤S2036后继续执行步骤S204及其之后的步骤。需要注意的是,上述执行步骤的标号并不用于限定执行的步骤的顺序,以本实施方式为例,在验证用户具有查看监控视频的权限并生成验证码后,第二服务器将验证码和第一服务器的信息发送给用户端,第二服务器还将监控设备信息和验证码发送给第一服务器,都是由第二服务器执行,执行顺序不做限定。
如图6和图7所示,本发明还提供另一种获取监控视频的方法,包括以下步骤:
S301:第一服务器接收登陆请求,并根据登陆请求携带的用户标识验证用户是否有查看监控视频的权限。
若验证通过,则执行步骤S302:根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID。
S303:获取与用户标识关联的监控设备的通道ID对应的识别码。
S304:接收视频查看请求。
视频查看请求具体包括监控设备ID和识别码。
S305:第一服务器根据识别码查找并获取与识别码对应的监控设备的通道的第一视频数据。
S306:将第一视频数据转换为标准视频流。
S307:采用RTMP协议对标准视频流进行封装。
S308:将封装后的标准视频流发送至视频查看请求的发送方。
本实施方式中,仅采用一个服务器进行验证和转换,识别码用于区分识别不同监控设备的通道的第一视频数据,第一服务器在获取与用户关联的监控设备的通道ID对应的识别码后,根据识别码查找并获取对应的监控设备的通道的第一视频数据,并将第一视频数据转换为标准视频流,采用RTMP协议封装后发送至视频查看请求的发送方。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
如图8和图9所示,具体的,S303包括以下步骤:
S3031:查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码。
若是,则执行步骤S3032:获取存储的与用户标识关联的监控设备的通道ID对应的识别码,并继续执行步骤S204及其之后的步骤。
若否,则执行步骤S3033:生成并存储与监控设备的通道ID对应的识别码。
生成监控设备的通道ID对应的识别码后还将存储该识别码,用户每次请求查看该通道对应的视频数据时,使用的是相同的识别码,且多个用户请求查看该通道对应的视频数据时,使用的是相同的识别码。
在步骤S3033之后还包括步骤:
S3034:建立以识别码为任务标识的任务;
S3035:接收并存储识别码对应的监控设备的通道的第一视频数据。
在步骤S3035后继续执行步骤S304及其之后的步骤。
上述获取监控视频的方法,仅使用一台服务器,用户首次关联监控设备的某一通道时,第一服务器还未获取该通道的数据,则第一服务器在验证用户权限通过后,将生成监控设备的通道ID对应的识别码,第一服务器创建以识别码为任务标识的任务,第一服务器实时存储监控设备发送对应通道的第一视频数据。在获取识别码对应的监控设备的通道的第一视频数据后,转换为标准视频流并采用RTMP协议封装后发送至用户端显示。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
基于相同的发明构思,本发明还提供一种获取监控视频的系统。
一种获取监控视频的系统,包括第一服务器,如图10所示,第一服务器10包括:
查看请求接收模块11,用于接收视频查看请求。
视频查看请求包括请求查看的监控设备信息。
第一获取模块12,用于获取对应的监控设备的第一视频数据。
第一服务器已预先与监控设备连接,监控设备将采集的视频和音频根据厂家的私有协议编码生成第一视频数据实时发送给第一服务器。根据接收到的请求查看的监控设备信息查找并获取对应的监控设备的第一视频数据。
转换模块13,用于根据与第一视频数据对应的监控设备信息,将第一视频数据转换为标准视频流。
不同监控设备的生产厂家所采用的协议不同,当获取到第一视频数据时,第一服务器根据第一视频数据对应的监控设备信息,如监控设备的名称,使用对应的解码器对第一视频数据进行解码,生成标准视频流。
RTMP模块14,用于采用RTMP协议对标准视频流进行封装。
RTMP(Real Time Messaging Protocol)协议,即实时消息传输协议,该协议基于TCP(Transmission Control Protocol传输控制协议),主要用来在FLASH平台和支持RTMP协议的流媒体之间进行音视频和数据通信。而且目前应用最广泛的流媒体为FLASH流媒体,网页浏览器都直接支持FLASH视频流的播放。
第一发送模块15,用于将封装后的标准视频流发送至视频查看请求的发送方。
上述获取监控视频的系统,通过将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
在具体的实施方式中,一种获取监控视频的系统,还包括:
第二服务器20,第二服务器20与第一服务器10通信连接。
如图11所示,第二服务器20包括:
第一验证模块201,用于接收登陆请求,并根据登陆请求携带的用户标识验证用户是否有查看监控视频的权限。
用户预先进行注册,注册成功后填写与用户相关的监控设备的信息,并将用户与监控设备信息关联。监控设备信息包括:监控设备名称,设备ID,监控通道和通道ID等。在用户进行登陆时,根据登陆请求携带的用户标识验证用户是否有查看监控视频的权限,只有预先注册成功的用户才有查看监控视频的权限。
第一查找模块202,用于在第一验证模块201验证通过时,根据用户标识查找预先存储的与用户标识对应的监控设备信息。
此处的用户识标可以为用户名,也可以为用户在注册时生成的用户ID,由于已事先建立用户与监控设备信息之间的关联,通过用户标识可获取对应的监控设备信息,监控设备信息包括:监控设备名称,设备ID,监控通道和通道ID等。
第二获取模块203,用于获取与用户标识关联的监控设备的通道ID对应的验证码。
监控设备的每一通道ID有不同的验证码,若与用户标识对应的监控设备有多个通道,则获取多个验证码。
第二发送模块204,用于将验证码和第一服务器的信息发送给登陆请求的发送方。第一服务器的信息包括第一服务器的IP地址和端口。
在用户权限验证通过后,第二服务器还将验证码和第一服务器的信息发送给登陆请求的发送方。第一服务器的信息包括第一服务器的IP地址和端口。
如图12所示,第一服务器10包括:
连接接收模块111,用于接收用户端的连接请求。
用户端在获取第一服务器的IP地址和端口后,与第一服务器进行通信,请求连接第一服务器。在一个具体的实施例中,请求的格式可以为:
rtmp://RelaySrvIP:RelaySrvPort/simpleLive。
查看请求接收模块112接收的视频查看请求具体包括监控设备ID和验证码。
用户端在与第一服务器连接成功后,向第一服务器发送视频查看请求。视频查看请求具体包括监控设备ID和验证码,在一个具体的实施例中,查看请求的格式可以为:
dvsLive/验证码/设备ID。
第一获取模块113,具体用于根据验证码查找并获取与验证码对应的监控设备的通道的第一视频数据。
第一服务器已预先与监控设备建立关联,实时接收并存储监控设备的不同通道的视频数据,并以每个通道对应的验证码为标识。当第一服务器接收到查看请求时,根据查看请求的验证码查找并获取验证码对应的监控设备的通道的第一视频数据。
转换模块114,用于将第一视频数据转换为标准视频流,标准视频流的格式为H.264或MPEG-4。
将第一视频数据转换为标准视频流时,根据第一视频数据对应的监控设备的信息进行相应的转换成H.264格式的标准视频流或MPEG-4格式的视频流。本实施方式以H.264格式的视频流为例,不同监控设备的生产厂家所采用的协议不同,当获取到第一视频数据时,第一服务器根据第一视频数据对应的监控设备信息,如监控设备的名称,对第一视频数据进行解码,生成H.264格式的视频流。
可以理解的是,转换模块114中有多个与不同监控设备信息相匹配的转换单元,获取到第一视频数据后,根据第一视频数据对应的监控设备信息选择匹配的转换单元进行转换,转换为标准视频流。
RTMP模块115,用于采用RTMP协议对标准视频流进行封装。
第一发送模块116,用于将封装后的标准视频流发送至视频查看请求的发送方。
应当理解的是,考虑到数据庞大,为提高服务器的处理效率和响应速度,本发明采用分布式的架构,由第二服务器进行权限验证,第一服务器进行视频转换。采用分布式的架构,随着数据的不断增加,可相应增加服务器数量,由第二服务器进行分配,发送相应的服务器的IP地址和端口给视频查看请求的发送方,视频查看请求的发送方再与分配的服务器进行连接。
上述的获取监控视频的系统,采用分布式的架构,通过预先建立用户与监控设备之间的关联,第二服务器用于验证请求用户的权限,在验证请求用户有查看视频的权限后,将相关信息发送分别发送给第一服务器和用户端,用户端向第一服务器请求查看视频,第一服务器将根据监控设备厂家私有协议编码形成的第一视频数据进行转换,转换为标准视频流,再将标准视频流采用RTMP协议进行封装。由于,FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。对于想在自己网站上展示产品、展示公司形象、网页视频监控等等应用需求的用户来说,使用上述方法,无需安装其它控件,即可轻松完成网站嵌入需求。
具体的,第一查找模块202具体包括:
第一查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码。
验证码生成单元,用于在第一查找单元的查找结果为否时,生成并存储与监控设备的通道ID对应的验证码。
第一获取单元,用于在第一查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的验证码。
生成监控设备的通道ID对应的验证码后还将存储该验证码,用户每次请求查看该通道对应的视频数据时,使用的是相同的验证码,且多个用户请求查看该通道对应的视频数据时,使用的是相同的验证码。
第二发送模块204,还用于将监控设备信息和验证码发送给第一服务器。
如图13所示,第一服务器10还包括:
第一任务创建模块117,用于建立以验证码为任务标识的任务。
第一存储模块118,用于接收并存储验证码对应的监控设备的通道的第一视频数据。
用户首次关联监控设备的某一通道时,第一服务器还未获取该通道的数据,则第二服务器在验证请求用户权限通过后,将生成监控设备的通道ID对应的验证码,并将监控设备信息和验证码发送给第一服务器,第一服务器创建以验证码为任务标识的任务,第一服务器实时存储监控设备发送对应通道的第一视频数据。当接收到视频查看请求时,根据查看请求的验证码查找并获取该验证码对应的监控设备的通道的第一视频数据。
如图14所示,在另一实施方式中,第一服务器10还包括:
第二验证模块306,用于接收登陆请求,并根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限。
第二查找模块307,用于在第二验证模块306验证通过时,根据用户标识查找预先存储的与用户标识对应的监控设备信息,监控设备信息包括监控设备ID和通道ID。
第三获取模块308,用于获取与用户标识关联的监控设备的通道ID对应的识别码。
查看请求接收模块301接收的视频查看请求具体包括监控设备ID和识别码。
第一获取模块302具体用于根据识别码查找并获取与识别码对应的监控设备的通道的第一视频数据。
转换模块303,用于将第一视频数据转换为标准视频流,标准视频流的格式为H.264或MPEG-4。
可以理解的是,转换模块303中有多个与不同监控设备信息相匹配的转换单元,获取到第一视频数据后,根据第一视频数据对应的监控设备信息选择匹配的转换单元进行转换,转换为标准视频流。
RTMP模块304,用于采用RTMP协议对标准视频流进行封装。
第一发送模块305,用于将封装后的标准视频流发送至视频查看请求的发送方。
本实施方式中,仅采用一个服务器进行验证和转换,识别码用于区分识别不同监控设备的通道的第一视频数据,第一服务器在获取与用户关联的监控设备的通道ID对应的识别码后,根据识别码查找并获取对应的监控设备的通道的第一视频数据,并将第一视频数据转换为标准视频流,采用RTMP协议封装后发送至用户端显示。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
具体的,第二查找模块307包括:
第二查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码。
第二获取单元,用于在第二查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的识别码。
识别码生成单元,用于在第二查找单元的查找结果为否时,生成并存储与监控设备的通道ID对应的识别码。
如图15所示,第一服务器还包括:
第二任务创建模块309,用于建立以识别码为任务标识的任务。
第二存储模块310,用于接收并存储识别码对应的监控设备的通道的第一视频数据。
上这获取监控视频的系统,仅使用一台服务器,用户首次关联监控设备的某一通道时,第一服务器还未获取该通道的数据,则第一服务器在验证用户权限通过后,将生成监控设备的通道ID对应的识别码,第一服务器创建以识别码为任务标识的任务,第一服务器实时存储监控设备发送对应通道的第一视频数据。在获取识别码对应的监控设备的通道的第一视频数据后,转换为标准视频流并采用RTMP协议封装后发送至用户端显示。由于FLASH流媒体为目前应用最广泛的流媒体,网页浏览器都直接支持FLASH视频流的播放,当用户在网页上查看相应的监控视频时,无需下载厂家的控件即可在网页上直接用FLASH播放器播放,给用户带来极大的便捷。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种获取监控视频的方法,包括:
第一服务器接收视频查看请求,所述视频查看请求包括请求查看的监控设备信息;
获取对应的监控设备的第一视频数据;
根据与所述第一视频数据对应的监控设备信息,将所述第一视频数据转换为标准视频流;
采用RTMP协议对所述标准视频流进行封装;
将封装后的标准视频流发送至视频查看请求的发送方。
2.根据权利要求1所述的获取监控视频的方法,其特征在于,在所述第一服务器接收视频查看请求的步骤之前,还包括:
第二服务器接收登陆请求,根据所述登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
若验证通过,则根据用户标识查找预先存储的与所述用户标识对应的监控设备信息,所述监控设备信息包括监控设备ID和通道ID;
获取与用户标识关联的监控设备的通道ID对应的验证码;
将验证码和第一服务器的信息发送给登陆请求的发送方;所述第一服务器的信息包括第一服务器的IP地址和端口;
第一服务器接收连接请求;
所述第一服务器接收的视频查看请求具体包括监控设备ID和验证码,所述第一服务器根据所述验证码查找并获取与所述验证码对应的监控设备的通道的所述第一视频数据。
3.根据权利要求2所述的获取监控视频的方法,其特征在于:
所述获取与用户标识关联的监控设备的通道ID对应的验证码的步骤具体包括:查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码;若否,则生成并存储与所述监控设备的通道ID对应的验证码;若是,则获取存储的与用户标识关联的监控设备的通道ID对应的验证码;
在所述生成并存储与所述监控设备的通道ID对应的验证码的步骤之后还包括:将所述监控设备信息和验证码发送给第一服务器;第一服务器建立以所述验证码为任务标识的任务;接收并存储验证码对应的监控设备的通道的第一视频数据。
4.根据权利要求1所述的获取监控视频的方法,其特征在于,
在所述第一服务器接收视频查看请求的步骤之前,还包括:
第一服务器接收登陆请求,并根据所述登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
若验证通过,则根据用户标识查找预先存储的与所述用户标识对应的监控设备信息,所述监控设备信息包括监控设备ID和通道ID;
获取与用户标识关联的监控设备的通道ID对应的识别码;
所述第一服务器接收的视频查看请求具体包括监控设备ID和识别码,所述第一服务器根据所述识别码查找并获取与所述识别码对应的监控设备的通道的所述第一视频数据。
5.根据权利要求4所述的获取监控视频的方法,其特征在于,
所述获取与用户标识关联的监控设备的通道ID对应的识别码的步骤具体包括:查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码;若否,则第一服务器生成并存储与所述监控设备的通道ID对应的识别码;若是,则第一服务器获取存储的与用户标识关联的监控设备的通道ID对应的识别码;
在所述生成并存储与所述监控设备的通道ID对应的识别码的步骤之后还包括:建立以所述识别码为任务标识的任务;接收并存储识别码对应的监控设备的通道的第一视频数据。
6.一种获取监控视频的系统,其特征在于,包括第一服务器,所述第一服务器包括:
查看请求接收模块,用于接收视频查看请求,所述视频查看请求包括请求查看的监控设备信息;
第一获取模块,用于获取对应的监控设备的第一视频数据;
转换模块,用于根据与所述第一视频数据对应的监控设备信息,将所述第一视频数据转换为标准视频流;
RTMP模块,用于采用RTMP协议对所述标准视频流进行封装;
第一发送模块,用于将封装后的标准视频流发送至视频查看请求的发送方。
7.根据权利要求6所述的获取监控视频的系统,其特征在于,还包括第二服务器,所述第二服务器与所述第一服务器通信连接;所述第二服务器包括:
第一验证模块,用于接收登陆请求,并根据登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
第一查找模块,用于在所述第一验证模块验证通过时,根据用户标识查找预先存储的与所述用户标识对应的监控设备信息,所述监控设备信息包括监控设备ID和通道ID;
第二获取模块,用于获取与用户标识关联的监控设备的通道ID对应的验证码;
第二发送模块,用于将验证码和第一服务器的信息发送给登陆请求的发送方;所述第一服务器的信息包括第一服务器的IP地址和端口;
所述第一服务器还包括:
连接接收模块,用于接收连接请求;
所述查看请求接收模块接收的视频查看请求具体包括监控设备ID和验证码;
所述第一获取模块,具体用于根据所述验证码查找并获取与所述验证码对应的监控设备的通道的所述第一视频数据。
8.根据权利要求7所述的获取监控视频的系统,其特征在于:
所述第一查找模块具体包括:第一查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的验证码;
第一获取单元,用于在第一查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的验证码;
验证码生成单元,用于在第一查找单元的查找结果为否时,生成并存储与所述监控设备的通道ID对应的验证码;
所述第二发送模块,还用于将所述监控设备信息和验证码发送给第一服务器;
所述第一服务器还包括:
第一任务创建模块,用于建立以所述验证码为任务标识的任务;
第一存储模块,用于接收并存储验证码对应的监控设备的通道的第一视频数据。
9.根据权利要求6所述的获取监控视频的系统,其特征在于,所述第一服务器还包括:
第二验证模块,用于接收登陆请求,并根据所述登陆请求携带的用户标识验证请求用户是否有查看监控视频的权限;
第二查找模块,用于在所述第二验证模块验证通过时,根据用户标识查找预先存储的与所述用户标识对应的监控设备信息,所述监控设备信息包括监控设备ID和通道ID;
第三获取模块,用于获取与用户标识关联的监控设备的通道ID对应的识别码;
所述查看请求接收模块接收的视频查看请求具体包括监控设备ID和识别码;
所述第一获取模块,具体用于根据所述识别码查找并获取与所述识别码对应的监控设备的通道的所述第一视频数据。
10.根据权利要求9所述的获取监控视频的系统,其特征在于,
所述第二查找模块包括:
第二查找单元,用于查找是否存储有与用户标识关联的监控设备的通道ID对应的识别码;
第二获取单元,用于在第二查找单元的查找结果为是时,获取存储的与用户标识关联的监控设备的通道ID对应的识别码;
识别码生成单元,用于在第二查找单元的查找结果为否时,生成并存储与所述监控设备的通道ID对应的识别码;
所述第一服务器还包括:
第二任务创建模块,用于建立以所述识别码为任务标识的任务;
第二存储模块,用于接收并存储识别码对应的监控设备的通道的第一视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510170243.4A CN106162062B (zh) | 2015-04-10 | 2015-04-10 | 获取监控视频的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510170243.4A CN106162062B (zh) | 2015-04-10 | 2015-04-10 | 获取监控视频的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106162062A true CN106162062A (zh) | 2016-11-23 |
CN106162062B CN106162062B (zh) | 2019-05-31 |
Family
ID=57336702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510170243.4A Expired - Fee Related CN106162062B (zh) | 2015-04-10 | 2015-04-10 | 获取监控视频的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106162062B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206934A (zh) * | 2016-12-16 | 2018-06-26 | 北京视联动力国际信息技术有限公司 | 一种监控视频共享方法和装置 |
CN108881814A (zh) * | 2017-08-01 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 视联网终端与网络摄像头通信的方法、装置以及交互系统 |
CN108881815A (zh) * | 2017-08-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种视频数据的传输方法和装置 |
CN109168031A (zh) * | 2018-11-06 | 2019-01-08 | 杭州云英网络科技有限公司 | 流媒体推送方法及装置、流媒体平台 |
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
CN109218839A (zh) * | 2017-07-07 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 视频播放方法及装置 |
CN109660764A (zh) * | 2018-12-24 | 2019-04-19 | 武汉长江通信智联技术有限公司 | 基于html5的车辆实时视频的监控方法、装置及系统 |
CN109698935A (zh) * | 2017-10-24 | 2019-04-30 | 中国移动通信有限公司研究院 | 监控视频加密解密方法及装置、设备、存储介质、系统 |
CN110087028A (zh) * | 2019-04-17 | 2019-08-02 | 视联动力信息技术股份有限公司 | 一种web视频组件获取视频流的方法和系统 |
CN110149358A (zh) * | 2019-03-27 | 2019-08-20 | 西安万像电子科技有限公司 | 数据传输方法、系统及装置 |
CN110166433A (zh) * | 2019-04-17 | 2019-08-23 | 视联动力信息技术股份有限公司 | 一种视频数据获取的方法和系统 |
CN110213531A (zh) * | 2019-05-06 | 2019-09-06 | 视联动力信息技术股份有限公司 | 监控录像处理方法及装置 |
CN110381344A (zh) * | 2018-11-27 | 2019-10-25 | 北京京东尚科信息技术有限公司 | 无人配送车视频流上传方法、装置及存储介质和电子设备 |
CN112995714A (zh) * | 2021-04-08 | 2021-06-18 | 天津天地伟业智能安全防范科技有限公司 | 私有视频流转换rtmp标准流的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060280303A1 (en) * | 2005-06-10 | 2006-12-14 | Aniruddha Gupte | Encryption method and apparatus for use in digital distribution system |
CN101893216A (zh) * | 2010-07-14 | 2010-11-24 | 深圳市华星光电技术有限公司 | 背光模块的灯管支撑架 |
CN102143352A (zh) * | 2010-02-02 | 2011-08-03 | 捷达世软件(深圳)有限公司 | 监控视频播放系统及方法 |
CN103209158A (zh) * | 2012-01-12 | 2013-07-17 | 深圳市宇初网络技术有限公司 | 一种第三方验证方法以及系统 |
CN103581699A (zh) * | 2013-11-04 | 2014-02-12 | 广州华工信元通信技术有限公司 | 视频播放方法、流媒体服务器及流媒体播放系统 |
-
2015
- 2015-04-10 CN CN201510170243.4A patent/CN106162062B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060280303A1 (en) * | 2005-06-10 | 2006-12-14 | Aniruddha Gupte | Encryption method and apparatus for use in digital distribution system |
CN102143352A (zh) * | 2010-02-02 | 2011-08-03 | 捷达世软件(深圳)有限公司 | 监控视频播放系统及方法 |
CN101893216A (zh) * | 2010-07-14 | 2010-11-24 | 深圳市华星光电技术有限公司 | 背光模块的灯管支撑架 |
CN103209158A (zh) * | 2012-01-12 | 2013-07-17 | 深圳市宇初网络技术有限公司 | 一种第三方验证方法以及系统 |
CN103581699A (zh) * | 2013-11-04 | 2014-02-12 | 广州华工信元通信技术有限公司 | 视频播放方法、流媒体服务器及流媒体播放系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206934A (zh) * | 2016-12-16 | 2018-06-26 | 北京视联动力国际信息技术有限公司 | 一种监控视频共享方法和装置 |
CN109218839A (zh) * | 2017-07-07 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 视频播放方法及装置 |
CN109218839B (zh) * | 2017-07-07 | 2021-09-03 | 杭州海康威视数字技术股份有限公司 | 视频播放方法及装置 |
CN108881814A (zh) * | 2017-08-01 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 视联网终端与网络摄像头通信的方法、装置以及交互系统 |
CN108881815A (zh) * | 2017-08-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种视频数据的传输方法和装置 |
CN108881815B (zh) * | 2017-08-30 | 2021-01-01 | 视联动力信息技术股份有限公司 | 一种视频数据的传输方法和装置 |
CN109698935A (zh) * | 2017-10-24 | 2019-04-30 | 中国移动通信有限公司研究院 | 监控视频加密解密方法及装置、设备、存储介质、系统 |
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
CN109168031A (zh) * | 2018-11-06 | 2019-01-08 | 杭州云英网络科技有限公司 | 流媒体推送方法及装置、流媒体平台 |
CN109168031B (zh) * | 2018-11-06 | 2021-12-24 | 杭州云毅网络科技有限公司 | 流媒体推送方法及装置、流媒体平台 |
CN110381344A (zh) * | 2018-11-27 | 2019-10-25 | 北京京东尚科信息技术有限公司 | 无人配送车视频流上传方法、装置及存储介质和电子设备 |
CN109660764A (zh) * | 2018-12-24 | 2019-04-19 | 武汉长江通信智联技术有限公司 | 基于html5的车辆实时视频的监控方法、装置及系统 |
CN110149358A (zh) * | 2019-03-27 | 2019-08-20 | 西安万像电子科技有限公司 | 数据传输方法、系统及装置 |
CN110166433A (zh) * | 2019-04-17 | 2019-08-23 | 视联动力信息技术股份有限公司 | 一种视频数据获取的方法和系统 |
CN110087028A (zh) * | 2019-04-17 | 2019-08-02 | 视联动力信息技术股份有限公司 | 一种web视频组件获取视频流的方法和系统 |
CN110166433B (zh) * | 2019-04-17 | 2021-10-08 | 视联动力信息技术股份有限公司 | 一种视频数据获取的方法和系统 |
CN110213531A (zh) * | 2019-05-06 | 2019-09-06 | 视联动力信息技术股份有限公司 | 监控录像处理方法及装置 |
CN112995714A (zh) * | 2021-04-08 | 2021-06-18 | 天津天地伟业智能安全防范科技有限公司 | 私有视频流转换rtmp标准流的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106162062B (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106162062A (zh) | 获取监控视频的方法和系统 | |
CN108901056B (zh) | 用于交互信息的方法和装置 | |
CN101505317B (zh) | 流式媒体中断与恢复系统 | |
CN101159577B (zh) | 接收自适应广播信号的装置及其方法 | |
CN105682253A (zh) | 建立通信的方法、设备、终端和计算机可读存储介质 | |
MX2013002076A (es) | Dispositivo de recepcion metodo de recepcion, y programa. | |
CN102143129B (zh) | 超文本传输协议流媒体传输中实现业务保护的方法和系统 | |
CN105430431B (zh) | 多媒体数据播放方法及装置 | |
CN102546781B (zh) | 课程资源播放方法和课程资源播放系统 | |
CN103067174A (zh) | 一种在移动操作系统中完成数字签名的方法和系统 | |
CN102164312A (zh) | 一种交互式网络电视中机顶盒配置方法和系统 | |
CN103078683B (zh) | 一种文件传输方法及系统 | |
CN109495350B (zh) | 局数据的核查方法、装置和存储介质 | |
CN105580386A (zh) | 接收设备、广播设备、服务器设备以及接收方法 | |
US9363562B1 (en) | Method and system for authorizing a user device | |
CN111131849B (zh) | 流媒体直播播放方法、装置及计算机可读存储介质 | |
EP2713297A1 (en) | Broadcast/communication linking receiver apparatus and resource managing apparatus | |
CN106534986B (zh) | 基于广电网络的数据交互方法、装置及机顶盒 | |
CN102075933B (zh) | 在智能终端上运行应用软件的方法、系统及相关设备 | |
CN101159846A (zh) | 一种限定终端访问地址的方法、装置和系统 | |
CN108965939A (zh) | 媒体数据处理方法、装置、系统及可读存储介质 | |
CN108564971B (zh) | 音频播放方法及装置 | |
CN102857586B (zh) | 动态获取数字电视系统入口地址的方法、设备及系统 | |
US20080256176A1 (en) | Internet radio system and the broadcasting method thereof | |
CN111711502A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190531 |