CN112040269B - 视频数据展示方法、装置、终端设备及存储介质 - Google Patents
视频数据展示方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112040269B CN112040269B CN202010935388.XA CN202010935388A CN112040269B CN 112040269 B CN112040269 B CN 112040269B CN 202010935388 A CN202010935388 A CN 202010935388A CN 112040269 B CN112040269 B CN 112040269B
- Authority
- CN
- China
- Prior art keywords
- video
- grpc
- data
- client
- request
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006854 communication Effects 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 29
- 238000012916 structural analysis Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000002159 abnormal effect Effects 0.000 abstract description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请适用于大数据技术领域,提供了一种视频数据展示方法、装置、终端设备及存储介质,其中,通过采用gRPC通信框架,使得服务器与客户端之间无需考虑底层网络细节、网络异常情况和负载情况,提高了视频展示效率,通过接收gRPC视频请求指令,能有效的查询到目标视频源,进而保障了视频数据的获取,通过对视频数据进行视频解码,保障了对视频数据的结构化分析,通过以服务端数据流模式将视频结构化数据和视频数据发送至客户端,有效的保障了视频结构化数据和视频数据传输过程中数据完整性,进而提高了视频展示的准确性。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种视频数据展示方法、装置、终端设备及存储介质。
背景技术
视频(如行人轨迹追踪、人脸识别、视频结构化等)展示系统基本都是客户端/服务端架构。服务端一般部署在集团机房中带有GPU(Graphic Processing Unit,图形处理器)显卡算法服务器上,客户端可部署在Windows展示/演示主机终端,无需GPU显卡,可同时支持多种展示终端。由机房中带有GPU显卡的服务器分析视频源获取视频结构化数据,然后服务器端将视频帧及视频结构化实时数据推送给客户端,由客户端展示实时视频及视频结构化数据。
现有技术中,视频展示过程中的客户端与服务器之间的通信直接采用底层传输控制协议(TCP)或网际互连协议(IP)通信架构,使得需要了解很多传输控制协议或网际互连协议底层网络细节,需要考虑网络异常情况和负载情况,进而导致视频展示效率低下。
发明内容
有鉴于此,本申请实施例提供了一种视频数据展示方法、装置、终端设备及存储介质,以解决现有技术在视频展示过程中,由于客户端与服务器之间的通信需要考虑网络异常情况和负载情况,所导致视频展示效率低下的问题。
本申请实施例的第一方面提供了一种视频数据展示方法,应用于任一服务器,所述服务器与客户端之间采用gRPC通信框架,包括:
接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源;
获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧;
对所述视频帧进行结构化分析,得到视频结构化数据;
以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示。
进一步地,所述对所述视频数据进行视频解码,得到视频帧包括:
对所述视频数据进行解封装,得到视频文件,并获取所述视频文件中的视频流;
查询所述视频文件中所述视频流的索引位置,并根据所述索引位置获取解码器上下文;
根据所述解码器上下文查询解码器ID,并根据所述解码器ID获取解码器;
运行获取到的所述解码器,并根据所述解码器对所述视频流进行解码,得到所述视频帧。
进一步地,所述接收所述客户端发送的gRPC视频请求指令之前,还包括:
查询预设接口文件,并根据所述预设接口文件生成gRPC接口,所述预设接口文件包括接口基本信息、请求参数信息和响应信息,所述接口基本信息包括接口名称、接口URL、请求方法和描述信息,所述请求参数信息包括请求头信息和请求体信息,所述响应信息包括响应返回的数据类型;
将所述gRPC接口的接口URL发送至所述客户端。
进一步地,所述根据所述gRPC视频请求指令进行视频源查询,得到目标视频源包括:
对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验;
若所述gRPC请求消息头合法性校验合格,则获取所述gRPC视频请求指令中的gRPC请求消息体;
对所述gRPC请求消息体进行解码,得到gRPC解码信息,并获取所述gRPC解码信息中的视频源地址;
根据所述视频源地址进行视频源查询,得到所述目标视频源。
进一步地,所述以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端包括:
获取所述客户端的端口地址,并根据所述端口地址生成gRPC响应消息头;
对所述视频结构化数据和所述视频数据进行封装,并将封装后的所述视频结构化数据和所述视频数据设置为gRPC响应消息体;
根据所述gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据所述gRPC接口将所述gRPC响应消息发送至所述客户端。
进一步地,所述对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验包括:
获取所述gRPC请求消息头的请求内容类型;
若所述请求内容类型不是预设内容类型,则判定所述gRPC请求消息头的合法性校验不合格;
若所述请求内容类型是所述预设内容类型,则判定所述gRPC请求消息头的合法性校验合格。
进一步地,所述方法还包括:
将所述视频结构化数据和所述视频数据上传至区块链中。
本申请实施例的第二方面提供了一种视频数据展示装置,应用于任一服务器,所述服务器与客户端之间采用gRPC通信框架,包括:
视频源查询单元,用于接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源;
视频解码单元,用于获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧;
结构化分析单元,用于对所述视频帧进行结构化分析,得到视频结构化数据;
视频展示单元,用于以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在终端设备上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方案提供的视频数据展示方法的各步骤。
本申请实施例的第四方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案提供的视频数据展示方法的各步骤。
实施本申请实施例提供的一种视频数据展示方法、装置、终端设备及存储介质具有以下有益效果:
本申请实施例提供的一种视频数据展示方法,通过采用gRPC通信框架,使得服务器与客户端之间无需考虑底层网络细节、网络异常情况和负载情况,提高了视频展示效率,通过接收gRPC视频请求指令,能有效的查询到目标视频源,进而保障了视频数据的获取,通过对视频数据进行视频解码,保障了对视频数据的结构化分析,通过以服务端数据流模式将视频结构化数据和视频数据发送至客户端,有效的保障了视频结构化数据和视频数据传输过程中数据完整性,进而提高了视频展示的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频数据展示方法的实现流程图;
图2是本申请另一实施例提供的一种视频数据展示方法的实现流程图;
图3是本申请再一实施例提供的一种视频数据展示方法的实现流程图;
图4是本申请实施例提供的一种视频数据展示装置的结构框图;
图5是本申请实施例提供的一种终端设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例所涉及的视频数据展示方法,可以由控制设备或终端(以下称“移动终端”)执行。
请参阅图1,图1示出了本申请实施例提供的一种视频数据展示方法的实现流程图,该视频数据展示方法应用于任一服务器,服务器与客户端之间采用gRPC通信框架,该方法包括:
步骤S10,接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源。
其中,通过在服务器与客户端之间采用gRPC(remote procedure call远程过程调用)通信框架,使得在服务器和客户端中对应设置server(服务器)模型和client(客户端)模型,基于server和client模型进行服务器与客户端之间的通信,gRPC通信框架可以根据需求定义接口文件,进而可以有效的管理接口约束条件,提高了服务器与客户端之间数据通信的稳定性,该gRPC通信框架可以基于protoc(协议)编译工具生成接口的依赖文件,例如,videostruct.pb.h依赖文件、videostruct.pb.cc依赖文件、videostruct.grpc.pb.h依赖文件或videostruct.grpc.pb.cc依赖文件等,且通过采用gRPC通信框架,使得服务端和客户端在数据交换时只需加入接口依赖后缀pb.h、pb.cc、grpc.pb.h、grpc.pb.cc文件,gRPC通信框架可以使得客户端像调用本地方法一样,调用远程的服务器提供的服务,可使客户端和服务器应用程序能够透明地进行通信,并使构建连接系统变得更加容易,基于server/client模型直接进行通信,服务器与客户端之间无需考虑底层网络细节、网络异常情况和负载情况,提高了视频展示效率。
具体的,该步骤中,若接收到任一客户端发送的gRPC视频请求指令,则判定该客户端上需要进行视频数据的展示,该gRPC视频请求指令中存储有视频源地址,该视频源地址用于指向对应的目标视频源。
可选的,该步骤中,该视频源可以为摄像机或任一具有视频拍摄和视频存储功能的设备,通过根据gRPC视频请求指令进行视频源查询得到目标视频源,有效的保障了后续视频数据获取的准确性。
步骤S20,获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧。
其中,可以根据预设获取规则对该目标视频源进行视频数据的获取,该预设获取规则可以根据需求进行设置,例如,该预设获取规则可以为获取预设时间范围内的视频数据、获取该目标视频源中存储的所有视频数据,或根据视频量阈值对该目标视频源进行视频数据的获取。
可选的,该步骤中,可以基于视频解码器对该视频数据进行解码,该视频解码器是指能够对视频数据进行压缩或者解压缩的程序或者设备,通过将视频数据输入该视频解码器进行解压缩,以得到该视频帧。
具体的,该视频解码器包括硬件解码器和软件解码器,该硬件解码器包括Opus解码器、Aac解码器、Ogg解码器、Speex解码器等,该软件解码器中设置有视频解码算法,该软件解码器用于根据该视频解码算法运行对应的解码程序,以达到对视频解码器解压缩的效果,得到对应的视频帧,该步骤中,通过对视频数据进行视频解码得到视频帧,有效的保障了后续对视频数据的结构化分析的操作。
步骤S30,对所述视频帧进行结构化分析,得到视频结构化数据。
其中,结构化分析是一种将视频帧内容中的重要信息进行结构化提取的技术,利用对视频帧内容按照语义关系,采用时空分割、特征提取、对象识别、深度学习等处理手段,组织成可供计算机和人理解的文本信息或可视化图形信息,以得到对应的视频结构化数据。
具体的,该步骤中,通过对采集视频帧中的行人特征信息、车辆特征信息、人群特征信息和行为特征信息,以得到该视频结构化数据,该行人特征信息包括行人的性别、年龄、是否使用手机、是否戴眼镜、是否戴帽子、下身服饰颜色、下身服饰、上身服饰颜色、上身服饰、上身服饰细分类、上身服饰纹理、身体朝向、是否带伞等信息中一种或多种的组合信息。
该车辆特征信息包括车辆的号牌号码、号牌颜色、号牌种类、车身颜色、车辆品牌、有无天窗、车内摆件、年检标、行李架等信息中一种或多种的组合信息。
该人群特征信息包括人群的密度、人群分布、人群运动方向、人群运动速度、人群异常等信息中一种或多种的组合信息,该行为特征信息包括群聚群散、逆向穿行、跌倒等信息中一种或多种的组合信息。
可选的,该步骤中,可以基于结构化分析模型对该视频帧进行视频结构化分析,以得到对应的视频结构化数据,该视频结构化数据中包括多个结构化子信息,该结构化子信息为该视频数据中对应视频帧的结构化结果,每个结构化子信息均包含对应视频帧中人员的标签、位置、轨迹跟踪、相关性别和服装姿态等属性信息。
步骤S40,以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示。
其中,当采用gRPC通信框架进行服务器与客户端之间的通信时,服务器与客户端之间具有四种不同的通信模式,分别为:单向数据流模式、服务端数据流模式、客户端数据流模式和双向数据流模式,该步骤中,该预设控制指令用于触发该客户端对视频结构化数据和视频数据的视频展示操作。
可选的,该步骤中,该预设控制指令中分别携带有视频结构化数据和视频数据的数据标识,基于该数据标识控制该客户端对对应的视频结构化数据和视频数据进行视频展示,进而提高了视频数据展示的准确性。
具体的,该单向数据流模式用于当服务器接收到客户端发送的gRPC视频请求指令,且该服务器针对该gRPC视频请求指令不进行响应;该服务端数据流模式用于当一个服务器与多个客户端进行通信,当服务器接收到任一客户端发送的gRPC视频请求指令,针对该gRPC视频请求指令进行目标视频源的查询、视频数据的获取、视频帧的结构化分析,并将视频结构化数据和视频数据作为指令响应发送至客户端。
该客户端数据流模式用于当服务器接收到不同客户端发送的gRPC视频请求指令,针对不同客户端发送的gRPC视频请求指令只进行一个响应回复,该客户端数据流模式应用于客户端主动流式给服务端推送数据的场景;该双向数据流模式用于服务端和客户均可主动推送数据,实现双向通信的效果。
可选的,本实施例中,所述接收所述客户端发送的gRPC视频请求指令之前,还包括:
查询预设接口文件,根据所述预设接口文件生成gRPC接口;
其中,该预设接口文件包括接口基本信息、请求参数信息和响应信息,该接口基本信息包括接口名称、接口URL(Uniform Resource Locator,资源定位符)、请求方法和描述信息,该请求参数信息包括请求头信息和请求体信息,该响应信息包括响应返回的数据类型;
将所述gRPC接口的接口URL发送至所述客户端。
具体的,该步骤中,通过将gRPC接口的接口URL发送至客户端,基于该gRPC接口有效保障了客户端向服务器发送的gRPC视频请求指令,服务器通过监听该gRPC接口的指令接收状态,以实时获取客户端向服务器发送的gRPC视频请求指令。
本实施例中,通过采用gRPC通信框架,使得服务器与客户端之间无需考虑底层网络细节、网络异常情况和负载情况,提高了视频展示效率,通过接收gRPC视频请求指令,能有效的查询到目标视频源,进而保障了视频数据的获取,通过对视频数据进行视频解码,保障了对视频数据的结构化分析,通过以服务端数据流模式将视频结构化数据和视频数据发送至客户端,有效的保障了视频结构化数据和视频数据传输过程中数据完整性,进而提高了视频展示的准确性。
请参阅图2,图2是本申请另一实施例提供的一种视频数据展示方法的实现流程图。相对于图1对应的实施例,本实施例提供的视频数据展示方法是对图1对应的实施例中步骤S20的进一步细化,包括:
步骤S21,对所述视频数据进行解封装,得到视频文件,并获取所述视频文件中的视频流。
其中,通过获取视频数据的包头信息,基于该包头信息中的包头标识查询对应的解封装程序,基于查询到的解封装程序对该视频数据进行解封装,得到对应的视频文件。
具体的,本实施例中预存储有解封装查询表,该解封装查询表中存储有不同包头标识与对应解封装程序之间的对应关系,因此,通过将该视频数据内包头信息中的包头标识与解封装查询表进行匹配,以得到对应的解封装程序,进而有效的保障了视频数据的解封装操作。
可选的,该步骤中,通过基于预设视频格式对该视频文件中的数据进行筛选,以得到对应的视频流,该预设视频格式可以根据需求进行设置,例如,该预设视频格式可以设置为MPEG、baiAVI、nAVI、ASF或MOV格式等。
步骤S22,查询所述视频文件中所述视频流的索引位置,并根据所述索引位置获取解码器上下文。
其中,可以通过遍历该视频流以查询该索引位置,或通过采用“av_find_best_stream”函数查询视频文件中视频流的索引位置,并基于所述索引位置查询对应的解码器上下文;
具体的,本实施例中预存储有上下文查询表,该上下文查询表中存储有不同索引位置与对应解码器上下文之间的对应关系,因此,通过将查询到的索引位置与该上下文查询表进行匹配,以得到对应的解码器上下文,该解码器上下文用于查询视频流对应的解码器。
步骤S23,根据所述解码器上下文查询解码器ID,并根据所述解码器ID获取解码器;
其中,通过查询该解码器上下文中预设标识位对应的信息,以得到该解码器ID(Identity document,身份标识号),该预设标识位可以根据需求进行设置,该步骤中的预设标识位为“codecID”标识对应的字符位置。
可选的,本实施例中预存储有解码器ID表,该解码器ID表中存储有不同解码器ID与对应解码器之间的对应关系,因此,通过将查询到的解码器ID与解码器ID表进行匹配,以获取对应的解码器。
步骤S24,运行获取到的所述解码器,并根据所述解码器对所述视频流进行解码,得到所述视频帧。
本实施例中,通过对视频数据进行解封装得到视频文件,并获取视频文件中的视频流,有效的保障了后续对视频数据的结构化分析的操作,提高了视频结构化数据的准确性,通过查询视频文件中视频流的索引位置,能有效的获取到对应的解码器上下文,基于解码器上下文的获取能有效的查询到该视频流对应的解码器,进而提高了视频流解码的准确性。
请参阅图3,图3是本申请另一实施例提供的一种视频数据展示方法的实现流程图。相对于图1对应的实施例,本实施例提供的视频数据展示方法是对图1对应的实施例中步骤S10的进一步细化,包括:
步骤S11,对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验;
其中,通过对gRPC视频请求指令中的gRPC请求消息头进行合法性校验,以判断该gRPC视频请求指令是否有效,若gRPC请求消息头合法性校验不合格,则判定该gRPC视频请求指令无效,针对该gRPC视频请求指令不进行响应。
可选的,本实施例中,所述对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验包括:
获取所述gRPC请求消息头的请求内容类型;
若所述请求内容类型不是预设内容类型,则判定所述gRPC请求消息头的合法性校验不合格;
若所述请求内容类型是所述预设内容类型,则判定所述gRPC请求消息头的合法性校验合格;
其中,获取该gRPC请求消息头中的“Content-Type”对应的信息,得到该请求内容类型,该预设内容类型可以根据需求进行设置,例如,该预设内容类型可以设置为application类型或grpc类型。
步骤S12,若所述gRPC请求消息头合法性校验合格,则获取所述gRPC视频请求指令中的gRPC请求消息体;
其中,该gRPC请求消息体中存储有gRPC视频请求指令中的指令信息,该指令信息用于表征该gRPC视频请求指令的指令需求。
步骤S13,对所述gRPC请求消息体进行解码,得到gRPC解码信息,并获取所述gRPC解码信息中的视频源地址;
其中,本实施例中预存储有消息体解码器,该消息体解码器用于对合法性校验合格的gRPC请求消息头对应的gRPC请求消息体进行解码,以得到对应的gRPC解码信息。
具体的,该步骤中,该gRPC解码信息中存储有客户端预设置的视频源地址,该视频源地址用于进行视频源的查询,即客户端需要对该视频源地址对应的视频源进行视频数据的获取。
步骤S14,根据所述视频源地址进行视频源查询,得到所述目标视频源。
可选的,本实施例中,所述以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端包括:
获取所述客户端的端口地址,并根据所述端口地址生成gRPC响应消息头;
对所述视频结构化数据和所述视频数据进行封装,并将封装后的所述视频结构化数据和所述视频数据设置为gRPC响应消息体;
根据所述gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据所述gRPC接口将所述gRPC响应消息发送至所述客户端;
其中,通过对视频结构化数据和视频数据进行封装,并将封装后的视频结构化数据和视频数据设置为gRPC响应消息体,有效的保障了视频结构化数据和视频数据的传输,通过根据gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据gRPC接口将gRPC响应消息发送至客户端,能基于gRPC通信框架有效的将视频结构化数据和视频数据发送至该客户端。
本实施例中,通过对gRPC视频请求指令中的gRPC请求消息头进行合法性校验,能有效的判断接收到的gRPC视频请求指令是否为有效指令,通过获取gRPC视频请求指令中的gRPC请求消息体,并对gRPC请求消息体进行解码,能有效的得到对应的gRPC解码信息和gRPC解码信息中携带的视频源地址,进而提高了目标视频源查询的准确性。
在本申请的所有实施例中,基于目标视频源得到视频数据、基于对视频帧的结构化分析得到视频结构化数据。将视频数据和视频结构化数据上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该视频数据和视频结构化数据,以便查证出视频数据和视频结构化数据是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
请参阅图4,图4是本申请实施例提供的一种视频数据展示装置100的结构框图。本实施例中该视频数据展示装置100包括的各单元用于执行图1至图3对应的实施例中的各步骤。具体请参阅图1至图3以及图1至图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,视频数据展示装置100应用于任一服务器,所述服务器与客户端之间采用gRPC通信框架,包括:视频源查询单元10、视频解码单元11、结构化分析单元12和视频展示单元13,其中:
视频源查询单元10,用于接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源。
其中,所述视频源查询单元10还用于:对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验;
若所述gRPC请求消息头合法性校验合格,则获取所述gRPC视频请求指令中的gRPC请求消息体;
对所述gRPC请求消息体进行解码,得到gRPC解码信息,并获取所述gRPC解码信息中的视频源地址;
根据所述视频源地址进行视频源查询,得到所述目标视频源。
可选的,所述视频源查询单元10还用于:获取所述gRPC请求消息头的请求内容类型;
若所述请求内容类型不是预设内容类型,则判定所述gRPC请求消息头的合法性校验不合格;
若所述请求内容类型是所述预设内容类型,则判定所述gRPC请求消息头的合法性校验合格。
视频解码单元11,用于获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧。
其中,所述视频解码单元11还用于:对所述视频数据进行解封装,得到视频文件,并获取所述视频文件中的视频流;
查询所述视频文件中所述视频流的索引位置,并根据所述索引位置获取解码器上下文;
根据所述解码器上下文查询解码器ID,并根据所述解码器ID获取解码器;
运行获取到的所述解码器,并根据所述解码器对所述视频流进行解码,得到所述视频帧。
结构化分析单元12,用于对所述视频帧进行结构化分析,得到视频结构化数据。
视频展示单元13,用于以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示。
其中,所述视频展示单元13还用于:获取所述客户端的端口地址,并根据所述端口地址生成gRPC响应消息头;
对所述视频结构化数据和所述视频数据进行封装,并将封装后的所述视频结构化数据和所述视频数据设置为gRPC响应消息体;
根据所述gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据所述gRPC接口将所述gRPC响应消息发送至所述客户端。
此外,所述视频数据展示装置100还包括:
接口设置单元14,用于查询预设接口文件,并根据所述预设接口文件生成gRPC接口,所述预设接口文件包括接口基本信息、请求参数信息和响应信息,所述接口基本信息包括接口名称、接口URL、请求方法和描述信息,所述请求参数信息包括请求头信息和请求体信息,所述响应信息包括响应返回的数据类型;
将所述gRPC接口的接口URL发送至所述客户端。
以上可以看出,通过采用gRPC通信框架,使得服务器与客户端之间无需考虑底层网络细节、网络异常情况和负载情况,提高了视频展示效率,通过接收gRPC视频请求指令,能有效的查询到目标视频源,进而保障了视频数据的获取,通过对视频数据进行视频解码,保障了对视频数据的结构化分析,通过以服务端数据流模式将视频结构化数据和视频数据发送至客户端,有效的保障了视频结构化数据和视频数据传输过程中数据完整性,进而提高了视频展示的准确性。
图5是本申请另一实施例提供的一种终端设备2的结构框图。如图5所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如视频数据展示方法的程序。处理器20执行所述计算机程序23时实现上述各个视频数据展示方法各实施例中的步骤,例如图1所示的S10至S40,或者图2所示的S21至S24,或者图3所示的S11至S14。或者,所述处理器20执行所述计算机程序22时实现上述图4对应的实施例中各单元的功能,例如,图4所示的单元10至13的功能,具体请参阅图5对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序22可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。例如,所述计算机程序22可以被分割成视频源查询单元10、视频解码单元11、结构化分析单元12和视频展示单元13和接口设置单元14,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图5仅仅是终端设备2的示例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种视频数据展示方法,应用于任一服务器,所述服务器与客户端之间采用gRPC通信框架,其特征在于,包括:
接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源;
获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧;
对所述视频帧进行结构化分析,得到视频结构化数据;
以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示;
所述对所述视频数据进行视频解码,得到视频帧包括:
对所述视频数据进行解封装,得到视频文件,并获取所述视频文件中的视频流;
通过遍历所述视频流,查询所述视频文件中所述视频流的索引位置,并将所述索引位置与上下文查询表进行匹配,获取对应的解码器上下文;其中,所述上下文查询表中存储有不同索引位置与对应解码器上下文之间的对应关系;
根据所述解码器上下文查询解码器ID,并根据所述解码器ID获取解码器;
运行获取到的所述解码器,并根据所述解码器对所述视频流进行解码,得到所述视频帧;
所述以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端包括:
获取所述客户端的端口地址,并根据所述端口地址生成gRPC响应消息头;
对所述视频结构化数据和所述视频数据进行封装,并将封装后的所述视频结构化数据和所述视频数据设置为gRPC响应消息体;
根据所述gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据所述gRPC接口将所述gRPC响应消息发送至所述客户端。
2.根据权利要求1所述的视频数据展示方法,其特征在于,所述接收所述客户端发送的gRPC视频请求指令之前,还包括:
查询预设接口文件,并根据所述预设接口文件生成gRPC接口,所述预设接口文件包括接口基本信息、请求参数信息和响应信息,所述接口基本信息包括接口名称、接口URL、请求方法和描述信息,所述请求参数信息包括请求头信息和请求体信息,所述响应信息包括响应返回的数据类型;
将所述gRPC接口的接口URL发送至所述客户端。
3.根据权利要求2所述的视频数据展示方法,其特征在于,所述根据所述gRPC视频请求指令进行视频源查询,得到目标视频源包括:
对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验;
若所述gRPC请求消息头合法性校验合格,则获取所述gRPC视频请求指令中的gRPC请求消息体;
对所述gRPC请求消息体进行解码,得到gRPC解码信息,并获取所述gRPC解码信息中的视频源地址;
根据所述视频源地址进行视频源查询,得到所述目标视频源。
4.根据权利要求3所述的视频数据展示方法,其特征在于,所述对所述gRPC视频请求指令中的gRPC请求消息头进行合法性校验包括:
获取所述gRPC请求消息头的请求内容类型;
若所述请求内容类型不是预设内容类型,则判定所述gRPC请求消息头的合法性校验不合格;
若所述请求内容类型是所述预设内容类型,则判定所述gRPC请求消息头的合法性校验合格。
5.根据权利要求1所述的视频数据展示方法,其特征在于,所述方法还包括:
将所述视频结构化数据和所述视频数据上传至区块链中。
6.一种视频数据展示装置,应用于任一服务器,所述服务器与客户端之间采用gRPC通信框架,其特征在于,包括:
视频源查询单元,用于接收所述客户端发送的gRPC视频请求指令,并根据所述gRPC视频请求指令进行视频源查询,得到目标视频源;
视频解码单元,用于获取所述目标视频源的视频数据,并对所述视频数据进行视频解码,得到视频帧;
结构化分析单元,用于对所述视频帧进行结构化分析,得到视频结构化数据;
视频展示单元,用于以服务端数据流模式将所述视频结构化数据和所述视频数据发送至所述客户端,并根据预设控制指令指示所述客户端对所述视频结构化数据和所述视频数据进行视频展示;
所述视频解码单元还用于:
对所述视频数据进行解封装,得到视频文件,并获取所述视频文件中的视频流;
通过遍历所述视频流,查询所述视频文件中所述视频流的索引位置,并将所述索引位置与上下文查询表进行匹配,获取对应的解码器上下文;其中,所述上下文查询表中存储有不同索引位置与对应解码器上下文之间的对应关系;
根据所述解码器上下文查询解码器ID,并根据所述解码器ID获取解码器;
运行获取到的所述解码器,并根据所述解码器对所述视频流进行解码,得到所述视频帧;
所述视频展示单元还用于:
获取所述客户端的端口地址,并根据所述端口地址生成gRPC响应消息头;
对所述视频结构化数据和所述视频数据进行封装,并将封装后的所述视频结构化数据和所述视频数据设置为gRPC响应消息体;
根据所述gRPC响应消息头和gRPC响应消息体构建gRPC响应消息,并根据所述gRPC接口将所述gRPC响应消息发送至所述客户端。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
8.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010935388.XA CN112040269B (zh) | 2020-09-08 | 2020-09-08 | 视频数据展示方法、装置、终端设备及存储介质 |
PCT/CN2020/135512 WO2021147556A1 (zh) | 2020-09-08 | 2020-12-11 | 一种视频数据展示方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010935388.XA CN112040269B (zh) | 2020-09-08 | 2020-09-08 | 视频数据展示方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112040269A CN112040269A (zh) | 2020-12-04 |
CN112040269B true CN112040269B (zh) | 2023-04-25 |
Family
ID=73584979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010935388.XA Active CN112040269B (zh) | 2020-09-08 | 2020-09-08 | 视频数据展示方法、装置、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112040269B (zh) |
WO (1) | WO2021147556A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040269B (zh) * | 2020-09-08 | 2023-04-25 | 平安科技(深圳)有限公司 | 视频数据展示方法、装置、终端设备及存储介质 |
CN116155516B (zh) * | 2021-11-15 | 2023-12-26 | 拓尔思天行网安信息技术有限责任公司 | 视频传输系统、方法、设备及存储介质 |
CN114697306B (zh) * | 2022-02-24 | 2024-03-22 | 青岛海尔科技有限公司 | 一种http客户端和数据通信方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376585A (zh) * | 2015-11-04 | 2016-03-02 | 四川大学华西医院 | 一种帧图像组合提高视频传输速度的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262669B (zh) * | 2004-06-23 | 2011-07-20 | 华为技术有限公司 | 一种移动终端内存储的资料信息的安全保障方法 |
US8086575B2 (en) * | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
CN101150707B (zh) * | 2006-09-19 | 2010-09-29 | 中兴通讯股份有限公司 | 一种实现移动多媒体广播安全的方法 |
CN101540755B (zh) * | 2008-03-18 | 2013-03-13 | 华为技术有限公司 | 一种修复数据的方法、系统和装置 |
CN107809681B (zh) * | 2017-10-19 | 2019-01-04 | 广东省南方数字电视无线传播有限公司 | 切片视频传输的方法及装置 |
CN108900898A (zh) * | 2018-08-21 | 2018-11-27 | 北京深瞐科技有限公司 | 视频结构化方法、装置及系统 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN111402120B (zh) * | 2020-03-19 | 2024-03-29 | 北京远鉴信息技术有限公司 | 一种标注图像处理方法及装置 |
CN111629278B (zh) * | 2020-05-22 | 2022-07-26 | 新石器慧通(北京)科技有限公司 | 图像传输方法、装置、可移动平台、服务器及存储介质 |
CN112040269B (zh) * | 2020-09-08 | 2023-04-25 | 平安科技(深圳)有限公司 | 视频数据展示方法、装置、终端设备及存储介质 |
-
2020
- 2020-09-08 CN CN202010935388.XA patent/CN112040269B/zh active Active
- 2020-12-11 WO PCT/CN2020/135512 patent/WO2021147556A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376585A (zh) * | 2015-11-04 | 2016-03-02 | 四川大学华西医院 | 一种帧图像组合提高视频传输速度的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112040269A (zh) | 2020-12-04 |
WO2021147556A1 (zh) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112040269B (zh) | 视频数据展示方法、装置、终端设备及存储介质 | |
US11347958B2 (en) | Computer configured to display multimedia content | |
CN111723727A (zh) | 基于边缘计算的云监控方法、装置、电子设备及存储介质 | |
US20180276899A1 (en) | Method, apparatus, and system for generating an ar application and rendering an ar instance | |
WO2022037343A1 (zh) | 一种视频信息处理方法、装置、电子设备及存储介质 | |
US20190377953A1 (en) | Network switching appliance, process and system for performing visual analytics for a streaming video | |
CN113139428A (zh) | 目标识别方法、边缘设备、边防监控系统及可读存储介质 | |
CN112598938A (zh) | 基于增强现实的认知功能训练系统、方法、装置、设备及存储介质 | |
CN115564000A (zh) | 二维码生成方法、装置、计算机设备及存储介质 | |
WO2021042895A1 (zh) | 基于神经网络的验证码识别方法、系统及计算机设备 | |
CN112073407A (zh) | 高并发业务中实时判断异常设备的系统、方法及存储介质 | |
CN107517188A (zh) | 一种基于安卓系统的数据处理方法和装置 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
CN115631339A (zh) | 视觉特征提取方法、装置及电子设备 | |
CN110189388B (zh) | 动画检测方法、可读存储介质及计算机设备 | |
CN104751096A (zh) | 一种网络摄像机快速识别二维码的设计与实现方法 | |
CN105791888A (zh) | 一种视频分析的方法及装置 | |
WO2024131630A1 (zh) | 车牌识别方法、装置、电子设备及存储介质 | |
CN112839263B (zh) | 提示信息的播放方法和装置 | |
CN115695850B (zh) | 视频数据处理方法、装置、电子设备和介质 | |
US20170228206A1 (en) | Processing data in a thin client terminal | |
CN117278263A (zh) | 认证处理方法、装置、计算机设备及存储介质 | |
CN114996617A (zh) | H5基于原生的数据上传方法、装置、计算机设备及介质 | |
CN118262262A (zh) | 视频识别方法、装置、电子设备和计算机可读存储介质 | |
CN117240578A (zh) | 流量完整性验证方法、装置、计算机设备及其存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |