H264视频流处理方法、系统、控制装置及可读存储介质与流程


h264视频流处理方法、系统、控制装置及可读存储介质
技术领域
1.本发明涉及安防技术领域,具体提供一种h264视频流处理方法、系统、控制装置及可读存储介质。


背景技术:



2.当前,视频数据的编码及传输协议已经非常成熟,具有统一的标准。如,现在国内各系统平台间进行视频传输均使用由公安部科技信息化局提出的,由全国安全防范报警系统标准化技术委员会(sac/tc100)归口,公安部一所等多家单位共同起草的一部国家标准:《安全防范视频监控联网系统信息传输、交换、控制技术要求》,简称gb/t28181。而视频编码90%以上均采用成熟的h264编码标准进行编码。
3.随着计算机视觉技术不断发展,在安防应用场景中会增加人脸、车辆等各种识别设备。通常情况下,识别设备获得的识别信息会希望展示在展示端(如视频监控客户端等),以能够实时查看视频中的识别信息。然而目前的标准协议中并未定义在视频流中传输扩展数据的方法。
4.现有技术中,主要采用h264的sei(supplemental enhancement information,补充增强信息)帧来传输扩展数据,如结构化数据等。但是使用这种方法,在通过流媒体系统转发、存储系统转存等过程中,由于不同的厂商之间的私有协议存在差异,导致sei帧在传输过程中可能会被丢弃,从而使得扩展数据不能够随视频流进行有效传输。
5.相应地,本领域需要一种新的视频流处理方案来解决上述问题。


技术实现要素:



6.为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决如何避免h264视频帧的扩展数据的丢失,实现扩展数据的有效传输的问题。
7.在第一方面,本发明提供一种h264视频流处理方法,所述方法包括:
8.将所述h264视频流中每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块;
9.将所述扩展数据块添加到所述h264视频帧的尾部,获得封装后的h264视频帧;
10.根据传输协议,传输所述封装后的h264视频帧。
11.在上述h264视频流处理方法的一个技术方案中,“将所述h264视频流中每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块”包括:
12.为所述扩展数据创建数据块头部标识
13.对所述扩展数据进行编码,并将编码后的扩展数据添加到所述数据块头部标识之后;
14.为所述扩展数据创建数据块尾部标识,并将所述数据块尾部标识添加到编码后的扩展数据之后,以使得所述数据块头部标识、所述编码后的扩展数据和所述数据块尾部标识组成所述扩展数据块。
15.在上述h264视频流处理方法的一个技术方案中,“对所述扩展数据进行编码”的步骤包括:
16.应用ebsp算法,对所述扩展数据进行编码;和/或,
[0017]“为所述扩展数据创建数据块尾部标识”包括:
[0018]
创建表示所述扩展数据结束的分隔标识,并获取所述编码后的扩展数据的大小;
[0019]
根据所述分隔标识以及编码后的扩展数据的大小,创建所述扩展数据的数据块尾部标识。
[0020]
在第二方面,本发明提供一种h264视频流处理方法,所述方法包括:
[0021]
接收的h264视频流,当需要对所述h264视频流进行解码时,判断所述h264视频流中的每个h264视频帧是否包括扩展数据块;
[0022]
当所述h264视频帧中包含扩展数据块时,根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。
[0023]
在上述h264视频流处理方法的一个技术方案中,“判断所述h264视频流中的每个h264视频帧是否包括扩展数据块”的步骤包括:
[0024]
针对所述h264视频流中的每个h264视频帧,判断所述h264视频帧的第一预设位置是否为预设的分隔标识;
[0025]
若否,则判定所述h264视频帧中不包括扩展数据块;
[0026]
若是,则从所述扩展数据块中第二预设位置获取所述扩展数据块中的编码后的扩展数据的大小;
[0027]
根据所述编码后的扩展数据的大小,获取所述扩展数据块的数据块头部标识的位置;
[0028]
根据所述数据块头部标识的位置,确定所述数据块头部标识是否为预设的数据块头部标识;
[0029]
当所述数据块头部标识为预设的数据块头部标识时,判定所述h264视频帧中包含扩展数据块。
[0030]
在上述h264视频流处理方法的一个技术方案中,“根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码”的步骤包括:
[0031]
根据所述扩展数据块的数据块头部标识和数据块尾部标识,提取所述扩展数据块中包含的编码后的扩展数据;
[0032]
应用esbp算法对编码后的扩展数据进行解码,以获取解码后的扩展数据。
[0033]
在第三方面,提供一种h264视频流处理系统,所述系统包括:
[0034]
扩展数据编码模块,其被配置为将每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块;
[0035]
h264视频帧封装模块,其被配置为将所述扩展数据块添加到所述h264视频帧的尾部,获得封装后的h264视频帧;
[0036]
h264视频帧传输模块,其被配置为根据传输协议,传输所述封装后的h264视频帧。
[0037]
在第四方面,提供一种h264视频流处理系统,所述系统包括:
[0038]
扩展数据块判断模块,其被配置为接收的h264视频帧,当需要对所述h264视频帧进行解码时,判断所述h264视频帧中是否包括扩展数据块;
[0039]
扩展数据解码模块,其被配置为当所述h264视频帧中包含扩展数据块时,根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。
[0040]
在第五方面,提供一种控制装置,该控制装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述h264视频流处理方法的技术方案中任一项技术方案所述的h264视频流处理方法。
[0041]
在第六方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述h264视频流处理方法的技术方案中任一项技术方案所述的h264视频流处理方法。
[0042]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0043]
在实施本发明的技术方案中,本发明将h264视频帧中需要携带的扩展数据进行编码,添加到至h264视频帧,获得封装后的h264视频帧。也就是说,将扩展数据封装至h264视频帧内进行传输,这样在对进行视频流传输的时候,实际传输的就是一个个的h264视频帧,能够实现扩展数据的有效传输,同时也能够避免h264视频流进行转发、存储时扩展数据被丢弃的情况。在需要对扩展数据进行解码时,则可以判断h264视频帧中是否包含扩展数据,如果包含扩展数据则可以数据块头部标识和数据块尾部标识对扩展数据块进行解码,以获得扩展数据。通过上述配置方式,本发明能够确保h264视频帧的扩展数据顺利到达接收端,即使被多个系统存储、转发也不会出现扩展数据丢失的情况;且扩展数据与h264视频帧一一对应,无需使用其他算法实现扩展数据与h264视频帧之间的关联;同时,由于扩展数据块的数据结构简单,其能够实现快速的编码和解码,具有更高的性能。
附图说明
[0044]
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。其中:
[0045]
图1是根据本发明的一个实施例的h264视频流处理方法的主要步骤流程示意图;
[0046]
图2是根据本发明实施例的一个实施方式的获取h264视频帧的扩展数据块的主要步骤流程示意图;
[0047]
图3是根据本发明的另一个实施例的h264视频流处理方法的主要步骤流程示意图;
[0048]
图4是根据本发明实施例的另一个实施方式的对h264视频帧的扩展数据块进行解码的主要步骤流程示意图;
[0049]
图5是根据本发明的一个实施例的h264视频流处理系统的主要结构框图示意图。
[0050]
图6是根据本发明的另一个实施例的h264视频流处理系统的主要结构框图示意图。
具体实施方式
[0051]
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0052]
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个
模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0053]
这里先解释本发明涉及到的一些术语。
[0054]
h264是高度压缩数据视频编码器标准。h264中定义了三种帧,包括i帧、p帧和b帧。其中,完整编码的帧叫i帧;参考之前的i帧生成的只包含差异部分编码的帧叫p帧;参考前后的帧编码的帧叫b帧。
[0055]
h264算法在概念上分为两层:vcl:(video coding layer)视频编码层,负责高效的内容表示;nal:(network abstraction layer)网络提取层,负责以网络所要求的恰当的方式对数据进行打包和传送。
[0056]
nal是将每一帧数据写入到一个nalu(network abstraction layer unit,nal单元)包中进行传输或存储的。i帧、p帧、b帧可以被封装成一个或者多个nalu。每个nalu包之间都是以00 00 00 01(startcode)作为分隔的,对于连续的h264视频帧,当判断到这个startcode后,可以得到的结论是,新的一帧开始。nalu=字节的头信息(nalu header)+原始字节序列载荷(raw byte sequence payload,rbsp)。
[0057]
sei:补充增强信息(supplemental enhancement information)和视频可用信息(vui,video usability information)增加了向视频码流中加入信息的办法,为各种应用提供了用途。
[0058]
ebsp:扩展字节序列载荷(encapsulated byte sequence payload)。nalu包之间是通过startcode来隔开的,如果编码后的原始数据含有0x000001,就无法知道这个到底是不是startcode,因此为了使nalu主体中不包括与startcode相冲突的数据,在rbsp数据中每遇到两个字节连续为0,就插入一个字节的0x03,这样就得到了ebsp。
[0059]
参阅附图1,图1是根据本发明的一个实施例的h264视频流处理方法的主要步骤流程示意图。如图1所示,本发明实施例中的h264视频流处理方法主要包括下列步骤s101-步骤s103。
[0060]
步骤s101:将h264视频流中每个h264视频帧需要携带的扩展数据进行编码,获得h264视频帧的扩展数据块。
[0061]
在本实施例中,在对h264视频流进行传输前,可以判断h264视频流中的每个h264视频帧是否需要携带的扩展数据,如果h264视频帧有需要携带的扩展数据,则可以对扩展数据进行编码,以获取h264视频帧的扩展数据块。其中,扩展数据是指基于h264视频帧进行进一步处理获得的数据,如进行目标识别获得的目标识别结果等。h264视频流是指应用h264编码标准对视频进行编码获得的视频码流。h264视频帧是指组成h264视频流中的各个数据帧。
[0062]
一个实施方式中,可以应用esbp算法对扩展数据进行编码,获得扩展数据块。
[0063]
步骤s102:将扩展数据块添加到h264视频帧的尾部,获得封装后的h264视频帧。
[0064]
在本实施例中,可以将编码获得的扩展数据块添加至h264视频帧的尾部,以获取到封装后的h264视频帧。也就是说,将扩展数据块封装至h264视频帧内。
[0065]
一个实施方式中,h264视频帧可以包括一个nalu或包含多个nalu。
[0066]
步骤s103:根据传输协议,传输封装后的h264视频帧。
[0067]
在本实施例中,可以基于传输协议,来传输封装后的h264视频帧。由于封装后的h264视频帧并未改变h264视频帧的数据结构,因而传输协议会将封装后的h264视频帧作为普通的h264视频帧进行传输。
[0068]
一个实施方式中,传输协议可以为实时传输协议rtp(realtime transport protocol)和/或实时传输控制协议rtcp(realtime transport control protocol)。
[0069]
基于上述步骤s101-步骤s103,本发明实施例将h264视频帧中需要携带的扩展数据进行编码,添加到至h264视频帧,获得封装后的h264视频帧。也就是说,将扩展数据封装至h264视频帧内进行传输,这样在对进行视频流传输的时候,实际传输的就是一个个的h264视频帧,能够实现扩展数据的有效传输,同时也能够避免h264视频流进行转发、存储时扩展数据被丢弃的情况。通过上述配置方式,本发明实施例能够确保h264视频帧的扩展数据顺利到达接收端,即使被多个系统存储、转发也不会出现扩展数据丢失的情况;且扩展数据与h264视频帧一一对应,无需使用其他算法实现扩展数据与h264视频帧之间的关联;同时,由于扩展数据块的数据结构简单,其能够实现快速的编码,具有更高的性能。
[0070]
下面对步骤s101作进一步地说明。
[0071]
在本发明实施例的一个实施方式中,步骤s101可以进一步包括以下步骤s1011至步骤s1013:
[0072]
步骤s1011:为扩展数据创建数据块头部标识。
[0073]
步骤s1012:对扩展数据进行编码,并将编码后的扩展数据添加到数据块头部标识之后。
[0074]
步骤s1013:为扩展数据创建数据块尾部标识,并将数据块尾部标识添加到编码后的扩展数据之后,以使得数据块头部标识、编码后的扩展数据和数据块尾部标识组成扩展数据块。
[0075]
在本实施方式中,可以先为扩展数据创建数据块头部标识,以表示扩展数据块的开始,再将编码后的扩展数据添加到数据块头部标识之后,并添加数据块尾部标识,以表示扩展数据块结束。
[0076]
一个实施方式中,步骤s1013可以进一步包括步骤s10131和步骤s10132:
[0077]
步骤s10131:创建表示扩展数据结束的分隔标识,并获取编码后的扩展数据的大小。
[0078]
步骤s10132:根据分隔标识以及编码后的扩展数据的大小,创建扩展数据的数据块尾部标识。
[0079]
在本实施方式中,可以先创建标识扩展数据块接收的分隔标识,并获取编码后的扩展数据的大小,以根据分隔标识和编码后的扩展数据的大小,创建扩展数据的数据块尾部标识。
[0080]
一个实施方式中,可以将00 00 00 02作为扩展数据的数据块头部标识;应用ebsp
算法对扩展数据进行编码,以防止扩展数据中存在与startcode相同的数据,导致解码器误判;将编码后的扩展数据添加至数据块头部标识之后,并在编码后的扩展数据之后添加数据块尾部标识;其中,数据块尾部标识包括两部分:2字节分隔符+2字节编码后的扩展数据的大小,2字节分隔符可以为ffff。
[0081]
一个实施方式中,可以参阅附图2,图2是根据本发明实施例的一个实施方式的获取h264视频帧的扩展数据块的主要步骤流程示意图。如图2所示,获取h264视频帧的扩展数据块可以包括以下步骤s201至步骤s203:
[0082]
步骤s201:添加数据块头部标识。
[0083]
在本实施方式中,步骤s201所述的方法与前述步骤s1011,为了描述简单,在此不再赘述。
[0084]
步骤s202:编码扩展数据。
[0085]
在本实施方式中,步骤s202所述的方法与前述步骤s1012,为了描述简单,在此不再赘述。
[0086]
步骤s203:添加数据块尾部标识。
[0087]
在本实施方式中,步骤s203所述的方法与前述步骤s1013,为了描述简单,在此不再赘述。
[0088]
进一步,本发明还提供了另一种h264视频流处理方法。
[0089]
参阅附图3,图3是根据本发明的另一个实施例的h264视频流处理方法的主要步骤流程示意图。如图3所示,本发明实施例中的h264视频流处理方法主要包括下列步骤s301-步骤s302。
[0090]
步骤s301:接收的h264视频流,当需要对h264视频流进行解码时,判断h264视频流中的每个h264视频帧是否包括扩展数据块。
[0091]
在本实施例中,当接收到h264视频流时,可以先判断是否需要对h264视频流进行解码,如果需要进行解码,则可以判断h264视频流中的每个h264视频帧中是否包含扩展数据块。
[0092]
一个实施方式中,当接收到h264视频流时还可以对接收到h264视频流时进行存储或者转发等操作。
[0093]
步骤s302:当h264视频帧中包含扩展数据块时,根据扩展数据块的数据块头部标识和数据块尾部标识,对h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。
[0094]
在本实施例中,如果h264视频帧中包含扩展数据块,则可以根据扩展数据块的数据块头部标识和数据块尾部标识,对h264视频帧的扩展数据块进行解码。由于扩展数据块的数据块头部标识和数据块尾部标识都是预先设定好的,因而可以通过数据块头部标识和数据块尾部标识来确定扩展数据块的位置,进一步对扩展数据块进行解码,以获取解码后的扩展数据。
[0095]
基于上述步骤s301-步骤s302,本发明实施例在需要对扩展数据进行解码时,则可以判断h264视频帧中是否包含扩展数据,如果包含扩展数据则可以数据块头部标识和数据块尾部标识对扩展数据块进行解码,以获得扩展数据。通过上述配置方式,本发明实施例能够确保h264视频帧的扩展数据顺利到达接收端,即使被多个系统存储、转发也不会出现扩展数据丢失的情况;且扩展数据与h264视频帧一一对应,无需使其他算法实现扩展数据与
h264视频帧之间的关联;同时,由于扩展数据块的数据结构简单,其能够实现快速解码,具有更高的性能。
[0096]
下面分别对步骤s301和步骤s302作进一步地说明。
[0097]
在本发明实施例的一个实施方式中,步骤s301可以进一步包括以下步骤s3011至步骤s3016:
[0098]
步骤s3011:针对h264视频流中的每个h264视频帧,判断h264视频帧的第一预设位置是否为预设的分隔标识;若是,则跳转至步骤s3013;若否,则跳转至步骤s3012。
[0099]
在本实施方式中,由于扩展数据块是封装在h264视频帧的尾部的,而扩展数据块的数据块尾部标识中的包含分隔标识,可以根据分隔标识来初步判断当前h264视频帧中是否包括扩展数据块。
[0100]
一个实施方式中,分隔标识为ffff,第一预设位置为h264视频帧的倒数第3字节和倒数第4字节。当h264视频帧的倒数第3字节和倒数第4字节均为ff时,则可以跳转至步骤s3013;若否,则说明当前h264视频帧中不包括扩展数据块。
[0101]
步骤s3012:判定h264视频帧中不包括扩展数据块。
[0102]
步骤s3013:则从扩展数据块中第二预设位置获取扩展数据块中的编码后的扩展数据的大小。
[0103]
在本实施方式中,由于扩展数据块的数据块尾部标识中的包含扩展数据块中的编码后的扩展数据的大小,因而可以从扩展数据块中第二预设位置获取扩展数据块中的编码后的扩展数据的大小。
[0104]
一个实施方式中,第二预设位置为当前h264视频帧的最后两个字节。
[0105]
步骤s3014:根据编码后的扩展数据的大小,获取扩展数据块的数据块头部标识的位置。
[0106]
在本实施方式中,可以根据如果编码后的编码后的扩展数据的大小来计算扩展数据块的数据块头部标识的位置。
[0107]
步骤s3015:根据数据块头部标识的位置,确定数据块头部标识是否为预设的数据块头部标识。
[0108]
在本实施方式中,当确定了数据块头部标识的位置后,则可以进一步判断数据块头部标识是否为预设的数据块头部标识。
[0109]
步骤s3016:当数据块头部标识为预设的数据块头部标识时,判定h264视频帧中包含扩展数据块。
[0110]
在本实施方式中,如果确定数据块头部标识的位置处为预设的数据块头部标识,则可以认为h264视频帧中包含扩展数据块。
[0111]
一个实施方式中,预设的数据块头部标识为00 00 00 02,扩展数据的大小为n的话,那么可以校验当前h264视频帧的倒数第n+8至倒数第n+4字节是否为00 00 00 02,若是,则判定当前h264视频帧中包含扩展数据块。
[0112]
在本发明实施例的一个实施方式中,步骤s302可以进一步包括以下步骤s3021和步骤s3022:
[0113]
步骤s3021:根据扩展数据块的数据块头部标识和数据块尾部标识,提取扩展数据块中包含的编码后的扩展数据。
[0114]
步骤s3022:应用esbp算法对编码后的扩展数据进行解码,以获取解码后的扩展数据。
[0115]
在本实施方式中,当判定当前h264视频帧包含扩展数据块后,则可以根据扩展数据块的数据块头部标识和数据块尾部标识,提取扩展数据块中包含的编码后的扩展数据,并对编码后的扩展数据进行解码,以获得当前h264视频帧的扩展数据。
[0116]
一个实施方式中,编码后的扩展数据处于当前h264视频帧的倒数第n+4至倒数第4字节,将当前h264视频帧的倒数第n+4至倒数第4字节的数据提取出来,并应用esbp算法进行反向解码,即可获得当前h264视频帧的扩展数据。
[0117]
一个实施方式中,可以参阅附图4,图4是根据本发明实施例的另一个实施方式的对h264视频帧的扩展数据块进行解码的主要步骤流程示意图。如图4所示,可以根据以下步骤s401至步骤s403对h264视频帧的扩展数据块进行解码:
[0118]
步骤s401:校验扩展数据块的数据块尾部标识。
[0119]
在本实施方式中,步骤s401所述的方法与前述步骤s3011所述的方法类似,为了描述简单,在此不再赘述。
[0120]
步骤s402:校验扩展数据块的数据块头部标识。
[0121]
在本实施方式中,步骤s402所述的方法与前述步骤s3015所述的方法类似,为了描述简单,在此不再赘述。
[0122]
步骤s403:对编码后的扩展数据进行解码。
[0123]
在本实施方式中,步骤s403所述的方法与前述步骤s3016所述的方法类似,为了描述简单,在此不再赘述。
[0124]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0125]
进一步,本发明还提供了一种h264视频流处理系统。
[0126]
参阅附图5,图5是根据本发明的一个实施例的h264视频流处理系统的主要结构框图。如图5所示,本发明实施例中的h264视频流处理系统可以包括扩展数据编码模块、h264视频帧封装模块和h264视频帧传输模块。在本实施例中,扩展数据编码模块可以被配置为将每个h264视频帧需要携带的扩展数据进行编码,获得h264视频帧的扩展数据块。h264视频帧封装模块可以被配置为将扩展数据块添加到h264视频帧的尾部,获得封装后的h264视频帧。h264视频帧传输模块可以被配置为根据传输协议,传输封装后的h264视频帧。
[0127]
上述h264视频流处理系统以用于执行图1所示的h264视频流处理方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,h264视频流处理系统的具体工作过程及有关说明,可以参考h264视频流处理方法的实施例所描述的内容,此处不再赘述。
[0128]
进一步,本发明还提供了另一种h264视频流处理系统。
[0129]
参阅附图6,图6是根据本发明的另一个实施例的h264视频流处理系统的主要结构框图。如图6所示,本发明实施例中的h264视频流处理系统可以包括扩展数据块判断模块和扩展数据解码模块。在本实施例中,扩展数据块判断模块可以被配置为接收的h264视频帧,
当需要对h264视频帧进行解码时,判断h264视频帧中是否包括扩展数据块。扩展数据解码模块可以被配置为当h264视频帧中包含扩展数据块时,根据扩展数据块的数据块头部标识和数据块尾部标识,对h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。
[0130]
上述h264视频流处理系统以用于执行图3所示的h264视频流处理方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,h264视频流处理系统的具体工作过程及有关说明,可以参考h264视频流处理方法的实施例所描述的内容,此处不再赘述。
[0131]
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
[0132]
进一步,本发明还提供了一种控制装置。在根据本发明的一个控制装置实施例中,控制装置包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的的h264视频流处理方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的的h264视频流处理方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该控制装置可以是包括各种电子设备形成的控制装置设备。
[0133]
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的的h264视频流处理方法的程序,该程序可以由处理器加载并运行以实现上述的h264视频流处理方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0134]
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
[0135]
本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
[0136]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些
更改或替换之后的技术方案都将落入本发明的保护范围之内。

技术特征:


1.一种h264视频流处理方法,其特征在于,所述方法包括:将所述h264视频流中每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块;将所述扩展数据块添加到所述h264视频帧的尾部,获得封装后的h264视频帧;根据传输协议,传输所述封装后的h264视频帧。2.根据权利要求1所述的h264视频流处理方法,其特征在于,“将所述h264视频流中每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块”包括:为所述扩展数据创建数据块头部标识;对所述扩展数据进行编码,并将编码后的扩展数据添加到所述数据块头部标识之后;为所述扩展数据创建数据块尾部标识,并将所述数据块尾部标识添加到编码后的扩展数据之后,以使得所述数据块头部标识、所述编码后的扩展数据和所述数据块尾部标识组成所述扩展数据块。3.根据权利要求2所述的h264视频流处理方法,其特征在于,“对所述扩展数据进行编码”的步骤包括:应用ebsp算法,对所述扩展数据进行编码;和/或,“为所述扩展数据创建数据块尾部标识”包括:创建表示所述扩展数据结束的分隔标识,并获取所述编码后的扩展数据的大小;根据所述分隔标识以及编码后的扩展数据的大小,创建所述扩展数据的数据块尾部标识。4.一种h264视频流处理方法,其特征在于,所述方法包括:接收的h264视频流,当需要对所述h264视频流进行解码时,判断所述h264视频流中的每个h264视频帧是否包括扩展数据块;当所述h264视频帧中包含扩展数据块时,根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。5.根据权利要求4所述的h264视频流处理方法,其特征在于,“判断所述h264视频流中的每个h264视频帧是否包括扩展数据块”的步骤包括:针对所述h264视频流中的每个h264视频帧,判断所述h264视频帧的第一预设位置是否为预设的分隔标识;若否,则判定所述h264视频帧中不包括扩展数据块;若是,则从所述扩展数据块中第二预设位置获取所述扩展数据块中的编码后的扩展数据的大小;根据所述编码后的扩展数据的大小,获取所述扩展数据块的数据块头部标识的位置;根据所述数据块头部标识的位置,确定所述数据块头部标识是否为预设的数据块头部标识;当所述数据块头部标识为预设的数据块头部标识时,判定所述h264视频帧中包含扩展数据块。6.根据权利要求4所述的h264视频流处理方法,其特征在于,“根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码”的步骤包括:
根据所述扩展数据块的数据块头部标识和数据块尾部标识,提取所述扩展数据块中包含的编码后的扩展数据;应用esbp算法对编码后的扩展数据进行解码,以获取解码后的扩展数据。7.一种h264视频流处理系统,其特征在于,所述系统包括:扩展数据编码模块,其被配置为将每个h264视频帧需要携带的扩展数据进行编码,获得所述h264视频帧的扩展数据块;h264视频帧封装模块,其被配置为将所述扩展数据块添加到所述h264视频帧的尾部,获得封装后的h264视频帧;h264视频帧传输模块,其被配置为根据传输协议,传输所述封装后的h264视频帧。8.一种h264视频流处理系统,其特征在于,所述系统包括:扩展数据块判断模块,其被配置为接收的h264视频帧,当需要对所述h264视频帧进行解码时,判断所述h264视频帧中是否包括扩展数据块;扩展数据解码模块,其被配置为当所述h264视频帧中包含扩展数据块时,根据所述扩展数据块的数据块头部标识和数据块尾部标识,对所述h264视频帧的扩展数据块进行解码,以获取解码后的扩展数据。9.一种控制装置,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至3中任一项所述的h264视频流处理方法或权利要求4至6中任一项所述的h264视频流处理方法。10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至3中任一项所述的h264视频流处理方法或权利要求4至6中任一项所述的h264视频流处理方法。

技术总结


本发明涉及安防技术领域,具体提供一种H264视频流处理方法、系统、控制装置及可读存储介质,旨在解决如何避免H264视频帧的扩展数据的丢失,实现扩展数据的有效传输的问题。为此目的,本发明将H264视频帧中需要携带的扩展数据进行编码,添加到至H264视频帧,获得封装后的H264视频帧。在需要对扩展数据进行解码时,则可以判断H264视频帧中是否包含扩展数据,如果包含扩展数据则可以数据块头部标识和数据块尾部标识对扩展数据块进行解码,以获得扩展数据。通过上述配置方式,能够确保H264视频帧的扩展数据顺利到达接收端,即使被多个系统存储、转发也不会出现扩展数据丢失的情况。转发也不会出现扩展数据丢失的情况。转发也不会出现扩展数据丢失的情况。


技术研发人员:

周前龙 李岩 谢宝山

受保护的技术使用者:

北京云从科技有限公司

技术研发日:

2022.08.19

技术公布日:

2022/11/22

本文发布于:2024-09-20 15:31:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/2006.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   视频   所述   标识
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议