CN113438503B - 视频文件还原方法、装置、计算机设备和存储介质 - Google Patents
视频文件还原方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113438503B CN113438503B CN202110591182.4A CN202110591182A CN113438503B CN 113438503 B CN113438503 B CN 113438503B CN 202110591182 A CN202110591182 A CN 202110591182A CN 113438503 B CN113438503 B CN 113438503B
- Authority
- CN
- China
- Prior art keywords
- video
- data packet
- video stream
- extracting
- length
- 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 53
- 239000012634 fragment Substances 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 72
- 230000005540 biological transmission Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 21
- 238000013467 fragmentation Methods 0.000 claims description 18
- 238000006062 fragmentation reaction Methods 0.000 claims description 18
- 238000004321 preservation Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 abstract description 5
- 238000011144 upstream manufacturing Methods 0.000 description 19
- 239000000284 extract Substances 0.000 description 15
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种视频文件还原方法、装置、计算机设备和存储介质。所述方法包括:获取目标视频对应的视频流;提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度;提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。采用本方法,可以实现将视频流中视频数据还原为可播放的视频文件,以用于对视频内容的监管。
Description
技术领域
本申请涉及流量处理技术领域,特别是涉及一种视频文件生成方法、装置、计算机设备和存储介质。
背景技术
HLS(HTTP Live Streaming)是一种基于HTTP的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只能下载部分,这种处理模式称为HLS的分片原则,基于这种分片原则HLS可以实现音视频数据通信。
传统的音视频数据通信中,一般是数据请求端到数据发送端之间的数据通信,端与端之间可以基于请求端的地址信息确定传输数据双方,实现数据解析。随着音视频数据量的逐渐增多,大量的视频内容被上传至网络上进行传播及分享,其中的部分视频中可能会存在违规内容,为了维护网络环境的安全健康,需要对音视频内容进行监控和审阅。
然而,若在由端到端的数据通信基础上,增加旁路数据通信场景,即增加旁路服务器,利用网络设备(如网关)将视频流镜像到旁路的服务器中,并通过旁路的服务器对视频数据进行监管,其不满足端与端间通信传输时的地址规则,因此,旁路的服务器获取的镜像音视频数据无法还原成视频文件,进而也无法实现对于音视频内容的监管。
发明内容
基于此,有必要针对上述技术问题,提供一种视频文件还原方法、装置、计算机设备和存储介质。
一种视频文件还原方法,所述方法包括:
获取目标视频对应的视频流;
提取所述视频流中上行数据包的特征信息,当所述视频流中的上行数据包中的特征信息满足预设特征规则时,提取所述视频流的下行数据包中包含的视频数据分片长度;
提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件
采用本方法,对于并接入传输通路的服务器,通过对获取到的视频流中的视频数据进行提取还原处理,生成可以播放的分片视频文件,实现了对于视频内容的还原和监管。
在其中一个实施例中,所述方法还包括:
获取镜像视频流,对所述镜像视频流的数据包进行保序处理,将保序处理后的所述镜像视频流的数据包存储至传输控制协议流表;
所述获取目标视频对应的视频流,包括:
在所述传输控制协议流表中,提取并识别所述镜像视频流中的流程标识,根据所述流程标识获取保序处理后的目标视频对应的视频流。
本实施例中,通过创建TCP流表,实现视频流中数据包的保序处理,服务器可以在TCP流表中获取目标视频的视频流,从而保证视频流中的数据包在传输过程中传输顺序更具稳定性。
在其中一个实施例中,所述提取所述视频流中上行数据包的特征信息,包括:
识别所述视频流中上行数据包的目标标识字段;
提取所述目标标识字段中包含的属性特征,根据预设的目标属性特征,确定所述视频流中的上行数据包是否满足预设特征规则。
本实施例中,服务器通过对视频流中的上行数据包的属性特征进行识别和提取,判定视频流中的上行数据包满足预设特征规则,进而,确定服务器可以执行视频流的后续处理逻辑。
在其中一个实施例中,所述方法还包括:
在满足所述预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
基于上述处理,服务器可以向用户展示还原后的视频文件的名称信息,以使技术人员获知目标视频的具体名称后便于后续查询。
在其中一个实施例中,在所述提取所述下行数据包中的视频数据之前,所述方法还包括:
识别所述视频流的下行数据包中待处理的视频数据长度是否为零;
若所述待处理的视频数据长度为零且所述下行数据包中第一响应数据包的状态码不满足目标状态码,则结束所述下行数据包的处理流程。
本实施例中,通过对视频流中待处理的视频数的长度和视频流中包含的状态码信息,确定当前视频流处理状态,若当前视频流不满足视频文件还原状态,则及时结束视频流处理过程,提高视频文件处理效率。
在其中一个实施例中,所述提取所述视频流的下行数据包中包含的视频数据分片长度,包括:
提取所述视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定所述视频流的下行数据包满足分片处理状态;
提取所述下行数据包中的数据类型信息,当确定所述数据类型信息中包含视频数据关键字时,提取所述下行数据包视频数据中包含的视频数据分片长度。
本实施例中,当视频流中的状态码满足预设的目标状态码时,确定视频流的下行数据包满足分片处理状态,进而在视频流的下行数据包中提取视频数据的分片长度,根据该分片长度信息,可以完成分片视频文件的写入和还原。
在其中一个实施例中,所述提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件,包括:
提取并处理所述下行数据包中的视频数据,并记录已处理的视频数据的长度;
根据所述视频数据分片长度以及所述已处理的视频数据的长度,确定待处理的视频数据长度,当待处理的视频数据长度为零时,生成所述视频数据分片长度的分片视频文件。
本实施例中,通过对视频流中待处理的视频数据长度进行判断,明确视频流中已处理的视频数据长度和分片视频数据长度间的对应关系,进而可以实现分片视频文件的自动化生成,提高视频文件还原效率。
一种视频文件生成装置,所述装置包括:
获取模块,用于获取目标视频对应的视频流;
提取模块,用于提取所述视频流中上行数据包的特征信息,当所述视频流中的上行数据包中的特征信息满足预设特征规则时,提取所述视频流的下行数据包中包含的视频数据分片长度;
生成模块,用于提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标视频对应的视频流;
提取所述视频流中上行数据包的特征信息,当所述视频流中的上行数据包中的特征信息满足预设特征规则时,提取所述视频流的下行数据包中包含的视频数据分片长度;
提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标视频对应的视频流;
提取所述视频流中上行数据包的特征信息,当所述视频流中的上行数据包中的特征信息满足预设特征规则时,提取所述视频流的下行数据包中包含的视频数据分片长度;
提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。
上述视频文件还原方法、装置、计算机设备和存储介质,服务器获取目标视频对应的视频流。提取所述视频流中上行数据包的特征信息,当所述视频流中的上行数据包中的特征信息满足预设特征规则时,服务器提取所述视频流的下行数据包中包含的视频数据分片长度;进而提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。采用本方法,对于并接入传输通路的服务器,通过对获取到的视频流中的视频数据进行提取还原处理,生成可以播放的分片视频文件,实现了对于视频内容的还原和监管。
附图说明
图1为一个实施例中视频还原方法的流程示意图;
图2为一个实施例中创建TCP流表进行数据包保序步骤的流程示意图;
图3为一个实施例中判断视频流属性特征步骤的流程示意图;
图4为一个实施例中提取播放资源名称步骤的流程示意图;
图5为一个实施例中判定视频流所处处理状态的方法的流程示意图;
图6为一个实施例中提取视频数据的分片长度的步骤的流程示意图;
图7为一个实施例中生成分片视频文件的方法的流程示意图;
图8为一个实施例中视频文件还原装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,在具体介绍本申请实施例的技术方案之前,先对本申请实施例基于的技术背景或者技术演进脉络进行介绍。通常情况下,在流量处理领域,当前的技术背景是:端与端间的视频流量处理,基于端与端间的地址信息实现视频流的识别和解析,然而,并接的视频监管设备(一般为服务器)需要对于端与端间的视频流内容进行监管,由于视频监管设备的地址信息不符合端与端间地址规则,无法对于监听到的镜像视频流量进行播放,进而导致出现无法对于镜像视频流量进行还原播放的问题。基于该背景,申请人通过长期的模型模拟研发以及实验数据的搜集、演示和验证,发现可以对于监听到的镜像流量重新进行视频文件的还原,基于重新还原的视频文件可以进行视频播放,进而实现视频内容的监管。因此,如何实现视频文件的还原问题,成为目前亟待解决的难题。另外,需要说明的是,本申请技术问题的发现以及下述实施例介绍的技术方案,申请人均付出了大量的创造性劳动。
在本申请实施例中,视频数据的格式为FLV格式(Flash Video,流媒体格式),即读取FLV格式的视频文件可以进行视频播放。
在一个实施例中,如图1所示,提供了一种视频文件还原方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。则该方法包括以下步骤:
步骤101,获取目标视频对应的视频流。
在实施中,端与端之间进行视频传输时,由视频发送端发送的视频流会通过网络设备传输给视频请求端。网络设备(例如,网关)接收到视频流后,将该视频流镜像后发送给并接入传输通路的服务器,服务器则可以接收到网络设备发送的镜像视频流。其中,该视频流可以是网络设备传输的任一视频(称为目标视频)的视频流。例如,视频请求端A的用户向视频发送端B发送视频请求,视频发送端B响应于该视频请求中的视频数据要求,将目标视频流发送至视频请求端A,同时,视频流经过网络设备也镜像给用于视频监管的视频监管端(服务器端C)。
步骤102,提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度。
在实施中,服务器提取视频流中的上行数据包中特定字段包含的特征信息,根据该特征信息可以确定视频流的上行数据包中的数据是否满足预设特征规则,例如,上行数据包中的特征信息为URL(uniform resource locator,统一资源定位***)字段的特征码,若该特征码带有.ts或者.m3u8,则确定视频流属于HLS(HTTP Live Streaming,HTTP实时流媒体),基于HLS协议的分片式传输方式,若上行数据包中的特征信息满足预设特征规则时,则确定可以进入视频流的下行数据包处理逻辑,即在下行数据包中提取属于HLS协议的视频流的视频数据分片长度(Content-length)。
步骤103,提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。
在实施中,服务器根据得到的视频数据分片长度(Content-length),提取下行数据包中的视频数据,将视频数据分片长度的视频数据写入创建的视频文件中,得到分片视频文件(即分片FLV文件)。
上述视频文件还原方法,服务器获取目标视频对应的视频流,提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度;提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。采用本方法,对于并接入传输通路的服务器,可以实现对获取到的视频流中的视频数据进行提取还原处理,生成可以播放的分片视频文件,实现了对于视频内容的还原和监管。
在一个可选的实施例中,如图2所示,该方法还包括:
步骤201,获取镜像视频流,对镜像视频流的数据包进行保序处理,将保序处理后的镜像视频流的数据包存储至传输控制协议流表。
在实施中,网络设备可以将网络中的视频流全部镜像到服务器中,服务器接收到镜像后的视频流,则可以对该镜像视频流中的数据包进行保序处理,并将保序处理后的镜像视频流中的数据包依序存储至传输控制协议(TCP,Transmission Control Protocol)流表中。
则步骤101中的服务器获取目标视频的视频流的具体处理过程包括如下步骤:
步骤202,在传输控制协议流表中,提取并识别镜像视频流中的流程标识,根据流程标识获取保序处理后的目标视频对应的视频流。
在实施中,在传输控制协议流表(TCP流表)中,服务器提取并识别镜像视频流携带的流程标识,根据该流程标识可以判别每一视频流是否可以进入后续处理流程,例如,若某一视频流的流程标识满足预设目标流程标识,则确定并获取保序处理后的该视频流为目标视频对应的视频流。
本实施例中,通过创建TCP流表,实现视频流中数据包的保序处理,服务器可以在TCP流表中获取目标视频的视频流,从而保证视频流中的数据包在传输过程中传输顺序更具稳定性。
在一个可选的实施例中,如图3所示,步骤102中提取视频流中上行数据包的特征信息的具体步骤包括:
步骤301,识别视频流中上行数据包的目标标识字段。
在实施中,服务器根据预设的目标标识字段的字段位置,在各视频流的上行数据包数据中识别对应的目标标识字段。
步骤302,提取目标标识字段中包含的属性特征,根据预设的目标属性特征,确定视频流中的上行数据包是否满足预设特征规则。
在实施中,由于每一视频流基于一种传输协议进行传输,不同的传输协议对应有不同的属性特征,服务器在识别出上行数据包中目标标识字段位置后,提取目标标识字段中包含的具体的属性特征信息,可以确定对应的视频流属于的传输协议,例如,预设的目标属性特征为属于HLS传输协议的特有的特征码(.ts或者.m3u8),则根据上行数据包中是否带有目标特征码(目标属性特征),可以确定视频流中的上行数据包是否满足预设特征规则,若视频流的上行数据包中携带有特征码.ts或者.m3u8,则对该上行数据包进一步处理,若视频流的上行数据包中未带有特征码.ts或者.m3u8,则说明不属于HLS协议,则该视频流中后续的数据包不进行处理。
本实施例中,服务器通过对视频流中的上行数据包的属性特征进行识别和提取,判定视频流中的上行数据包满足预设特征规则,进而,确定服务器可以执行视频流的后续处理逻辑。
在一个可选的实施例中,该方法还包括:在满足预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
在实施中,在确定视频流中上行数据包的属性特征满足预设特征规则后(即表明视频流的协议类型为HLS协议的情况下),服务器可以通过字符匹配,在上行数据包中定位预设字符串(即确定目标字段),进而提取目标字段中的播放资源名称信息,将其作为分片视频文件(分片FLV文件)的文件名称。
基于上述处理,服务器可以向用户展示还原后的视频文件的名称信息,以使技术人员获知目标视频的具体名称后便于后续查询。
在一个可选的实施例中,如图4所示,在步骤103之前,该方法还包括:
步骤401,识别视频流的下行数据包中待处理的视频数据长度是否为零。
在实施中,服务器在处理视频流中的下行数据包之前,预先识别视频流的下行数据包中待处理的视频数据长度是否为零,以此判定该视频流的下行数据包的当前处理状态。
可选的,可以在传输控制协议流表(TCP流表)中,针对保序处理后的视频流,识别该视频流的下行数据包中的待处理的视频数据长度,因此,待处理的视频数据长度也可以称为TCP流表中未处理的视频数据长度。
步骤402,若待处理的视频数据长度为零且下行数据包中第一响应数据包的状态码不满足目标状态码,则结束下行数据包的处理流程。
在实施中,若待处理的视频数据长度为0,服务器则进一步判断下行数据包中的第一响应数据包(也称为HTTP响应包)中包含的状态码,若该状态码也不满足目标状态码,表明当前视频流中下行数据包不满足处理状态,则结束该视频流中下行数据包的处理流程。
可选的,若第一响应数据包中的状态码满足目标状态码,则需要进一步对下行数据包的数据类型进行判断,具体地,在第一响应数据包中的状态码满足目标状态码之后,判断下行数据包的数据类型的过程后续进行详细描述,本实施例不再赘述。
其中,目标状态码即HTTP 200或HTTP 206,用于表征请求接收端(也即本申请的端与端中的数据发送端)成功响应的状态。
本实施例中,通过对视频流中待处理的视频数的长度和视频流中包含的状态码信息,确定当前视频流处理状态,若当前视频流不满足视频文件还原状态,则及时结束视频流处理过程,提高视频文件处理效率。
在一个可选的实施例中,如图5所示,步骤102中的提取视频流的下行数据包中包含的视频数据分片长度的具体处理过程包括如下步骤:
步骤501,提取视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定视频流的下行数据包满足分片处理状态。
在实施中,服务器提取视频流的下行数据包中的第一响应数据包(即HTTP响应包)的状态码,根据该状态码与目标状态码(HTTP 200或者HTTP 206)比对,判定该视频流的下行数据包处理状态,若该状态码为目标状态码则确定该视频流中的下行数据包满足视频数据的分片处理状态。
步骤502,提取下行数据包中的数据类型信息,当确定数据类型信息中包含视频数据关键字时,提取下行数据包视频数据中包含的视频数据分片长度。
在实施中,服务器提取下行数据包中的数据类型信息,判断下行数据包中的Content-Type(数据类型)信息中是否包含video或者audio的关键字,当确定数据类型信息中包含视频数据关键字时,服务器提取下行数据包视频数据中包含的视频数据分片长度(Content-length)。
其中,视频数据分片长度为基于HLS协议的原理,将整个视频流划分为的HTTP的分片文件的文件长度。
本实施例中,当视频流中的状态码满足预设的目标状态码时,确定视频流的下行数据包满足分片处理状态,进而在视频流的下行数据包中提取视频数据的分片长度,根据该分片长度信息,可以完成分片视频文件的写入和还原。
在一个可选的实施例中,如图6所示,步骤103的具体处理过程包括如下步骤:
步骤601,提取并处理下行数据包中的视频数据,并记录已处理的视频数据的长度。
在实施中,服务器提取并处理下行数据包中的视频数据,确定视频数据格式为FLV格式,将处理后的下行数据包中的视频数据写入创建的视频文件中(FLV文件),并记录视频文件中已处理的视频数据的长度(WriteDoneSize)。
步骤602,根据视频数据分片长度以及已处理的视频数据的长度,确定待处理的视频数据长度,当待处理的视频数据长度为零时,生成视频数据分片长度的分片视频文件。
在实施中,服务器根据视频数据分片长度(Content-length)以及已处理的视频数据的长度(WriteDoneSize),确定待处理的视频数据长度(UndoneSize),具体地,确定待处理的视频数据长度的公式为:UndoneSize=Content-length-WriteDoneSize。当待处理的视频数据长度为零时,则表征当前的视频数据完成写入,即生成了视频数据分片长度的分片视频文件。
可选的,对于视频流可以对应还原为至少一个分片视频文件,服务器根据还原后的分片视频文件可以进行视频的播放,同时,也可以对于播放的视频的视频内容进行监控。
本实施例中,通过对视频流中待处理的视频数据长度进行判断,明确视频流中已处理的视频数据长度和分片视频数据长度间的对应关系,进而可以实现分片视频文件的自动化生成,提高视频文件还原效率。
在一个可选的实施例中,提供了一种视频还原方法的示例,如图7所示,具体步骤如下所示:
步骤701,接收网络设备发送的视频流。
步骤702,建立TCP流表,将视频流中包含的数据包进行保序处理后,存储至TCP流表中。
步骤703,判断TCP流表中的各视频流携带的流程标识,若流程标识为真,则执行步骤704;若流程标识为假,则结束该视频流处理流程。
步骤704,识别TCP流表中各视频流的视频数据包是否为上行数据包,若是,则执行步骤705-步骤706;若不是,则执行步骤707-步骤709。
步骤705,提取视频流的上行数据包中的URL字段(即HTTP GET URL字段),判断该URL字段是否包含.ts或.m3u8特征码,若包含,则执行步骤706;若不包含,则结束该视频流的上行数据包处理流程,并给该视频流添加“否”标识,表征该视频流不作处理。
步骤706,提取上行数据包中目标字段的播放资源名称,将其作为还原后的视频文件的文件名称。
步骤707,判断TCP流表中目标视频的视频流中包含的待处理的下行数据包的视频数据长度是否大于0,若是,则执行步骤708;若否,则结束该视频流处理流程。
步骤708,判断下行数据包中的HTTP响应包所包含的状态码,若该状态码不是HTTP200或HTTP 206中的任一个,则结束该视频流处理流程;若该状态码是HTTP 200或者HTTP206,则执行步骤709。
步骤709,提取下行数据包的HTTP Header中数据类型字段Content-Type内的关键字,若关键字包括中video或audio的关键字,则执行步骤710;若关键字中不包括video或audio的关键字,则结束该视频流处理流程。
步骤710,将提取到的下行数据包的HTTP Header中的Content-Length(视频数据分片长度)保存,创建分片视频文件,将提取到的播放资源名作为分片视频文件的文件名称。
步骤711,将下行数据包中的视频数据写入分片视频文件,并记录写入分片视频文件的已处理的视频数据的长度WriteDoneSize。
步骤712,根据Content-Length以及WriteDoneSize,计算视频流中待处理的视频数据的长度,即UndoneSize=Content-Length-WriteDoneSize。
步骤713,判断待处理的下行数据包的视频数据长度(UndoneSiz)是否大于0,若大于0,则执行步骤708;若不大于0,则结束该视频流处理流程,生成视频数据分片长度的分片视频若文件。
应该理解的是,虽然图1-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种视频文件还原装置800,包括:获取模块810、提取模块820和生成模块830,其中:
获取模块810,用于获取目标视频对应的视频流;
提取模块820,用于提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度;
生成模块830,用于提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。
在一个可选的实施例中,该装置800还包括:
保序模块,用于获取镜像视频流,对镜像视频流的数据包进行保序处理,将保序处理后的镜像视频流的数据包存储至传输控制协议流表;
则获取模块810具体用于在传输控制协议流表中,提取并识别镜像视频流中的流程标识,根据流程标识获取保序处理后的目标视频对应的视频流。
在一个可选的实施例中,提取模块820具体用于识别视频流中上行数据包的目标标识字段;
提取目标标识字段中包含的属性特征,根据预设的目标属性特征,确定视频流中的上行数据包是否满足预设特征规则。
在一个可选的实施例中,该装置800还包括:
命名模块,用于在满足预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
在一个可选的实施例中,该装置800还包括:
识别模块,用于识别视频流的下行数据包中待处理的视频数据长度是否为零;
判定模块,用于若待处理的视频数据长度为零且下行数据包中第一响应数据包的状态码不满足目标状态码,则结束下行数据包的处理流程。
在一个可选的实施例中,该装置800还包括:
第一提取模块,用于提取视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定视频流的下行数据包满足分片处理状态;
第二提取模块,用于提取下行数据包中的数据类型信息,当确定数据类型信息中包含视频数据关键字时,提取下行数据包视频数据中包含的视频数据分片长度。
在一个可选的实施例中,生成模块830具体用于提取并处理下行数据包中的视频数据,并记录已处理的视频数据的长度;
根据视频数据分片长度以及已处理的视频数据的长度,确定待处理的视频数据长度,当待处理的视频数据长度为零时,生成视频数据分片长度的分片视频文件。
关于视频文件还原装置的具体限定可以参见上文中对于视频文件还原方法的限定,在此不再赘述。上述视频文件还原装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储视频流中的上行数据包和下行数据包中的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频文件还原方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标视频对应的视频流;
提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度;
提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取镜像视频流,对镜像视频流的数据包进行保序处理,将保序处理后的镜像视频流的数据包存储至传输控制协议流表;
在传输控制协议流表中,提取并识别镜像视频流中的流程标识,根据流程标识获取保序处理后的目标视频对应的视频流。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
识别视频流中上行数据包的目标标识字段;
提取目标标识字段中包含的属性特征,根据预设的目标属性特征,确定视频流中的上行数据包是否满足预设特征规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在满足预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
识别视频流的下行数据包中待处理的视频数据长度是否为零;
若待处理的视频数据长度为零且下行数据包中第一响应数据包的状态码不满足目标状态码,则结束下行数据包的处理流程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
提取视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定视频流的下行数据包满足分片处理状态;
提取下行数据包中的数据类型信息,当确定数据类型信息中包含视频数据关键字时,提取下行数据包视频数据中包含的视频数据分片长度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标视频对应的视频流;
提取视频流中上行数据包的特征信息,当视频流中的上行数据包中的特征信息满足预设特征规则时,提取视频流的下行数据包中包含的视频数据分片长度;
提取下行数据包中的视频数据,生成视频数据分片长度的分片视频文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取镜像视频流,对镜像视频流的数据包进行保序处理,将保序处理后的镜像视频流的数据包存储至传输控制协议流表;
在传输控制协议流表中,提取并识别镜像视频流中的流程标识,根据流程标识获取保序处理后的目标视频对应的视频流。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
识别视频流中上行数据包的目标标识字段;
提取目标标识字段中包含的属性特征,根据预设的目标属性特征,确定视频流中的上行数据包是否满足预设特征规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在满足预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
识别视频流的下行数据包中待处理的视频数据长度是否为零;
若待处理的视频数据长度为零且下行数据包中第一响应数据包的状态码不满足目标状态码,则结束下行数据包的处理流程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
提取视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定视频流的下行数据包满足分片处理状态;
提取下行数据包中的数据类型信息,当确定数据类型信息中包含视频数据关键字时,提取下行数据包视频数据中包含的视频数据分片长度。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
提取并处理下行数据包中的视频数据,并记录已处理的视频数据的长度;
根据视频数据分片长度以及已处理的视频数据的长度,确定待处理的视频数据长度,当待处理的视频数据长度为零时,生成视频数据分片长度的分片视频文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频文件还原方法,其特征在于,所述方法应用于旁路的服务器,所述方法包括:
获取目标视频对应的视频流;
识别所述视频流中上行数据包的目标标识字段;
提取所述目标标识字段中包含的属性特征,根据预设的目标属性特征,确定所述视频流中的上行数据包是否满足预设特征规则,当所述视频流中的上行数据包满足所述预设特征规则时,提取所述视频流的下行数据包中第一响应数据包的状态码,根据目标状态码,判定所述视频流的下行数据包满足分片处理状态;
在确定所述视频流的下行数据包满足分片处理状态时,提取所述视频流的下行数据包中包含的视频数据分片长度;每一所述视频流基于一种传输协议进行传输,不同的所述传输协议对应有不同的属性特征;
提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取镜像视频流,对所述镜像视频流的数据包进行保序处理,将保序处理后的所述镜像视频流的数据包存储至传输控制协议流表;
所述获取目标视频对应的视频流,包括:
在所述传输控制协议流表中,提取并识别所述镜像视频流中的流程标识,根据所述流程标识获取保序处理后的目标视频对应的视频流。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在满足所述预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
4.根据权利要求1所述的方法,其特征在于,在所述提取所述下行数据包中的视频数据之前,所述方法还包括:
识别所述视频流的下行数据包中待处理的视频数据长度是否为零;
若所述待处理的视频数据长度为零且所述下行数据包中第一响应数据包的状态码不满足目标状态码,则结束所述下行数据包的处理流程。
5.根据权利要求1所述的方法,其特征在于,所述提取所述视频流的下行数据包中包含的视频数据分片长度,包括:
提取所述下行数据包中的数据类型信息,当确定所述数据类型信息中包含视频数据关键字时,提取所述下行数据包视频数据中包含的视频数据分片长度。
6.根据权利要求1所述的方法,其特征在于,所述提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件,包括:
提取并处理所述下行数据包中的视频数据,并记录已处理的视频数据的长度;
根据所述视频数据分片长度以及所述已处理的视频数据的长度,确定待处理的视频数据长度,当待处理的视频数据长度为零时,生成所述视频数据分片长度的分片视频文件。
7.一种视频文件生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标视频对应的视频流;
提取模块,用于识别所述视频流中上行数据包的目标标识字段;提取所述目标标识字段中包含的属性特征,根据预设的目标属性特征,确定所述视频流中的上行数据包是否满足预设特征规则,当所述视频流中的上行数据包满足所述预设特征规则时,提取所述视频流的下行数据包中第一相应数据包的状态码,根据目标状态码,判断视频流的下行数据包满足分片处理状态;
在确定所述视频流的下行数据包满足分片处理状态时,提取所述视频流的下行数据包中包含的视频数据分片长度;每一所述视频流基于一种传输协议进行传输,不同的所述传输协议对应有不同的属性特征;
生成模块,用于提取所述下行数据包中的视频数据,生成所述视频数据分片长度的分片视频文件。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
命名模块,用于在满足预设特征规则的上行数据包中提取目标字段的播放资源名称,作为分片视频文件的文件名称。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591182.4A CN113438503B (zh) | 2021-05-28 | 2021-05-28 | 视频文件还原方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591182.4A CN113438503B (zh) | 2021-05-28 | 2021-05-28 | 视频文件还原方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438503A CN113438503A (zh) | 2021-09-24 |
CN113438503B true CN113438503B (zh) | 2023-04-21 |
Family
ID=77803120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110591182.4A Active CN113438503B (zh) | 2021-05-28 | 2021-05-28 | 视频文件还原方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438503B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114339299A (zh) * | 2021-12-27 | 2022-04-12 | 司法鉴定科学研究院 | 一种汽车行车记录仪视频取证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351506A (zh) * | 2019-07-17 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种视频录制方法、装置、电子设备及可读存储介质 |
CN111601115A (zh) * | 2020-05-12 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种视频检测的方法、相关装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117500A1 (en) * | 2001-12-24 | 2003-06-26 | Icp Electronics Inc. | Network video recording system |
CN106686395B (zh) * | 2016-12-29 | 2019-12-13 | 北京奇艺世纪科技有限公司 | 一种直播非法视频的检测方法及*** |
CN109587514B (zh) * | 2017-09-28 | 2021-08-06 | ***通信有限公司研究院 | 一种视频播放方法、介质和相关装置 |
CN110519177B (zh) * | 2018-05-22 | 2022-01-21 | 华为技术有限公司 | 一种网络流量识别方法及相关设备 |
CN109862435A (zh) * | 2018-11-16 | 2019-06-07 | 京信通信***(中国)有限公司 | 直播视频的监控方法、装置、计算机存储介质及设备 |
CN112055230A (zh) * | 2020-09-03 | 2020-12-08 | 北京中润互联信息技术有限公司 | 一种直播监控方法、装置、计算机设备及可读存储介质 |
CN112468416B (zh) * | 2020-10-23 | 2022-08-30 | 曙光网络科技有限公司 | 网络流量镜像方法、装置、计算机设备和存储介质 |
-
2021
- 2021-05-28 CN CN202110591182.4A patent/CN113438503B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351506A (zh) * | 2019-07-17 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种视频录制方法、装置、电子设备及可读存储介质 |
CN111601115A (zh) * | 2020-05-12 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种视频检测的方法、相关装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113438503A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10397594B2 (en) | Real-time processing of IoT data | |
US9210090B1 (en) | Efficient storage and flexible retrieval of full packets captured from network traffic | |
JP2019527444A (ja) | 一致するコンテンツを特定するためのシステムおよび方法 | |
JP2019526138A (ja) | 一致するコンテンツを特定するためのシステムおよび方法 | |
WO2015165296A1 (zh) | 协议类型的识别方法和装置 | |
CN105103496A (zh) | 用于提取和保存用于分析网络通信的元数据的***和方法 | |
JP2015228648A (ja) | コンテンツ再生情報推定装置及び方法及びプログラム | |
US20100169482A1 (en) | Method And An Apparatus For Monitoring Multimedia Data | |
US10298653B1 (en) | Methods for monitoring streaming video content quality of experience (QOE) and devices thereof | |
CN112559463B (zh) | 压缩文件处理的方法及装置 | |
CN113438503B (zh) | 视频文件还原方法、装置、计算机设备和存储介质 | |
CN106506400B (zh) | 一种数据流识别方法及出口设备 | |
JP4719506B2 (ja) | 端末装置、コンテンツ再生方法、及びコンピュータプログラム | |
CN108234567A (zh) | 数字报文件的上传方法、客户端、云存储平台和服务器 | |
CN112350986B (zh) | 一种音视频网络传输碎片化的整形方法及*** | |
Dubin et al. | Video quality representation classification of encrypted http adaptive video streaming | |
US10498787B2 (en) | Communication apparatus, communication method, and program | |
CN113438506B (zh) | 视频文件的还原方法、装置、计算机设备和存储介质 | |
US9323857B2 (en) | System and method for providing content-related information based on digital watermark and fingerprint | |
CN110620766B (zh) | 一种提取加密网络流量中tls数据块的方法 | |
CN113438521B (zh) | 视频文件生成方法、装置、计算机设备和存储介质 | |
CN113438505A (zh) | 视频文件的还原方法、装置、计算机设备和存储介质 | |
JP5820749B2 (ja) | 識別装置、識別方法および識別プログラム | |
CN111314104B (zh) | 一种即时通信业务操作行为识别方法及装置 | |
CN117014637B (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 |