CN114051164B - 解码异常码流生成方法、装置、电子设备及可读存储介质 - Google Patents
解码异常码流生成方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114051164B CN114051164B CN202111357717.8A CN202111357717A CN114051164B CN 114051164 B CN114051164 B CN 114051164B CN 202111357717 A CN202111357717 A CN 202111357717A CN 114051164 B CN114051164 B CN 114051164B
- Authority
- CN
- China
- Prior art keywords
- video frame
- decoding
- code stream
- frame
- preset condition
- 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
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 60
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010191 image analysis Methods 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
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
-
- 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/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及视频编解码技术领域,公开了一种解码异常码流生成方法、装置、电子设备及可读存储介质,该方法通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流,相较于人工检索并生成异常码流,提高了生成异常码流的效率。
Description
技术领域
本发明涉及视频编解码技术领域,尤其涉及一种解码异常码流生成方法、装置、电子设备及可读存储介质。
背景技术
在视频传输中,由于视频文件的画面较多,直接传输视频画面的数据量巨大,为了便于视频的传输和储存,发送端通过专用的编码译码器对视频文件进行编码,将视频画面中的重复内容进行压缩,并在接收端根据对应的编码译码器对编码视频进行解码,获得视频文件,大大减少了视频文件的大小。
目前,由于视频码流格式不健全、容错性较差、传输失真等原因,编码视频在接收端出现解码异常的情况,需要人工花费大量时间检索解码异常的视频帧,并生成解码异常码流,使得生成异常码流的效率较低。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
鉴于以上所述现有技术的缺点,本发明提供一种解码异常码流生成方法、装置、电子设备及可读存储介质,以解决功率管的通过电流过高的问题。
本发明公开了一种解码异常码流生成方法,包括:在编码码流中获取一待解码画面组,所述待解码画面组包括多个编码视频帧;预先设置第一预设条件和第二预设条件,所述第一预设条件包括存在至少一个解码结果为解码异常,所述第二条件包括各所述编码视频帧均完成解码,所述解码结果包括解码正常或解码异常;依次对所述编码视频帧进行视频帧处理,直到满足所述第一预设条件或所述第二预设条件,所述视频帧处理包括根据所述编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对所述编码视频帧进行解码;若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流。
可选地,依次对所述编码视频帧进行视频帧处理之后,该方法还包括以下至少之一:按照所述信息帧的生成顺序,依次将各所述信息帧存储入预设数据链表,得到信息帧集;若满足所述第一预设条件,根据所述信息帧集生成异常日志。
可选地,所述编码视频帧包括关键帧,依次对所述编码视频帧进行视频帧处理之后,还包括:若满足所述第一预设条件或所述第二预设条件,则获取新的待解码画面组;依次对所述新的待解码画面组中编码视频帧进行视频帧处理,直到再次满足所述第一预设条件或所述第二预设条件;其中,若所述编码视频帧为关键帧,对所述关键帧进行视频帧处理之前,清除所述预设数据链表的数据帧集。
可选地,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流,包括:若满足所述第一预设条件,从所述编码码流中获取各所述信息帧对应的目标视频帧,得到目标视频帧集合,并生成异常码流。
可选地,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流,包括:若满足所述第一预设条件,根据初始信息帧从所述编码码流中确定初始视频帧,所述初始信息帧为所述待解码画面组中第一个编码视频帧的信息帧;从所述编码码流中确定目标视频帧集合,进而生成异常码流,所述目标视频帧集合包括所述初始视频帧以及位于所述初始视频帧之后连续的多个目标视频帧,其中,所述目标视频帧集合的帧数量与所述编码视频帧数量相同。
可选地,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流之后,还包括:将生成的异常码流存入预设存储空间;获取所述预设存储空间内的异常码流数量;若异常码流数量大于预设发送数量,则发送各异常码流至预设接收端。
可选地,对所述编码视频帧进行解码,包括:通过预设解码模块对所述编码视频帧进行解码;若所述预设编码模块输出所述编码视频帧对应的解码视频帧,则将解码结果确定为解码正常;若所述述预设编码模块输出解码返回值,并且所述解码返回值包括预设返回值,则将解码结果确定为解码异常。
本发明公开了一种解码异常码流生成装置,包括:获取模块,用于在编码码流中获取一待解码画面组,所述待解码画面组包括多个编码视频帧;条件模块,连接所述获取模块的输出端,所述条件模块用于预先设置第一预设条件和第二预设条件,所述第一预设条件包括存在至少一个解码结果为解码异常,所述第二条件包括各所述编码视频帧均完成解码,所述解码结果包括解码正常或解码异常;处理模块,连接所述条件模块的输出端,所述处理模块用于依次对所述编码视频帧进行视频帧处理,直到满足所述第一预设条件或所述第二预设条件,所述视频帧处理包括根据所述编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对所述编码视频帧进行解码;生成模块,连接所述处理模块的输出端,所述生成模块用于若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流。
本发明公开了一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行上述的方法。
本发明公开了一种计算机可读存储介质,其上存储有计算机程序:所述计算机程序被处理器执行时实现上述的方法。
本发明的有益效果:通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。
附图说明
图1是本发明实施例中一个解码异常码流生成方法的流程示意图;
图2是本发明实施例中一个待解码画面组获取方法的时序图;
图3是本发明实施例中一个信息帧生成方法的流程示意图;
图4是本发明实施例中一个解码结果生成方法的流程示意图;
图5是本发明实施例中另一个解码异常码流生成方法的流程示意图;
图6是本发明实施例中一个解码异常码流生成装置的结构示意图;
图7是本发明实施例中一个电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的子样本可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
结合图1所示,本公开实施例提供一种解码异常码流生成方法,包括:
步骤S101,在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧;
步骤S102,预先设置第一预设条件和第二预设条件,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码;
其中,解码结果包括解码正常或解码异常;
步骤S103,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码;
步骤S104,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。
利用本公开实施例提供的解码异常码流生成方法,通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。并且根据各信息帧从编码码流中确定目标视频帧集合,相较于存储编码视频帧,节约存储空间。
在一些实施例中,获取到的待解码画面组包含50个编码视频帧,其中,前4个编码视频帧依次为编码视频帧A、编码视频帧B、编码视频帧C和编码视频帧D;根据编码视频帧A的帧时间戳和/或帧序号生成编码视频帧A对应的信息帧,再对编码视频帧A进行解码生成解码结果;由于编码视频帧A的解码结果为解码正常,则根据编码视频帧B的帧时间戳和/或帧序号生成编码视频帧B对应的信息帧,再对编码视频帧B进行解码生成解码结果;由于编码视频帧B的解码结果为解码正常,则根据编码视频帧C的帧时间戳和/或帧序号生成编码视频帧C对应的信息帧,再对编码视频帧C进行解码生成解码结果;由于编码视频帧C的解码结果为解码异常,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流,目标视频帧集合包括编码视频帧A、编码视频帧B以及编码视频帧C。这样,依次根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,若存在至少一个解码结果为解码异常,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流,相较于人工检索并生成异常码流,提高了生成异常码流的效率。
结合图2所示,本公开实施例提供了一种待解码画面组获取方法,包括:
步骤S201,推流设备采集原始视频流;
步骤S202,推流设备对原始视频流进行编码,获得编码码流;
其中,编码码流包括若干个待解码画面组;
步骤S203,推流设备向拉流设备发送编码码流;
步骤S204,拉流设备保存编码码流;
步骤S205,拉流设备在编码码流中获取一待解码画面组。
利用本公开实施例提供的待解码画面组获取方法,推流设备采集原始视频流,对原始视频流进行编码,获得包括若干个待解码画面组的编码码流,并向拉流设备发送编码码流,拉流设备保存编码码流,并在编码码流中获取一待解码画面组,进而通过依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。
可选地,推流设备包括NVR(Network Video Recorder,网络视频录像机)、IPC(IPCamera,网络摄像机)等网络推流设备中的至少一种,待解码画面组包括GOP(Group ofPictures,画面组)等,预设数量包括40-60个。
可选地,依次对编码视频帧进行视频帧处理之后,该方法还包括以下至少之一:按照信息帧的生成顺序,依次将各信息帧存储入预设数据链表,得到信息帧集;若解码满足第一预设条件,根据信息帧集生成异常日志。这样,将各信息帧存储入预设数据链表,得到信息帧集,并且,若存在至少一个解码结果包括解码异常,则根据信息帧集生成异常日志,便于技术人员获取异常日志,提高了获取效率。
可选地,编码视频帧包括关键帧(Intra-coded picture,帧内编码图像帧),依次对编码视频帧进行视频帧处理之后,还包括:若满足第一预设条件或第二预设条件,则获取新的待解码画面组;依次对新的待解码画面组中编码视频帧进行视频帧处理,直到再次满足第一预设条件或第二预设条件;其中,若编码视频帧为关键帧,对关键帧进行视频帧处理之前,清除预设数据链表的数据帧集。这样,由于在待解码画面组中只有关键帧具有参考特性,通过关键帧来确定进行解码的待解码画面组是否为新的待解码画面组,若为新的待解码画面组,则清除预设数据链表的信息帧集,使得预设数据链表中始终只存放一个信息帧集,不仅可以分隔各待解码画面组,而且节约储存空间。
可选地,编码视频帧还包括差别帧(Predictive-coded Picture,前向预测编码图像帧)和双向差别帧(Bidirectionally predicted picture,双向预测编码图像帧)等,其中,关键帧为待解码画面组的第一个编码视频帧。
结合图3所示,本公开实施例提供了一种信息帧生成方法,包括:
步骤S301,判断编码视频帧是否为关键帧;若是,执行步骤S302;若否,执行步骤S303;
步骤S302,清除预设数据链表中的信息帧集,执行步骤S303;
步骤S303,根据编码视频帧的帧时间戳和/或帧序号生成信息帧;
步骤S304,按照信息帧的生成顺序,依次将各信息帧存储入预设数据链表,得到信息帧集。
利用本公开实施例提供的信息帧生成方法,由于在待解码画面组中只有关键帧具有参考特性,通过关键帧来确定进行解码的待解码画面组是否为新的待解码画面组,若为新的待解码画面组,则清除预设数据链表的信息帧集,使得预设数据链表中始终只存放一个信息帧集,不仅可以分隔各待解码画面组,而且节约储存空间。
可选地,对生成有信息帧的编码视频帧进行解码,包括:通过预设解码模块对编码视频帧进行解码;若预设编码模块输出编码视频帧对应的解码视频帧,则将解码结果确定为解码正常;若预设编码模块输出解码返回值,并且解码返回值包括预设返回值,则将解码结果确定为解码异常。这样,根据预设编码模块输出的解码返回值或解码视频帧确定解码结果,实现了对解码结果的主动识别,提高生成异常码流的效率,并且提高了识别的精确度。
可选地,若预设编码模块输出解码返回值,并且解码返回值不包括预设返回值,则将解码结果确定为其他异常。
可选地,若预设编码模块输出解码返回值,该方法还包括:从预设错误信息数据库中匹配出与解码返回值相同的预设返回值,并获取该预设返回值对应的预设错误信息,预设错误信息数据库储存有若干个预设返回值以及各预设返回值对应的预设错误信息,其中,预设错误信息包括码流异常、解码器异常等。
结合图4所示,本公开实施例提供了一种解码结果生成方法,包括:
步骤S401,通过预设编码模块对编码视频帧进行解码;
步骤S402,判断预设编码模块是否输出解码返回值;若是,执行步骤S403;若否,执行步骤S405;
步骤S403,判断解码返回值是否为预设返回值;若是,执行步骤S404;若否,执行步骤306;
步骤S404,将解码结果确定为解码异常,执行步骤S405;
步骤S405,获取新的编码视频帧,并对新的编码视频帧进行视频帧处理。
步骤S406,将解码结果确定为其他异常。
利用本公开实施例提供的解码结果生成方法,根据预设编码模块输出的解码返回值或解码视频帧确定解码结果,实现了对解码结果的主动识别,提高生成异常码流的效率,并且提高了识别的精确度。
可选地,满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流,包括:若满足第一预设条件,从编码码流中获取各信息帧对应的目标视频帧,得到目标视频帧集合,并生成异常码流。这样,相较于获取目标视频帧集合并生成异常码流,根据各信息帧对应的编码视频帧生成的异常码流数据量更小,节约储存空间,进而提高生成异常码流的效率。
可选地,根据各信息帧对应的编码视频帧生成异常码流,包括:从预设预设数据链表中,按照生成先后顺序逐一读取信息帧;根据读取到的信息帧从编码码流中获取其对应的目标信息帧,直到预设数据链表中的信息帧均读取完成;根据获取到的编码信息帧生成异常码流。
可选地,满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流,包括:若满足第一预设条件,根据初始信息帧从编码码流中确定初始视频帧,初始信息帧为待解码画面组中第一个编码视频帧的信息帧;从编码码流中确定目标视频帧集合,进而生成异常码流,目标视频帧集合包括初始视频帧以及位于初始视频帧之后连续的多个目标视频帧,其中,目标视频帧集合的帧数量与编码视频帧数量相同。这样,获取目标视频帧集合并生成异常码流,相较于人工检索并生成异常码流,提高了生成异常码流的效率。
在一些实施例中,将目标视频帧集合存入Video.stream文件中,获得异常码流。
可选地,满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流之后,还包括:将生成的异常码流存入预设存储空间;获取预设存储空间内的异常码流数量;若异常码流数量大于预设发送数量,则发送各异常码流至预设接收端。这样,若异常码流数量大于预设发送数量,则发送各异常码流至预设接收端,便于获取异常码流,进而提高效率。
可选地,满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流之后,还包括:获取预设数据传输方式和指定用户端;根据预设数据传输方式向指定用户端发送异常日志和异常码流,其中,预设数据传输方式包括SSH(SecureShell,安全外壳协议)、FTP(File Transfer Protocol,文件传输协议)、预设调试接口等中的至少一种,预设调试接口包括网页、预设APP(application,应用程序)等中的至少一种。这样,便于用户端远程获取异常日志和异常码流,相较于用户去现场收集异常码流,提高了获取效率。
可选地,对生成有信息帧的编码视频帧进行解码之后,还包括:若满足第二预设条件,则根据解码后的编码视频帧生成正常码流;获取数据处理指令,其中,数据处理指令包括数据展示、图像分析、元素提取、图像处理等中的至少一种;根据数据处理指令对正常码流进行数据处理。这样,在生成正常码流之后,对正常码流进行数据处理,有效提高数据处理效率。
结合图5所示,本公开实施例提供了一种解码异常码流生成方法,包括:
步骤S501,在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧;
步骤S502,预先设置第一预设条件和第二预设条件,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码;
其中,解码结果包括解码正常或解码异常;
步骤S503,依次对编码视频帧进行视频帧处理,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码;
步骤S504,判断是否包含至少一个解码结果为解码异常;若是,执行步骤S505;若否,执行步骤S506;
步骤S505,根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流;执行步骤S506;
步骤S506,获取新的待解码画面组。
利用本公开实施例提供的解码异常码流生成方法,通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。并且,根据各信息帧从编码码流中确定目标视频帧集合,相较于存储编码视频帧,节约存储空间。
结合图6所示,本公开实施例提供了一种解码异常码流生成装置,包括获取模块601、条件模块602、处理模块603和生成模块604。获取模块601用于在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧。条件模块602连接获取模块的输出端,条件模块用于预先设置第一预设条件和第二预设条件,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,解码结果包括解码正常或解码异常。处理模块603连接条件模块的输出端,处理模块用于依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码。生成模块604连接处理模块的输出端,生成模块用于若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。
利用本公开实施例提供的解码异常码流生成装置,通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。并且,根据各信息帧从编码码流中确定目标视频帧集合,相较于存储编码视频帧,节约存储空间。
结合图7所示,本实施例公开了一种电子设备,包括:处理器(processor)700及存储器(memory)701;存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以使终端执行本实施例中任一项方法。可选地,该电子设备还可以包括通信接口(Communication Interface)702和总线703。其中,处理器700、通信接口702、存储器701可以通过总线703完成相互间的通信。通信接口702可以用于信息传输。处理器700可以调用存储器701中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器701中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器701作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器700通过运行存储在存储器701中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器701可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器。
利用本公开实施例提供的电子设备,通过在编码码流中获取一待解码画面组,待解码画面组包括多个编码视频帧,依次对编码视频帧进行视频帧处理,直到满足第一预设条件或第二预设条件,视频帧处理包括根据编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对编码视频帧进行解码,第一预设条件包括存在至少一个解码结果为解码异常,第二条件包括各编码视频帧均完成解码,若满足第一预设条件,则根据各信息帧从编码码流中确定目标视频帧集合,进而生成异常码流。这样,相较于人工检索并生成异常码流,提高了生成异常码流的效率。并且,根据各信息帧从编码码流中确定目标视频帧集合,相较于存储编码视频帧,节约存储空间。
本实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。
本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开的电子设备,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子设备执行如上方法的各个步骤。
在本实施例中,存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和子样本可以被包括在或替换其他实施例的部分和子样本。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的子样本、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它子样本、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些子样本可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (8)
1.一种解码异常码流生成方法,其特征在于,包括:
在编码码流中获取一待解码画面组,所述待解码画面组包括多个编码视频帧;
预先设置第一预设条件和第二预设条件,所述第一预设条件包括存在至少一个解码结果为解码异常,所述第二预设条件包括各所述编码视频帧均完成解码,所述解码结果包括解码正常或解码异常;
依次对所述编码视频帧进行视频帧处理,直到满足所述第一预设条件或所述第二预设条件,所述视频帧处理包括根据所述编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对所述编码视频帧进行解码;
若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流;
依次对所述编码视频帧进行视频帧处理之后,该方法还包括以下至少之一,按照所述信息帧的生成顺序,依次将各所述信息帧存储入预设数据链表,得到信息帧集;若满足所述第一预设条件,根据所述信息帧集生成异常日志;
待解码画面组为GOP;所述编码视频帧包括关键帧,依次对所述编码视频帧进行视频帧处理之后,还包括,若满足所述第一预设条件或所述第二预设条件,则获取新的待解码画面组;依次对所述新的待解码画面组中的编码视频帧进行视频帧处理,直到再次满足所述第一预设条件或所述第二预设条件;其中,若所述编码视频帧为关键帧,对所述关键帧进行视频帧处理之前,清除所述预设数据链表的信息帧集。
2.根据权利要求1所述的方法,其特征在于,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流,包括:
若满足所述第一预设条件,从所述编码码流中获取各所述信息帧对应的目标视频帧,得到目标视频帧集合,并生成异常码流。
3.根据权利要求1所述的方法,其特征在于,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流,包括:
若满足所述第一预设条件,根据初始信息帧从所述编码码流中确定初始视频帧,所述初始信息帧为所述待解码画面组中第一个编码视频帧的信息帧;
从所述编码码流中确定目标视频帧集合,进而生成异常码流,所述目标视频帧集合包括所述初始视频帧以及位于所述初始视频帧之后连续的多个目标视频帧,其中,所述目标视频帧集合的帧数量与所述待解码画面组中的编码视频帧数量相同。
4.根据权利要求1至3任一项所述的方法,其特征在于,若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流之后,还包括:
将生成的异常码流存入预设存储空间;
获取所述预设存储空间内的异常码流数量;
若异常码流数量大于预设发送数量,则发送各异常码流至预设接收端。
5.根据权利要求1至3任一项所述的方法,其特征在于,对所述编码视频帧进行解码,包括:
通过预设解码模块对所述编码视频帧进行解码;
若所述预设解码模块输出所述编码视频帧对应的解码视频帧,则将解码结果确定为解码正常;
若所述预设解码模块输出解码返回值,并且所述解码返回值包括预设返回值,则将解码结果确定为解码异常。
6.一种解码异常码流生成装置,其特征在于,包括:
获取模块,用于在编码码流中获取一待解码画面组,所述待解码画面组包括多个编码视频帧;
条件模块,连接所述获取模块的输出端,所述条件模块用于预先设置第一预设条件和第二预设条件,所述第一预设条件包括存在至少一个解码结果为解码异常,所述第二预设条件包括各所述编码视频帧均完成解码,所述解码结果包括解码正常或解码异常;
处理模块,连接所述条件模块的输出端,所述处理模块用于依次对所述编码视频帧进行视频帧处理,直到满足所述第一预设条件或所述第二预设条件,所述视频帧处理包括根据所述编码视频帧的帧时间戳和/或帧序号生成信息帧之后,对所述编码视频帧进行解码;
生成模块,连接所述处理模块的输出端,所述生成模块用于若满足所述第一预设条件,则根据各所述信息帧从所述编码码流中确定目标视频帧集合,进而生成异常码流;
日志模块,用于依次对所述编码视频帧进行视频帧处理之后,按照所述信息帧的生成顺序,依次将各所述信息帧存储入预设数据链表,得到信息帧集;若满足所述第一预设条件,根据所述信息帧集生成异常日志;
循环模块,用于若满足所述第一预设条件或所述第二预设条件,则获取新的待解码画面组;依次对所述新的待解码画面组中的编码视频帧进行视频帧处理,直到再次满足所述第一预设条件或所述第二预设条件;其中,若所述编码视频帧为关键帧,对所述关键帧进行视频帧处理之前,清除所述预设数据链表的信息帧集,待解码画面组包括GOP,所述编码视频帧包括关键帧。
7.一种电子设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行如权利要求1至5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357717.8A CN114051164B (zh) | 2021-11-16 | 2021-11-16 | 解码异常码流生成方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357717.8A CN114051164B (zh) | 2021-11-16 | 2021-11-16 | 解码异常码流生成方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114051164A CN114051164A (zh) | 2022-02-15 |
CN114051164B true CN114051164B (zh) | 2022-10-25 |
Family
ID=80209576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111357717.8A Active CN114051164B (zh) | 2021-11-16 | 2021-11-16 | 解码异常码流生成方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114051164B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886678B (zh) * | 2023-09-06 | 2023-12-05 | 中移(杭州)信息技术有限公司 | 异常码流过滤方法、系统、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1357757A1 (en) * | 2002-04-23 | 2003-10-29 | Monolith Co., Ltd. | Image coding method and apparatus, and image decoding method and apparatus |
CN101207823A (zh) * | 2007-11-22 | 2008-06-25 | 武汉大学 | 用于视频通信的综合抗误码视频编码方法 |
CN103269257B (zh) * | 2013-05-13 | 2016-08-24 | 杰发科技(合肥)有限公司 | 一种检测变长编码码流错误的方法和解码及错误检测装置 |
CN105610800B (zh) * | 2015-12-22 | 2019-01-25 | 曙光信息产业(北京)有限公司 | 一种异常数据处理方法及装置 |
CN107196746B (zh) * | 2016-03-15 | 2020-11-27 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
WO2020237466A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳市大疆创新科技有限公司 | 视频传输方法、装置、飞行器、播放设备及存储介质 |
CN113612962A (zh) * | 2021-07-15 | 2021-11-05 | 深圳市捷视飞通科技股份有限公司 | 视频会议处理方法、系统和装置 |
-
2021
- 2021-11-16 CN CN202111357717.8A patent/CN114051164B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114051164A (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2134092B1 (en) | Information processing apparatus and method, and program | |
EP2123053B1 (en) | Generating a data stream and identifying positions within a data stream | |
CN109714623B (zh) | 图像展示方法、装置、电子设备及计算机可读存储介质 | |
CN103475935A (zh) | 一种视频片段的检索方法及装置 | |
CN111698555B (zh) | 一种视频抽帧处理方法及装置 | |
CN110430445B (zh) | 一种视频同步播放方法、装置、设备及介质 | |
CN114051164B (zh) | 解码异常码流生成方法、装置、电子设备及可读存储介质 | |
CN108900830B (zh) | 验证红外视频图像处理算法实现准确性的平台 | |
CN107566794B (zh) | 一种视频数据的处理方法、系统及终端设备 | |
JP5212110B2 (ja) | ズーム機能付き動画像撮影装置、画像処理及び表示方法とプログラム | |
CN111277800A (zh) | 监控视频编码及播放方法、装置、电子设备及存储介质 | |
CN116193160A (zh) | 一种数字水印嵌入方法、装置、设备和介质 | |
CN113840160B (zh) | 事件数据传输方法、系统、电子设备及可读存储介质 | |
JP2006203270A (ja) | 画像圧縮方法および画像圧縮装置 | |
CN113395523B (zh) | 基于并行线程的图像解码方法、装置、设备及存储介质 | |
CN115866331A (zh) | 视频抽帧分析方法、装置、设备及存储介质 | |
CN113099270B (zh) | 文件存储方法及解码方法、装置、存储介质、电子装置 | |
EP1251702A3 (en) | Video encoding and decoding | |
CN114866733A (zh) | 一种低延迟视频处理方法、系统及装置 | |
CN113873248A (zh) | 一种数字视频数据编码及解码方法和设备 | |
CN112995560A (zh) | 一种并行视频信号的传输方法、装置、设备及存储介质 | |
CN109982067B (zh) | 视频处理方法及装置 | |
CN109246434B (zh) | 视频编码、解码方法及电子设备 | |
JP2016021600A (ja) | 画像符号化装置、画像処理装置、画像送受信システム、画像符号化方法及び制御プログラム | |
US20120106861A1 (en) | Image compression method |
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 |