CN114697744A - 一种视频数据处理方法及相关装置 - Google Patents

一种视频数据处理方法及相关装置 Download PDF

Info

Publication number
CN114697744A
CN114697744A CN202011582898.XA CN202011582898A CN114697744A CN 114697744 A CN114697744 A CN 114697744A CN 202011582898 A CN202011582898 A CN 202011582898A CN 114697744 A CN114697744 A CN 114697744A
Authority
CN
China
Prior art keywords
data
code stream
data block
decoded
packet
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
Application number
CN202011582898.XA
Other languages
English (en)
Other versions
CN114697744B (zh
Inventor
皮鲲
马琰
赵海涛
王兆辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hytera Communications Corp Ltd
Original Assignee
Hytera Communications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hytera Communications Corp Ltd filed Critical Hytera Communications Corp Ltd
Priority to CN202011582898.XA priority Critical patent/CN114697744B/zh
Publication of CN114697744A publication Critical patent/CN114697744A/zh
Application granted granted Critical
Publication of CN114697744B publication Critical patent/CN114697744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/4408Processing 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 involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频数据处理方法及相关装置,包括:对视频码流数据进行分包处理,获得若干按序排列的码流数据包;依序对预设数量的码流数据包进行组包处理,以获得第一数据块;将第一数据块发送至硬加密设备进行加密,得到加密数据块;对加密数据块进行拆包处理,获得若干待解码数据包,其中,待解码数据包所对应的有效载荷数据与其对应的码流数据包所包括的有效载荷数据相同,本申请所提供的技术方案可实现快速且安全地对视频数据进行处理。

Description

一种视频数据处理方法及相关装置
技术领域
本申请涉及视频技术领域,特别是涉及一种视频数据处理方法及相关装置。
背景技术
在宽带产品中设计硬件加密方案时,面临宽带业务带来的技术挑战。在宽带产品中,视频业务是常见的客户需求。在现有的终端产品中,终端侧对视频会议最大处理能力需求是8路视频解密+1路视频加密(720p,H.264),对应要求安全TF卡总的加密处理能力大于18Mbps。但是经过对安全TF卡模拟业务场景实测,得到安全TF卡的处理能力约4.5Mbps(AES256CTR算法),只能支撑约2路视频加解密业务。因此可以得知现有技术中安全TF卡的视频硬件加解密速度远不能满足业务需求,安全TF卡的视频硬件加解密速度成为影响硬加密方案设计的一个关键技术瓶颈,而现有的视频加速方案存在安全性不足,速度波动大等缺点,故需要一种可以解决上述技术问题的技术方案。
发明内容
本申请主要解决的技术问题是提供一种视频数据处理方法及相关装置,可实现快速且安全地对视频数据进行处理。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种视频数据处理方法,所述方法包括:
对视频码流数据进行分包处理,获得若干按序排列的码流数据包;
依序对预设数量的所述码流数据包进行组包处理,以获得第一数据块;
将所述第一数据块发送至硬加密设备进行加密,得到加密数据块;
对所述加密数据块进行拆包处理,获得若干待解码数据包,其中,所述待解码数据包所对应的有效载荷数据与其对应的所述码流数据包所包括的有效载荷数据相同。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种视频数据处理方法,所述方法包括:
接收若干待解码数据包;
对所述待解码数据包进行组包处理以获得加密数据块,并将所述加密数据块发送至硬解密设备进行解密,得到解密数据块;
对所述解密数据块进行拆包处理,以获得预设数量的码流数据包;
对所有的码流数据包进行组包处理,获得视频码流数据。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种视频数据处理装置,所述装置包括存储器和处理器,所述存储器与所述处理器耦接,其中,
所述通信电路在所述处理器的控制下,用于与外部终端设备进行交互,以发送或接收数据;
所述存储器存储有计算机程序;
所述处理器用于运行所述计算机程序,以执行如上所述的任一项所述的方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现如上所述的方法。
本申请的有益效果是:区别于现有技术的情况,本申请所提供的技术方案,通过对码流数据进行分包处理,获得若干按序排列的码流数据包,然后依序对预设数量的码流数据包进行组包处理,进而获得第一数据块,将第一数据块发送至硬加密设备进行加密,得到加密数据块,对加密数据块进行拆包处理,获得若干待解码数据包。其中,待解码数据包括所对应的有效载荷数据与码流数据包对应的有效载荷数据相同,本申请所提供的技术方案,通过将码流数据包组包得到一个较大的第一数据块,以第一数据块为单位发送至硬加密设备,可以较好地减少发送数据调度软件的次数,降低了接口传输的耗时,也提高了对于视频码流数据硬加密的速度,进而实现快速且安全地对视频数据进行处理。
附图说明
图1是本申请一种视频数据处理方法一实施例中的流程示意图;
图2为本申请一种视频数据处理方法另一实施例中的流程示意图;
图3为本申请一种视频数据处理方法一个实施例中的应用场景示意图;
图4为本申请一种视频数据处理方法又一实施例中的流程示意图;
图5为本申请一种视频数据处理方法一实施例中的流程示意图;
图6为本申请一种视频数据处理方法另一实施例中的流程示意图;
图7为本申请一种视频数据处理方法一实施例中交互示意图;
图8为本申请一种视频数据处理方法一实施例中的加解密测试耗时结构示意图;
图9为本申请一种视频数据处理装置一实施例中的结构示意图;
图10为本申请一种存储介质一实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,图1为本申请一种视频数据处理方法一实施例中的流程示意图。在当前实施例中,本申请所提供的方法的执行主体为用于对视频数据进行编码的设备,如可以为编码器。在当前实施例中,本申请所提供的方法包括:
S110:对视频码流数据进行分包处理,获得若干按序排列的码流数据包。
首先,在获取到原始视频数据之后,对视频数据进行编码处理,进而得到视频码流数据。在得到视频码流数据后,进一步对所得的视频码流数据进行分包处理,获得若干按序排列的码流数据包。其中,分包处理是将一个较大的数据包按照预设的分包规则划分得到若干设定大小的码流数据包。
进一步地,当是基于实时传输协议(即RTP:Real-time Transport Protocol)对视频数据进行传输,则上述步骤S110进一步包括:基于RTP传输协议的传输规则对视频码流数据进行分包,进而得到若干按序排列的码流数据包。其中,每个码流数据包的大小是根据RTP传输协议进行确定。如在一实施例中,可以根据RTP传输协议将所得的视频码流数据进行分包处理,获得若干按序排列的1kB的码流数据包,在当前实施例中对视频码流数据进行分包处理所获得的若干码流数据包的大小相同,每个码流数据包均包括包头和有效载荷数据。
S120:按序对预设数量的码流数据包进行组包处理,以获得第一数据块。
在获得若干按序排列的码流数据包之后,按序对预设数量的码流数据包进行组包处理,进而获得第一数据块。其中,组包处理是指将选定的预设数量的数据包按照组包处理的规则组合成一个较大的数据块,组包处理的规则可以是直接将码流数据包按照原始排列顺序进行组合获得一个较大的第一数据块。在另一实施例中,组包处理的规则也可以是按序对各个码流数据包中的有效载荷数据进行组包,进而得到一个较大的第一数据块。
如:上述步骤S110中获取的码流数据包包括:D(1)、D(2)、D(3)......D(32)......D(n),则步骤S120则会按照码流数据包所排列的顺序对预设数量的码流数据包进行组包处理。其中,预设数量是根据硬加密设备、硬解密设备以及用于解码的设备的参数进行设置,在此不做限定,码流数据包所排列的顺序为步骤S110中分包处理后所得码流数据包的原始排列顺序。如,在一实施例中,当每个码流数据包的大小为1kB时,则步骤S120中可以是对16个码流数据包进行组包处理,以获得大小为16kB的第一数据块。即分别选取D(1)至D(16)并对所选取的数据包进行组包处理获得一个第一数据块,选取D(17)至D(32)进行组包处理获得一个第一数据块,按照数据包的排列顺序依次执行下去直至将所有的码流数据包全部组包完毕。
进一步地,如若在依序对预设数量的码流数据包进行组包处理的过程中,最后剩余的码流数据包不够组成一个设定大小的第一数据块,则会按照设定的补位规则对应进行补位处理以获得设定大小的第一数据块。如,在最后一个码流数据包之后进行补零处理,其中,补零的数量是以获得设定大小的第一数据块为基准。如,以码流数据包为1kB,第一数据块为16kB为例,如若最后剩余14个码流数据包,则会在最后一个码流数据包后补位2kB的零,以实现组包获得16kB的第一数据块。
S130:将第一数据块发送至硬加密设备进行加密,得到加密数据块。
在获得第一数据块之后,解码器将所获得的第一数据块发送至硬加密设备,以利用硬加密设备对第一数据块进行硬加密处理。硬加密设备对第一数据块执行了硬加密处理之后获得加密数据块,并将加密数据块发回解码器端,解码器端获取到硬加密设备发送的加密数据块后进一步执行步骤S140。
其中,需要说明的是,硬加密设备是以第一数据块为单位进行加密处理,且硬加密设备对第一数据块的加密规则基于预先设定为准,在此不做限定,硬加密设备对第一数据块进行加密的模式可以根据实际的需要进行选定,在此也不做任何限定。进一步地,硬加密设备包括安全TF卡或其他专门用于硬加密的终端。
S140:对加密数据块进行拆包处理,获得若干待解码数据包。
解码器获得硬加密设备发送的加密数据块后,进一步对所得的加密数据块进行拆包处理,以获得若干待解码数据包,然后由编码器进一步将所获得的待解码数据包发送至解码器端。其中,拆包处理是按照设定的拆包处理的规则将一个较大的数据包或数据块拆分成若干较小的数据包。待解码数据包是用于发送至解码器端的数据,每个待解码数据包所对应的有效载荷数据与其自身所对应的码流数据包所包括的有效载荷数据相同。
进一步地,步骤S140是参考上述步骤S120中的组包处理规则对加密数据块进行拆包处理获得若干待解码数据包。自加密数据块的第一位开始,按序将加密数据块拆分,以得到与码流数据包大小相同的待解码数据包。如,对视频码流数据进行分包处理得到的是1kB的数据包时,则对应的步骤S140中对加密数据块进行拆包后,得到的是若干大小为1kB的待解码数据包。编码器在执行步骤S140之后进一步将所得的待解码数据包发送至解码器端,供解码器进行解码处理获得视频,进而完成对视频数据的传输处理。
本申请图1所对应的实施例中,区别于现有技术的情况,本申请所提供的技术方案,通过对码流数据进行分包处理,获得若干按序排列的码流数据包,然后依序对预设数量的码流数据包进行组包处理,进而获得第一数据块,将第一数据块发送至硬加密设备进行加密,得到加密数据块,对加密数据块进行拆包处理,获得若干待解码数据包。其中,待解码数据包所对应的有效载荷数据与其自身对应的码流数据包所包括的有效载荷数据相同,本申请所提供的技术方案,通过对码流数据包进行组包处理后得到一个较大的第一数据块,以较大的第一数据块为单位将码流数据发送至硬加密设备进行加密处理,可以较好地减少发送数据调度软件的次数,降低了接口传输的耗时,也提高了硬加密设备对于视频码流数据加密的速度,进而实现快速且安全地对视频数据进行处理。
请参见图2,图2为本申请一种视频数据处理方法另一实施例中的流程示意图。在当前实施例中,本申请所提供的方法包括:
S201:对视频码流数据进行分包处理,获得若干按序排列的码流数据包。步骤S201与上述步骤S110相同,在此不再赘述,具体可以参见步骤S110对应部分的阐述。
在当前实施例中,上述步骤S120中依序对预设数量的码流数据包进行组包处理之前,本申请所提高的方法还包括步骤S202。
S202:对码流数据包按照帧类型进行分组,和/或确定当前加密模式。
在对码流数据包进行组包之前,首先对当前码流数据包按照帧类型进行分组,和/或确定当前选定的用于加密码流数据的加密模式。
其中,在编解码的过程中是以帧为单位对视频数据进行处理的,故在对加解密组包处理过程中也是以帧为单位。经过按照帧类型将码流数据包分组,可以较好地避免为了等待其他帧数据的解密或传输而影响当前帧数据的处理。
当前加密模式用于确定组包处理的规则和/或拆包处理的规则。加密模式包括:独立块加密模式、算子反馈类加密模式或密文反馈类加密模式中的任意一种。可以理解的是,在其他实施例中,加密模式也可以包括其他类型,在此不一一列举。以H264协议为例,H264协议内定义了三种帧,分别是I帧、B帧与P帧。其中,I帧就是一个编码完整图像的帧,而B帧与P帧所对应的就是不编码全部图像的帧,P帧与B帧的差别就是P帧是参考之前的I帧而生成的,而B帧是参考前后图像帧编码生成的。
若经过确定当前加密模式为独立块加密模式,则上述步骤S120中的依序对预设数量的码流数据包进行组包处理,以获得第一数据块,进一步包括下述步骤S203至步骤S205。
S203:分别获取预设数量的码流数据包中的有效载荷数据。
当确定当前加密模式为独立块加密模式,则会依次按序获取预设数量的码流数据包中的有效载荷数据。
S204:分别对有效载荷数据进行补位处理,以获得预设数量个第一预设大小的第二数据块。
在获取到有效载荷数据后,分别对所获取的各个码流数据包的有效载荷数据进行补位处理,以获得预设数量个第一预设大小的第二数据块。即步骤S204是通过对所获取的各个码流数据包的有效载荷数据进行补位处理,进而将有效载荷数据的所占内存大小补位至第一预设大小,进而获得占用内存相同的第二数据块。在当前实施例中,通过对有效载荷数据补位获得大小相同的第二数据块,可以实现准确快速地将第二数据块组合获得第一数据块,也方便后续对加密后的加密数据块的快速拆分。
进一步地,上述步骤S204分别对有效载荷数据进行补位处理,以获得预设数量个第一预设大小的第二数据块,进一步包括:分别在有效载荷数据的最后一位数据之后补零,直至获得第一预设大小的第二数据块。
S205:依照预设数量的码流数据包的排列顺序,将对应的第二数据块进行组合,获得第一数据块。
在获得第二数据块后,按照预设数量的码流数据包的排列顺序,将各个码流数据包对应的各个第二数据块进行组合,进而获得第一数据块。其中,如若预设数量为8时,则会按照码流数据包原始排列顺序,分别对每8个第二数据块进行组合,直至将所有的第二数据块组合完毕。其中,在对有效载荷数据进行补位处理获得第二数据块时,是按照码流数据包的排列顺序排列第二数据块,即第二数据块的顺序与其自身所对应的码流数据包的顺序相同。可以理解的是,在其他实施例中并不限定预设数量的值,如可结合硬加密设备、编码器和解码器的参数设置预设数量4、8、16、为32,在此不一一列举。
S206:将第一数据块发送至硬加密设备进行加密,得到加密数据块。
S207:对加密数据块进行拆包处理,获得若干待解码数据包。
在当前实施例中步骤S206至步骤S207分别对应上述步骤S130至步骤S140,在此不再详述,具体可以参见上文对应部分。
请同时结合图2和图3,图3为本申请一种视频数据处理方法一实施例中的应用场景示意图。如图3所示意的,以RTP传输协议下的应用场景为例,首先会按帧类型对视频编码及分包处理所得的码流数据包(图3所示意的RTP包)进行分组,获取RTP包中的有效载荷数据(在其他实施例中也被称为payload内容,包括NALU H和RBSP),然后分别对所获取每个RTP包的有效载荷数据进行补位处理,具体可以是在有效载荷数据的最后一位之后进行补零,然后得到占用内存为第一预设大小的第二数据块,再依照码流数据包的排列顺序,将对应的第二数据块进行组合获得第一数据块。
如图3所示意的,当经过RTP分包后所得的码流数据包的大小为1kB,对应的在获取到码流数据包所包括的有效载荷数据后,对所获得的有效载荷数据进行补位时会补位获得大小为1kB的第二数据块,然后按照第二数据块的排列顺序对每16个第二数据块进行组合获得16kB大小的第一数据块。如图3所示意的,将RTP payload1至RTP payload16组包成为一个第一数据块,然后将所得的第一数据块发送至硬加密设备处进行加密得到包括加密协商包的加密数据块,然后再对所得的加密数据块进行拆包处理,得到加密后的大小为1kB的第三数据块,在加密后的第三数据块RTP payload1前面分别依序添加实时传输扩展头和数据包头部,即图3所示意的RTP H和RTP扩展头,进而得到待解码数据包。
请同时结合下表1和表2,表1为对本申请所提供的技术方案进行测试所得的数据结果。
表1 AES 128CTR加密模式下对不同大小数据块加解密速度统计表
Figure BDA0002866313030000091
表2 AES 256CTR加密模式下对不同大小数据块加解密速度统计表
Figure BDA0002866313030000092
Figure BDA0002866313030000101
由表1和表2可以得知,在同一种加密算法之下,在一定大小范围内,当数据块(本申请中数据包和数据块的意思相同,均是用于指代占用一定内存的数据)越大加解密的速度也就越快。如表1和表2所示意的,在AES 256CTR加密模式,及在AES 128CTR加密模式下,当数据块长度越大,即长度越长,加密速度和解密速度都会相应提高。在当前实施例中,当数据块长度为16kB时,加解密速度最好,故可以通过将码流数据包组包成16kB的数据块进行发送及加解密,可以较好地提高对视频数据传输的速度及加解密的速度。可以理解的是,当在其他实施例中,也可以是根据编码器、解码器及硬加密设备、硬解密设备的参数,还可以选择将码流数据包组包成更大的长度进行发送及加解密,具体在此不做限定。
然后将所得的第一数据块发送至硬加密设备,硬加密设备对所接收的第一数据块进行加密,将加密所得的加密数据块发送回编码器,编码器会对所得的加密数据包进行拆包处理,进而获得若干待解码数据包。以RTP为例,重新拆分加密数据块,并在拆分所得的数据中加入RTP扩展头中和数据包头部,进而得到待解码数据包。其中,RTP扩展头中附加该数据包的加密相关信息。当前实施例中,选取各个码流数据包中的有效载荷数据,并对各个载荷数据分别进行补位获得大小相等第二数据块,可以实现准确快速地将第二数据块组合获得第一数据块,使得***的响应速度大大提高。
进一步地,请参见图4,图4为本申请一种视频数据处理方法又一实施例中的流程示意图。在当前实施例中,本申请所提供的方法包括:
S401:对视频码流数据进行分包处理,获得若干按序排列的码流数据包。
S402:确定当前加密模式。
在当前实施例中,在获得码流数据包之后,进一步确定当前选定的加密模式。其中,加密模式包括:独立块加密模式、算子反馈类加密模式或密文反馈类加密模式中的任意一种。可以理解的是,在其他实施例中,加密模式也可以包括其他类型,在此不一一列举。
S403:依序对预设数量的码流数据包进行组包处理,以获得第一数据块。
S404:将第一数据块发送至硬加密设备进行加密,得到加密数据块。
在当前实施例中,上述步骤S140对加密数据块进行拆包处理获得若干待解码数据包,进一步包括步骤S405和步骤S407。
S405:将加密数据块拆分得到预设数量个第三数据块。
在编码器接收到硬加密设备发送的加密数据块后,进一步对加密数据块进行拆分,进而得到预设数量个第三数据块。其中,每个加密数据块拆分所得的第三数据块的数量等于每个第一数据块中所包括的第二数据块的数量。
进一步地,在获得加密数据块后,是自加密数据块所包括的第一位数据开始,按序将占用内存为预设大小的数据拆分为一个第三数据块。其中,第三数据块的所占用内存的大小与第二数据块所占用内存的大小相同。
更进一步地,由于用于组合得到第一数据块的第二数据块大小均相同,故也可以将步骤S405理解为将加密数据块自首位数据开始按序均分为预设数量的第三数据块。其中,第三数据块的数量等于第二数据块的数量。
在当前实施例中在,在执行步骤S407之前还包括步骤S406。
S406:根据当前加密模式确定实时传输扩展头所包括的加密信息。
在拆分获得第三数据块之后,进一步根据当前加密模式确定实时传输扩展头所包括的加密信息,其中,加密信息是用于告知解码器端当前数据包加密规则的信息。
进一步地,若确定得到当前加密模式为独立块加密模式,则加密信息包括密钥和加密组包序号;若当前加密模式为算子反馈类加密模式或密文反馈类加密模式,则加密信息包括密钥、IV(初始向量:Information Vector)、加密数据块起始值及计数值。其中,加密数据块的计数值也等于组包处理得到的第一数据块的数量。
进一步地,若当前加密模式为算子反馈类加密模式或密文反馈类加密模式时,则需要进行排序组包解密,且在对码流数据包进行组包处理时无需补位处理。
S407:分别在第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,以得到若干待解码数据包。
经过确定实时传输扩展头所包括的加密信息后,进一步在第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,并输出得到若干待解码数据包。
更进一步地,步骤S407进一步包括:去除第三数据块中的用于补位的数据,分别在去除补位数据的第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,以得到若干待解码数据包。当是利用零进行补位处理时,则会进一步去除第三数据块中用于补位的零,并在去除补位零的第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,以得到若干待解码数据包。其中,实时传输扩展头在左侧,数据包头在实时扩展头和加密后的有效载荷数据之间。
在另一实施例中,步骤S407进一步包括:在第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,并去除第三数据块中用于补位的数据,以得到解码数据包。
其中,需要说明的是,在图4所对应的实施例中的步骤S401、S403和S404与图1中的步骤S110、S120和步骤S130相同,具体可以参见上文对应部分的阐述,在此不赘述。
请参见图5,图5为本申请一种视频数据处理方法一实施例中的流程示意图。在当前实施例中,本申请所提供的方法的执行主体为解码器,所述方法包括:
S510:接收若干待解码数据包。
接收编码器发送的若干待解码数据包。其中,待解码数据包是编码器发送至解码器端的、且完成了加密的数据包。在当前实施例中,对于接收若干待解码数据包的顺序不做限定。
S520:对待解码数据包进行组包处理以获得加密数据块,并将加密数据块发送至硬解密设备进行解密,得到解密数据块。
对所接收到的待解码数据包进行组包处理,进而获得加密数据块。
进一步地,在接收到若干待解码数据包之后,进一步解析获得待解码数据包的顺序标识信息,然后按照所获得的顺序标识对所接收大的若干待解码数据包进行组包处理,获得一个较大的加密数据块。
更进一步地,由于待解码数据包中包括实时传输扩展头和数据包头部,故在对待解码数据包进行组包处理之前还会去除实时传输扩展头和/或数据包头部,然后按序对去除了实时传输扩展头和数据包头部的待解码数据包进行组包处理,获得加密数据块,并将所得的加密数据块发送至硬解密设备进行解密。
再进一步地,在又一实施例中,在接收到若干待解码数据包之后,去除实时传输扩展头和/或数据包头部之后,还会进一步对去除了实时传输扩展头和/或数据包头部之后的待解码数据包进行补位处理,以获得占用内存大小相同的数据包,再对补位处理后的数据包进行组包处理获得加密数据块。其中,补位处理包括在去除了实时传输扩展头和/或数据包头部之后的待解码数据包的末位数据之后进行补零处理,以获得大小相同的数据包。
在获得加密数据块以后,进一步将所获得的加密数据块发送至硬解密设备进行解密,进而得到解密数据块,并将所得的解密数据块发回解码器,以供解码器解码获取到原始视频数据。其中,硬解密设备与上述硬加密设备对应设置。如硬加密设备包括:安全TF卡或其他专门用于硬加密的终端时,对应的硬解密设备则会对应设置为安全TF卡或其他专门用于硬解密的终端。
S530:对解密数据块进行拆包处理,以获得预设数量的码流数据包。
解码器对解密数据块进行拆包处理,进而获得预设数量的码流数据包。其中,需要说明的是,码流数据包的所占用内存大小与待解码数据包所占用内存大小相同,且码流数据包对应的有效载荷数据与待解码数据包对应的有效载荷数据相同。
进一步地,步骤S530中对于解密数据块的拆包处理规则参考S520中的组包处理规则。如,在一实施例中,步骤S520中是利用n个待解码数据包进行组包处理获得一个加密数据块,则对应的步骤S530中则是将解密数据块进行拆分得到n个码流数据包,且拆包的位置与组包的位置相对应。假设步骤S520中获得的加密数据块的第m位和第m+1位为两个待解码数据包的边界,对应的步骤S530中对解密数据块进行拆包时,解密数据块中的第m位和第m+1位即会成为拆分得到两个码流数据包的边界,即完成拆包后第m位数据和第m+1位数据分别属于相邻的两个码流数据包。
更进一步地,当解密数据块中包括补位数据时,则在对解密数据块进行拆包处理之后,进一步对拆包处理所得的数据包进行去除补位数据处理,然后为去除了补位数据的数据包添加数据包头部,进而获得码流数据包。
其中,需要说明的是,在对解密数据块进行拆包时,不改变每个解密数据块中拆分所得的码流数据包的排列顺序。如,对于解密数据块1中拆分所得码流数据包从前至后依次排序为D(1)至D(16),以便后续对码流数据包组包处理获得视频码流数据。
而对于不同解密数据块中拆包所得的码流数据包则是依据每个不同解密数据块的顺序标识信息进行排序。如当解密数据块a的顺序标识信息为第二个,而解密数据块b的顺序标识信息为第一个,则解密数据块b拆包所得的所***流数据包均排列在解密数据块a中拆包所得的码流数据包之前,且每组解密数据块中的码流数据包的排列顺序对应解密数据块中原本的排序不变。
S540:对所有的码流数据包进行组包处理,获得视频码流数据。
再对所获得的码流数据包进行组包处理,进而获得视频码流数据。在解码器获得视频码流数据后,进一步还会对所得的视频码流数据进行解码处理,进而得到原始视频数据。
进一步地,步骤S540是按照码流数据包的在各个解密数据块中的排列顺序,以及各个解密数据块的顺序标识信息,对所***流数据包进行组包处理,进而获得视频码流数据。其中,需要说明是,解码器端所利用的传输协议与编码器端对应设定,如,当编码器端选用的是RTP传输协议时,则解码器端会对应选用RTP传输协议。
在当前实施例中,通过对应编码器端,对接收到的若干待解码数据包进行组包处理获得加密数据块,然后将加密数据块发送至硬解密设备进行解密获得解密数据块,再对硬解密设备发回的解密数据块进行拆包处理,进而获得预设数量的码流数据包,最后再对所有的码流数据包进行组包处理获得视频码流数据。即通过将较小的待解码数据包进行组包获得一个较大的加密数据块,以较大的加密数据块在解码器与硬解密设备间传输,可减少发送数据调度软件的次数,降低接口传输的耗时,实现快速将待解密的加密数据块发送至硬解密设备,同时也使得硬解密设备可以直接对较大的加密数据块进行解密,提高了硬解密设备对于视频数据的解密速度,在解码器端实现了快速且安全地对视频数据进行处理。
请参见图6,图6为本申请一种视频数据处理方法另一实施例中流程示意图。在当前实施例中,本申请所提供的方法包括:
S601:接收若干待解码数据包。
在当前实施例中,步骤S601与上述步骤S510相同,在此不再赘述,上述步骤S520中的对待解码数据包进行组包处理以获得加密数据块,进一步包括步骤S602至步骤S603。
S602:根据待解码数据包推算是否出现丢包。
在接收到待解码数据包后,进一步根据待解码数据包推算是否出现丢包情况。
S603:若是,则对丢包内容进行补位处理,并对完成补位处理的待解码数据包进行组包以获得加密数据块。
若推算得到丢包情况,则会进一步对丢包内容进行补位处理,进而对完成补位处理的待解码数据包进行组包以获得加密数据块。
S604:并将加密数据块发送至硬解密设备进行解密,得到解密数据块。
S605:对解密数据块进行拆包处理,以获得预设数量的码流数据包。
S606:对所有的码流数据包进行组包处理,获得视频码流数据。
在当前实施例中,步骤S604至步骤S606与上述步骤S520和步骤S540中的至少部分相同,具体请参见上文对应部分的阐述,在此不再详述。
进一步地,请继续参见图6,在当前实施例中,上述获得视频码流数据的步骤之后,本申请所提供的方法还包括步骤S607所述的内容。
S607:对视频码流数据进行解码得到原始视频数据。
对所得的视频码流数据进行解码,以得到原始视频数据。其中,视频解码的规则与编码器端用于编码的规则相对应,在获得原始视频数据之后,进一步将所获得的视频数据输出进而展示摄像装置所采集到的原始视频。
请参见图7,图7为本申请一种视频数据处理方法一实施例中交互示意图。在当前实施例中,本申请所提供的方法包括:
S71.获取摄像装置采集的原始视频数据,并对原始视频数据进行编码处理获得视频码流数据。
S72.对视频码流数据进行分包处理,获得若干按序排列的码流数据包。
S73.按序对预设数量的码流数据包进行组包处理,以获得第一数据块。
S74.将第一数据块发送至硬加密设备进行加密,得到加密数据块。
S75.对第一数据块进行加密得到加密数据块。
S76.并将加密数据块发送至编码器。
S77.对加密数据块进行拆包处理,获得若干待解码数据包。
S78.将若干待解码数据包发送至解码器。
S79.接收若干待解码数据包。
S710.对待解码数据包进行组包处理以获得加密数据块。
S711.将加密数据块发送至硬解密设备进行解密。
S712.对加密数据块进行解密处理获得解密数据块。
S713.将解密数据块发回解码器。
S714.对解密数据块进行拆包处理,以获得预设数量的码流数据包。
S715.对所有的码流数据包进行组包处理,获得视频码流数据。
S716.对视频码流数据进行解码得到原始视频数据。
以上步骤可以参见图1至图6及其所对应的任意一个实施例中对应的阐述,在此不再赘述。
请同时参见图8,图8为本申请一种视频数据处理方法一实施例中的加解密测试耗时结构示意图。由图8中(a)可以得知,在AES 128CTR加密模式下,在得到码流数据包后直接将码流数据包发送至硬加密设备进行加密,对16kB的数据进行加密则需要耗时219.7ms才可以完成,而利用本申请所提供的方法下,通过将码流数据包组包处理得到一个较大的第一数据块,然后将第一数据块发送至硬加密设备进行加密,对16kB的数据进行加密只需要耗时28.8ms即可以完成;同样的,现有技术中对16kB的数据解密需要耗时230.1ms,而本申请所提供的技术方案对16kB的数据解密则仅仅耗时29ms即可完成。请参见图8中(b),通过对AES 256CTR加密模式加解密的耗时的测试,基于图8中(b)所示意的耗时测试结果可以得知,在AES 256CTR加密模式下本申请所提供的技术方案同样可以较好地提高加解密速度。同样的,在经过对其他各种加密模式的测试,可以得知本申请所提供的方案均可以较好地减少耗时,提高加解密速度,进而较好地提高了视频编码解码的速度,为用户提供体验度更好地视频服务。需要说明的是,图1至图8及其所对应的任意个实施例中所述的方法步骤,在相互不矛盾的情况下,均可以相互结合,用于解决不同的技术问题,具体在此不一一列举。
请参见图9,图9为本申请一种视频数据处理装置一实施例中的结构示意图。在当前实施例中,本申请所提供的视频数据处理装置900包括通信电路903、处理器901和存储器902。其中,通信电路903和存储器902分别与处理器901耦接,视频数据处理装置900可以执行图1至图7及其对应的任意一个实施例中所述的视频数据处理方法。
其中,通信电路903在处理器901的控制下,用于与外部终端设备进行交互,以发送或接收数据。其中,外部终端设备包括硬加密设备,编码器或解码器中的一个。当视频数据处理装置900为编码器时,则外部终端设备可为硬加密设备或解码器,此时通信电路903在处理器901的控制下,用于向硬加密设备发送第一数据块,并接收硬加密设备发送的加密数据块,并在视频数据处理装置900拆分加密数据块得到待解码数据包后,在处理器901的控制下向解码器端发送待解码数据包。
当视频数据处理装置900为解码器时,则外部终端设备可以为硬加密设备和编码器。通信电路903在处理器901的控制下,接收编码器端发送的待解码数据包。
存储器902包括本地储存(图未示),且存储有计算机程序,计算机程序被执行时可以实现图1至图7及其所对应的任意一个实施例中所述的方法。
处理器901分别与存储器902和通信电路903耦接,处理器901用于运行计算机程序,以执行如上图1至图7及其对应的任意一个实施例中所述的视频数据处理方法。
参见图10,图10为本申请一种计算机可读存储介质一实施例结构示意图。该计算机可读存储介质1000存储有能够被处理器运行的计算机程序1001,该计算机程序1001用于实现如上图1至图7及其对应的任意一个实施例中所描述的视频数据处理方法。具体地,上述计算机可读存储介质1000可以是存储器、个人计算机、服务器、网络设备,或者U盘等其中的一种,具体在此不做任何限定。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种视频数据处理方法,其特征在于,所述方法包括:
对视频码流数据进行分包处理,获得若干按序排列的码流数据包;
依序对预设数量的所述码流数据包进行组包处理,以获得第一数据块;
将所述第一数据块发送至硬加密设备进行加密,得到加密数据块;
对所述加密数据块进行拆包处理,获得若干待解码数据包,其中,所述待解码数据包所对应的有效载荷数据与其对应的所述码流数据包所包括的有效载荷数据相同。
2.根据权利要求1所述的方法,其特征在于,所述依序对预设数量的所述码流数据包进行组包处理之前,所述方法还包括:
对所述码流数据包按照帧类型进行分组;
和/或
确定当前加密模式,所述当前加密模式用于确定组包处理和/或拆包处理的规则。
3.根据权利要求2所述的方法,其特征在于,若所述当前加密模式为独立块加密模式,则所述依序对预设数量的所述码流数据包进行组包处理,以获得第一数据块,包括:
分别获取预设数量的码流数据包中的所述有效载荷数据;
分别对所述有效载荷数据进行补位处理,以获得预设数量个第一预设大小的第二数据块;
依照所述预设数量的码流数据包的排列顺序,将对应的所述第二数据块进行组合,获得所述第一数据块。
4.根据权利要求3所述的方法,其特征在于,所述分别对所述有效载荷数据进行补位处理,以获得预设数量个第一预设大小的第二数据块,进一步包括:
分别在所述有效载荷数据的最后一位数据之后补零,直至获得第一预设大小的所述第二数据块。
5.根据权利要求1所述的方法,其特征在于,所述对所述加密数据块进行拆包处理获得若干待解码数据包,包括:
将所述加密数据块拆分得到预设数量个第三数据块;
分别在所述第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部,以得到所述若干待解码数据包。
6.根据权利要求5所述的方法,其特征在于,
所述分别在所述第三数据块的首位数据之前依序添加实时传输扩展头和数据包头部之前,所述方法还包括:
根据当前加密模式确定所述实时传输扩展头所包括的加密信息。
7.根据权利要求6所述的方法,其特征在于,若所述当前加密模式为独立块加密模式,则所述加密信息包括密钥和加密组包序号;若所述当前加密模式为算子反馈类加密模式或密文反馈类加密模式,则所述加密信息包括密钥、初始向量、所述加密数据块起始值及计数值。
8.一种视频数据处理方法,其特征在于,所述方法包括:
接收若干待解码数据包;
对所述待解码数据包进行组包处理以获得加密数据块,并将所述加密数据块发送至硬解密设备进行解密,得到解密数据块;
对所述解密数据块进行拆包处理,以获得预设数量的码流数据包;
对所有的码流数据包进行组包处理,获得视频码流数据。
9.根据权利要求8所述的方法,其特征在于,所述对所述待解码数据包进行组包处理以获得加密数据块,包括:
根据所述待解码数据包推算是否出现丢包;
若是,则对丢包内容进行补位处理,并对完成补位处理的所述待解码数据包进行组包以获得所述加密数据块;
和/或,在所述获得视频码流数据之后,所述方法还包括:
对所述视频码流数据进行解码得到原始视频数据。
10.一种视频数据处理装置,其特征在于,所述装置包括通信电路、存储器和处理器,所述通信电路和存储器分别与所述处理器耦接,其中,
所述通信电路在所述处理器的控制下,用于与外部终端设备进行交互,以发送或接收数据;
所述存储器存储有计算机程序;
所述处理器用于运行所述计算机程序,以执行权利要求1至9任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现权利要求1至9任一项所述的方法。
CN202011582898.XA 2020-12-28 2020-12-28 一种视频数据处理方法及相关装置 Active CN114697744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011582898.XA CN114697744B (zh) 2020-12-28 2020-12-28 一种视频数据处理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011582898.XA CN114697744B (zh) 2020-12-28 2020-12-28 一种视频数据处理方法及相关装置

Publications (2)

Publication Number Publication Date
CN114697744A true CN114697744A (zh) 2022-07-01
CN114697744B CN114697744B (zh) 2023-12-19

Family

ID=82130069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011582898.XA Active CN114697744B (zh) 2020-12-28 2020-12-28 一种视频数据处理方法及相关装置

Country Status (1)

Country Link
CN (1) CN114697744B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060109982A1 (en) * 2004-11-24 2006-05-25 Jean-Michel Puiatti Unit for managing audio/video data and access control method for said data
CN1985463A (zh) * 2004-07-09 2007-06-20 诺基亚公司 在多媒体会话期间管理通信密钥
CN106330869A (zh) * 2016-08-15 2017-01-11 江苏敏捷科技股份有限公司 一种基于云应用的数据安全保护***和方法
CN108075882A (zh) * 2016-11-14 2018-05-25 航天信息股份有限公司 密码卡及其加解密方法
CN108259446A (zh) * 2016-12-29 2018-07-06 航天信息股份有限公司 一种基于隔离网络传输数据的方法及装置
US20180199068A1 (en) * 2017-01-12 2018-07-12 Samsung Electronics Co., Ltd. Wireless display subsystem and system-on-chip
CN109788299A (zh) * 2019-03-12 2019-05-21 广东工业大学 一种移动设备间视频传输方法、***、设备及计算机介质
WO2019129116A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种视频录制方法及装置
CN111130778A (zh) * 2019-12-31 2020-05-08 郑州信大捷安信息技术股份有限公司 一种基于硬件的安全恢复加密数据的方法及***
CN111212452A (zh) * 2020-01-13 2020-05-29 海能达通信股份有限公司 语音通信的越区切换方法、通信***、终端和存储装置
CN111597075A (zh) * 2020-05-11 2020-08-28 成都艾勃科技有限公司 一种从被硬件加密的数据存储设备上恢复数据的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1985463A (zh) * 2004-07-09 2007-06-20 诺基亚公司 在多媒体会话期间管理通信密钥
US20060109982A1 (en) * 2004-11-24 2006-05-25 Jean-Michel Puiatti Unit for managing audio/video data and access control method for said data
CN106330869A (zh) * 2016-08-15 2017-01-11 江苏敏捷科技股份有限公司 一种基于云应用的数据安全保护***和方法
CN108075882A (zh) * 2016-11-14 2018-05-25 航天信息股份有限公司 密码卡及其加解密方法
CN108259446A (zh) * 2016-12-29 2018-07-06 航天信息股份有限公司 一种基于隔离网络传输数据的方法及装置
US20180199068A1 (en) * 2017-01-12 2018-07-12 Samsung Electronics Co., Ltd. Wireless display subsystem and system-on-chip
WO2019129116A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种视频录制方法及装置
CN109788299A (zh) * 2019-03-12 2019-05-21 广东工业大学 一种移动设备间视频传输方法、***、设备及计算机介质
CN111130778A (zh) * 2019-12-31 2020-05-08 郑州信大捷安信息技术股份有限公司 一种基于硬件的安全恢复加密数据的方法及***
CN111212452A (zh) * 2020-01-13 2020-05-29 海能达通信股份有限公司 语音通信的越区切换方法、通信***、终端和存储装置
CN111597075A (zh) * 2020-05-11 2020-08-28 成都艾勃科技有限公司 一种从被硬件加密的数据存储设备上恢复数据的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李思;李丽;: "基于RTP/RTCP的网络视频监控***", no. 12 *

Also Published As

Publication number Publication date
CN114697744B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN108965302B (zh) 媒体数据传输***、方法、装置及存储介质
US11768964B2 (en) Security plugin for a system-on-a-chip platform
US8204217B2 (en) Lightweight streaming protection by sequence number scrambling
CN108769740A (zh) 视频数据加密传输方法、***、设备及存储介质
RU2638639C1 (ru) Кодер, декодер и способ кодирования и шифрования входных данных
EP3269110B1 (en) Method of communicating data packets within data communication systems
US10320557B2 (en) Encoder, decoder and methods employing partial data encryption
US20020129243A1 (en) System for selective encryption of data packets
CN105516139A (zh) 一种网络数据的传输方法、装置及***
CN103139222A (zh) 一种ipsec隧道数据传输方法及装置
CN106797335B (zh) 数据传输方法、数据传输装置、电子设备和计算机程序产品
KR100850825B1 (ko) 압축 비디오 스트림의 암호화
CN1633068A (zh) 一种点到点通信中的媒体流传输方法
US7529924B2 (en) Method and apparatus for aligning ciphered data
US20230208615A1 (en) Online-Streamer Image Model File Transmission in Co-Hosting During Livestreaming
CN111199047A (zh) 数据加密方法、解密方法、装置、设备及存储介质
CN111586445B (zh) 一种视频数据传输方法及装置
CN104065669B (zh) 一种空间网络加密方法
CN114697744B (zh) 一种视频数据处理方法及相关装置
Ramdan et al. Selective encryption algorithm implementation for video call on Skype client
CN114826748A (zh) 基于rtp、udp及ip协议的音视频流数据加密方法和装置
CN108366296A (zh) 视频加密方法及装置
JP7080024B2 (ja) 通信装置
CN109150867B (zh) 网络信息传输加/解密器及加/解密方法
US10348507B2 (en) Data processing system, data processing apparatus, and data processing 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