CN111031353A - 一种视频加密方法及装置 - Google Patents

一种视频加密方法及装置 Download PDF

Info

Publication number
CN111031353A
CN111031353A CN201911266660.3A CN201911266660A CN111031353A CN 111031353 A CN111031353 A CN 111031353A CN 201911266660 A CN201911266660 A CN 201911266660A CN 111031353 A CN111031353 A CN 111031353A
Authority
CN
China
Prior art keywords
encrypted
video
frame
encryption
rule
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
CN201911266660.3A
Other languages
English (en)
Other versions
CN111031353B (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.)
Shanghai Lexiang Technology Co ltd
Original Assignee
Shanghai Lexiang Technology Co 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 Shanghai Lexiang Technology Co ltd filed Critical Shanghai Lexiang Technology Co ltd
Priority to CN201911266660.3A priority Critical patent/CN111031353B/zh
Publication of CN111031353A publication Critical patent/CN111031353A/zh
Application granted granted Critical
Publication of CN111031353B publication Critical patent/CN111031353B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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/4405Processing 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 decryption
    • 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

Landscapes

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

Abstract

本发明实施例提供一种视频加密方法及装置,通过加密端获取待加密的视频文件;之后,加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧,根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据,根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,其中,加密规则包括每个待加密的帧数据的加密方式;最后,加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。采用上述方法,本申请实施例减少了需要加密的视频帧和帧数据,加快了加密的速度,也加快了解码端的解密速度,相应的缩短了解码端视频缓存时间,从而保证了视频播放的流畅性,进一步增加了视频文件封装格式多样性。

Description

一种视频加密方法及装置
技术领域
本发明涉及视频处理技术领域,特别涉及一种视频加密方法及装置。
背景技术
随着多媒体视频应用范围扩展到经济、军事、政治、教育等领域中,视频数据的安全性和保密性逐渐成为人们关注的重点,最初人们仅是通过设置权限来保证视频数据的安全性和保密性,如通过设置用户名和密码的方式来设置权限,但由于视频数据本身未被加密,在传播的过程中始终存在被窃取甚至篡改的可能性。为保证视频数据的安全性,现在主要采用的方式是利用视频加密算法对视频数据进行加密处理,以避免在数据传输过程中发生数据泄露。
现有技术中,视频加密主要有两种方式,一种对视频最终显示的像素数据进行加密,在终端解码后对加密的原始像素数据进行对应的解密算法后呈现;这种视频加密方式由于加密对象为视频帧的原始像素数据,视频帧的原始像素数据相较于编码后的视频帧数据文件大很多,从而导致需要加密的信息大,加密时间长,相应的解密端解密时间长,视频缓存不及,视频播放易出现卡顿。另一种对M3U8视频文件中的TS流分片进行加密,在终端对TS文件进行解密播放;这种加密方式是对完整的TS文件进行加密,且仅适用于M3U8视频文件;这种视频加密方式由于对完整的TS文件进行加密,仍然需要加密大量的视频帧,且适用格式单一。
因此,现在亟需一种即可以加快加解密速度,又可以适用于多种格式的视频加密方法及装置。
发明内容
本发明实施例提供一种视频加密方法及装置,解决现有技术中加解密速度慢,加密视频文件格式单一的问题。
第一方面,本发明实施例提供一种视频加密方法,该方法包括:
加密端获取待加密的视频文件;所述加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧;所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据;所述加密端根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,所述加密规则包括每个待加密的帧数据的加密方式;所述加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。
采用上述方法,加密端通过根据第一筛选规则和第二筛选规则对视频文件筛选得到待加密视频帧和待加密视频帧中的待加密的帧数据,以此筛除掉即使不加密也不会被读取利用的视频帧以及视频帧数据,进而减少需要加密的视频帧和帧数据,加快了加密的速度,也加快了解码端的解密速度,相应的缩短了解码端视频缓存时间,从而保证了视频播放的流畅性。加密端通过按照视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件,也进一步地增加了视频文件封装格式的多样性。
在一种可能的设计中,所述方法包括:所述加密端根据以下至少一项信息生成加密描述信息;所述加密描述信息用于解密端对所述加密的视频文件进行解密;所述至少一项信息包括:所述第一筛选规则、所述第二筛选规则或所述加密规则。
采用上述方法,加密端通过生成加密描述信息记录第一筛选规则、第二筛选规则和或加密规则;使得解码端获取该加密描述信息,便于对加密视频文件解密,进而得到完整原视频帧并进行播放。
在一种可能的设计中,所述方法包括:所述加密描述信息包括第一描述信息和第二描述信息;所述加密的视频文件的视频头中包括所述加密描述信息;或,所述加密的视频文件的视频头中包括所述第一描述信息,所述加密视频文件的各加密的视频帧中包括第二描述信息;其中,所述第一描述信息包括所述第一筛选规则,所述第二描述信息包括所述第二筛选规则和所述加密规则;或,所述第一描述信息包括所述第一筛选规则和所述加密规则,所述第二描述信息包括所述第二筛选规则。
采用上述方法,将第一筛选规则、第二筛选规则和加密规则分别分为第一描述信息和第二描述信息,再将第一描述信息和第二描述信息存储在视频头或分别存储在视频头和加密的视频帧中,增加加密描述信息存储的灵活性,便于根据视频文件的特性确定存储方式,进一步方便加密解密的相关密钥设置。
在一种可能的设计中,所述第一筛选规则为以下任意一种:预设时间内的视频帧作为待加密的视频帧;或预设类型的视频帧作为待加密的视频帧;或视频帧大小大于预设阈值的视频帧作为待加密的视频帧;或在所述视频文件中处于设定位置的视频帧作为待加密的视频帧。
采用上述方法,通过将第一筛选规则设置为将预设时间内的视频帧作为待加密的视频帧,或将预设类型的视频帧作为待加密的视频帧,或将视频帧大小大于预设阈值的视频帧作为待加密的视频帧,或将在该视频文件中处于设定位置的视频帧作为待加密的视频帧;可以根据视频文件的特性设置第一筛选规则,防止因为筛选视频帧的机制呆板造成不包含关键信息的视频帧被加密,包含关键信息的视频帧得不到加密的情况,保证了视频筛选加密机制的保密作用以及灵活性。
在一种可能的设计中,所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据,包括:针对每个待加密的视频帧,确定所述待加密的视频帧的帧头大小及帧大小;根据所述帧头大小确定帧头的结束位置;根据所述帧大小确定帧尾;根据所述第二筛选规则,从自所述帧头的结束位置至所述帧尾的帧数据中确定待加密的帧数据,其中,所述第二筛选规则为以下任意一种:对自所述帧头的结束位置至所述帧尾的帧数据中设定位置的帧数据待作为待加密的帧数据、对自所述帧头的结束位置至所述帧尾的帧数据中所有帧数据加密。
采用上述方法,通过第二筛选规则筛选出待加密视频帧中帧头以外的帧数据,并对该数据帧进行部分或全部加密,如此可以减少需要加密的帧数据,进一步加快了加密端的加密速度以及解密端的解密速度。
在一种可能的设计中,所述方法包括:所述对每个待加密的帧数据进行加密之后,所述得到加密后的视频帧之前,还包括:确定所述加密后的视频帧的大小,更新所述加密后的视频帧的帧头中记录的帧大小。
采用上述方法,通过确定加密后的视频帧的大小,进一步更新加密后的视频帧的帧头中记录的帧大小,可以根据加密后的视频帧的帧大小进一步更新加密后视频文件大小,以此减少传输所占带宽资源以及确定可封装格式。
在一种可能的设计中,将加密后的视频帧和未加密的视频帧封装为加密的视频文件,所述方法包括:所述加密端得到所述加密的视频文件,并将所述加密的视频文件封装为与所述视频文件解封前不同的格式。
采用上述方法,可以通过将该加密的视频文件封装为与该视频文件解封前相同或不同的格式,如此可以减少对解密端的解密格式限制,减少解密端格式限制的成本。
第二方面,本发明实施例提供一种视频解密方法,该方法包括:
解密端获取加密的视频文件;所述解密端根据加密描述信息对所述加密的视频文件进行解密;其中,所述加密描述信息包括以下至少一项信息:第一筛选规则、第二筛选规则或加密规则;其中,所述第一筛选规则用于确定所述加密的视频文件中加密的视频帧;所述第二筛选规则用于确定每个加密的视频帧中加密的帧数据;所述加密规则用于确定所述加密的帧数据的解密规则。
采用上述方法,通过解密端根据加密描述信息中的第一筛选规则、第二筛选规则或加密规则确定出该加密的帧数据以及该加密的帧数据对应的加密规则,得到相应的解密规则将加密后的视频解密并播放,可以保证加密后的视频文件在减少加密信息的条件下保持该加密后的视频文件的保密性,又可以保证解密端可以正常解密该加密后的视频文件。
第三方面,本发明实施例提供一种视频加密装置,该装置包括:
获取模块,用于加密端获取待加密的视频文件;
确定模块,用于所述加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧;还用于所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据;
处理模块,用于所述加密端根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,所述加密规则包括每个待加密的帧数据的加密方式;还用于所述加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。
在一种可能的设计中,所述处理模块具体用于:
所述加密端根据以下至少一项信息生成加密描述信息;所述加密描述信息用于解密端对所述加密的视频文件进行解密;所述至少一项信息包括:所述第一筛选规则、所述第二筛选规则或所述加密规则。
在一种可能的设计中,所述加密描述信息包括第一描述信息和第二描述信息;所述加密的视频文件的视频头中包括所述加密描述信息;或,所述加密的视频文件的视频头中包括所述第一描述信息,所述加密视频文件的各加密的视频帧中包括第二描述信息;其中,所述第一描述信息包括所述第一筛选规则,所述第二描述信息包括所述第二筛选规则和所述加密规则;或,所述第一描述信息包括所述第一筛选规则和所述加密规则,所述第二描述信息包括所述第二筛选规则。
在一种可能的设计中,所述第一筛选规则为以下任意一种:预设时间内的视频帧作为待加密的视频帧;或预设类型的视频帧作为待加密的视频帧;或视频帧大小大于预设阈值的视频帧作为待加密的视频帧;或在所述视频文件中处于设定位置的视频帧作为待加密的视频帧。
在一种可能的设计中,所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据,所述确定模块具体用于:针对每个待加密的视频帧,确定所述待加密的视频帧的帧头大小及帧大小;根据所述帧头大小确定帧头的结束位置;根据所述帧大小确定帧尾;根据所述第二筛选规则,从自所述帧头的结束位置至所述帧尾的帧数据中确定待加密的帧数据,其中,所述第二筛选规则为以下任意一种:对自所述帧头的结束位置至所述帧尾的帧数据中设定位置的帧数据待作为待加密的帧数据、对自所述帧头的结束位置至所述帧尾的帧数据中所有帧数据加密。
在一种可能的设计中,所述确定模块还用于:
所述对每个待加密的帧数据进行加密之后,所述得到加密后的视频帧之前,还包括:确定所述加密后的视频帧的大小,更新所述加密后的视频帧的帧头中记录的帧大小。
在一种可能的设计中,所述处理模块还用于:
所述加密端得到所述加密的视频文件,并将所述加密的视频文件封装为与所述视频文件解封前不同的格式。
第四方面,本发明实施例提供一种视频解密装置,该装置包括:
获取模块,用于解密端获取加密的视频文件;
确定模块,用于确定所述加密描述信息中的第一筛选规则、第二筛选规则或加密规则,通过所述第一筛选规则确定所述加密的视频文件中加密的视频帧;通过所述第二筛选规则确定每个加密的视频帧中加密的帧数据;通过所述加密规则确定所述加密的帧数据的解密规则;
处理模块,用于所述解密端根据加密描述信息对所述加密的视频文件进行解密。
第五方面,本申请实施例还提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。
第六方面,本申请实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频加密方法的流程示意图;
图2为本申请实施例提供的一种视频文件结构示意图;
图3为本申请实施例提供的一种加密后视频文件结构示意图;
图4为本申请实施例提供的一种加密后视频文件结构示意图;
图5为本申请实施例提供一种视频加密对应的流程示意图;
图6为本申请实施例提供一种视频解密对应的流程示意图;
图7为本申请实施例提供的一种视频加密装置示意图;
图8为本申请实施例提供的一种视频解密装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图对本申请实施例进行详细描述。
现有技术中对视频文件中的视频帧加密方式,虽然可以通过将视频文件中所有视频帧加密以保证视频数据的安全性和保密性,但这种方式加密解密时间长、占用大量的存储资源和传输带宽资源,限制了视频文件的可封装格式;基于此,本申请实施例提供了一种视频加密方法及装置,用于解决现有技术中加解密速度慢,加密视频文件格式单一的问题。
图1为本申请实施例提供的一种视频加密方法的流程示意图,如图1所示:该方法包括:
步骤101、加密端获取待加密的视频文件;
此处,加密端获取带加密的视频文件可以是像素数据或未加密的视频;其中,若加密端获取的视频文件为像素数据,则加密端先通过编码器编码得到Mpeg-4、H.264、H.265、VP8、VP9等视频编码格式的视频帧;若加密端获取的视频文件为未加密的视频,通过相应的ffmpeg、AVI、MKV、VLC等解封装工具将未加密的视频解封装,得到视频帧。如图2中a所示,视频文件包括视频文件头以及视频帧,如图2中b所示,视频帧中包括帧头和其它编码后的帧数据。
步骤102、所述加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧;
此处,通过第一筛选规则将得到的视频文件中的视频帧筛选,得到视频文件中待加密的视频帧。第一筛选规则可以根据视频文件的使用需求来定,如第一筛选规则可以为将预设时间内的视频帧作为待加密的视频帧;或将预设类型的视频帧作为待加密的视频帧;或将视频帧大小大于预设阈值的视频帧作为待加密的视频帧;或将在所述视频文件中处于设定位置的视频帧作为待加密的视频帧。例如:若得到的视频文件中某段时间内的视频帧包含重要信息或主要信息,则第一筛选规则为将该段时间内的视频帧全部设为待加密视频帧;若得到的视频文件中包含特定类型帧,如I、B、P帧等,则第一筛选规则为将包含重要信息或主要信息的I帧、或B帧、或P帧设为待加密视频帧;若得到的视频文件中大于614400个字节的视频帧中包含重要信息或主要信息,则第一筛选规则为将视频帧大小大于614400个字节的视频帧设为待加密视频帧;若得到的视频文件中位置第17帧到27帧均为包含重要信息或主要信息的视频帧,则第一筛选规则为将第17帧到27帧的视频帧设为待加密视频帧;若得到的视频文件中奇数帧均为包含重要信息或主要信息的视频帧,则第一筛选规则为将该视频文件中的奇数帧设为待加密视频帧;得到如图3中a所示的阴影部分的视频帧为待加密视频帧。这里,可以通过相应的工具对视频文件读取,判断该视频文件的特征,进而确定其第一筛选规则。第一筛选规则可以包括上述一项或几项筛选规则,但不限于上述筛选规则。
步骤103、所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据;
此处,由步骤102得到待加密的视频帧,进一步确定每个待加密的视频帧中待加密的帧数据。一般来说,帧头部分无需进行加密;对于除帧头之外的部分可以全部加密,也可以对每个待加密的视频帧采用不同筛选规则,如对于第一个待加密的视频帧,除帧头部分完全加密;对第二待加密的视频帧,对除帧头部分的帧数据可以筛选部分帧数据进行加密。
具体来说,可以通过确定所述待加密的视频帧的帧头大小及帧大小;根据所述帧头大小确定帧头的结束位置;根据所述帧大小确定帧尾;根据所述第二筛选规则,从自所述帧头的结束位置至所述帧尾的帧数据中确定待加密的帧数据,其中,所述第二筛选规则为以下任意一种:对自所述帧头的结束位置至所述帧尾的帧数据中设定位置的帧数据待作为待加密的帧数据、对自所述帧头的结束位置至所述帧尾的帧数据中所有帧数据加密。例如:一个视频帧的帧大小为1500字节,前10个字节为帧头,后1490个字节为其它编码后的帧数据;根据第二筛选规则将后1490个字节中的部分或全部加密;例如,将1490个字节中的偶数位字节加密,或将1490个字节中的所有位字节加密;得到如图3中b中阴影部分的待加密的帧数据。
这里,可以根据视频编码格式从帧头(PPS,SPS,VPS等用于描述视频序列信息和编码方式信息的数据头)中获取帧头大小的字节数;对无法从帧头中获取帧头大小字节数的视频编码格式,可以选取一个固定值做帧头大小的字节数,当视频帧的大小小于该固定值时,可以选择不对该视频帧加密。
步骤104、所述加密端根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,所述加密规则包括每个待加密的帧数据的加密方式;
此处,由步骤103如图3中b中阴影部分的待加密的帧数据,根据加密规则对待加密的帧数据进行加密,这里的加密规则可以为AES对称加密方法,可以为异或某固定值加密方法,可以为取反加密方法;例如,一段待加密的帧数据为00001111,通过与解密端约定加密规则,传输过程中的加密后的帧数据为11110000,解密端经约定的加密规则解密,得到原帧数据00001111。这里每个待加密的帧数据的加密方式可以不同,例如,待加密的帧数据前三分之一待加密的帧数据通过AES对称加密方法加密,中间位置的三分之一待加密的帧数据通过异或某固定值加密方法加密,最后位置的三分之一的待加密的帧数据通过取反加密方法加密。其中,加密规则中可以包含上述加密方式,但不限于上述加密方式。
这里将以上步骤得到的得到第一筛选规则、第二筛选规则以及加密规则存储到加密描述信息中,以便于解密端根据加密描述信息中的第一筛选规则找到加密的视频帧,根据第二筛选规则找到加密的视频帧中的加密的帧数据,根据加密规则对加密的帧数据解密得到原视频文件。加密端也可以与解密端约好加密规则、第一筛选规则和第二筛选规则等,如此,在加密端得到加密后的视频文件后,将加密视频文件发送得到解密端,解密端可以根据提前约定的加密规则、第一筛选规则和第二筛选规则等得到原视频文件。
上述加密描述信息包括第一描述信息和第二描述信息;所述加密的视频文件的视频头中包括所述加密描述信息;或,所述加密的视频文件的视频头中包括所述第一描述信息,所述加密视频文件的各加密的视频帧中包括第二描述信息;其中,所述第一描述信息包括所述第一筛选规则,所述第二描述信息包括所述第二筛选规则和所述加密规则;或,所述第一描述信息包括所述第一筛选规则和所述加密规则,所述第二描述信息包括所述第二筛选规则。也就是说,加密描述信息中的第一筛选规则、第二筛选规则以及加密规则可以全部存储在视频文件头中,也可以分别存储在视频帧的帧头和或帧尾中。如图4中a所示,加密描述信息全部存储在视频帧的帧头中;如图4中b所示,加密描述信息分别存储在视频帧的帧头和帧尾中,这里可以将第一描述信息存储在帧头,第二描述信息存储在帧尾,或将第一描述信息存储在帧尾,第二描述信息存储在帧头;如图4中c所示,加密描述信息全部存储在视频帧的帧尾中;如图4中d所示,加密描述信息全部存储在视频文件头中。上述加密描述信息可以包含应用的其它加密算法相对应的密钥等信息,具体不做限定。上述加密描述信息除存储在加密视频文件中,也可以通过外部文件保存,具体不做限定。
这里也可以在加密端使用固定规则对视频文件加密,与解密端约好该固定规则,则解密端在接收到该加密后的视频文件后按照约定的固定规则解密即可得到原视频文件。例如:加密端与解密端约定使用AES ECB 128加密,使用一个密钥,对视频中偶数帧的除帧头外的所有字节进行AES加密。则可在解密端使用该固定规则进行解密,不需要保存加密描述信息,只需要保存使用的密钥即可。
需要说明一下的是,对每个待加密的帧数据进行加密之后,所述得到加密后的视频帧之前,还需要确定所述加密后的视频帧的大小,更新所述加密后的视频帧的帧头中记录的帧大小。
步骤105、所述加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。
此处,在待加密的视频帧加密前,可以记录下该待加密的视频帧在原视频文件中的位置,在待加密的视频帧加密后,根据记录下的该待加密的视频帧在原视频文件中的位置,将加密后的视频帧存储并覆盖原视频帧,得到包含加密视频帧和未加密视频帧的视频文件为加密视频帧的视频文件,将该加密视频文件封装为相应格式的视频文件。这里通过相应的ffmpeg、AVI、MKV、VLC等封装工具将加密的视频文件封装,加密视频文件封装格式可以与解封前原视频文件相同或不同;例如:解封前原视频文件格式为MP4,后续可以将加密视频文件封装为MP4,AVI,TS等封装格式,以及Mpeg-4、H.264、H.265、VP8、VP9等视频编码格式。
采用上述方法,加密端通过根据第一筛选规则和第二筛选规则对视频文件筛选得到待加密视频帧和待加密视频帧中的待加密的帧数据,以此筛除掉即使不加密也不会被读取利用的视频帧以及视频帧数据,进而减少需要加密的视频帧和帧数据,加快了加密的速度,也加快了解码端的解密速度,相应的缩短了解码端视频缓存时间,从而保证了视频播放的流畅性,也进一步地增加了视频文件封装格式的多样性。
另一方面,本申请实施例提供的一种视频解密方法,包括:解密端获取加密的视频文件;所述解密端根据加密描述信息对所述加密的视频文件进行解密;其中,所述加密描述信息包括以下至少一项信息:第一筛选规则、第二筛选规则或加密规则;其中,所述第一筛选规则用于确定所述加密的视频文件中加密的视频帧;所述第二筛选规则用于确定每个加密的视频帧中加密的帧数据;所述加密规则用于确定所述加密的帧数据的解密规则。也就是说,解密端在获取加密的视频文件后,在加密视频文件的视频文件头、帧头、帧尾、外部文件中读取加密描述信息,通过加密描述信息中的第一筛选规则确定加密视频帧,通过第二筛选规则确定加密视频帧中的加密帧数据,通过加密规则得出相应的解密规则,对加密的帧数据解密得到原视频文件。
图5为本申请实施例提供一种视频加密对应的流程示意图,如图5所示,该方法包括:
步骤501、获取待加密视频文件。
步骤502、通过视频文件头中的视频文件信息,例如:该视频文件共有多少帧、每一帧所在的时间、每一帧的大小、特定类型帧序号、每一帧的编码格式、视频文件格式等信息。通过视频文件信息确定该视频文件需要加密的视频帧,得到第一筛选方式,进而确定待加密的视频帧。
步骤503、通过视频文件头中的视频文件信息,确定第一筛选方式,得到待加密视频帧,进一步确定待加密的视频帧第二筛选方式,得到待加密的帧数据。也可以通过视频帧的帧头中的帧信息,例如:除帧头外的其他编码后的帧数据,以及该帧内的关键数据等确定第二筛选方式,进而得到待加密的帧数据。
步骤504、通过视频文件信息和或每帧的帧头中的帧信息,确定待加密的帧数据的加密规则。
步骤505、根据带加密的帧数据的加密规则,将待加密的帧数据加密得到加密帧数据。
步骤506、将加密的帧数据覆盖相应的待加密的帧数据,得到加密后的视频帧。
步骤507、将加密描述信息,即第一筛选规则、第二筛选规则、加密规则以及密钥等其他加密信息存储到被加密的视频帧的帧头和或帧尾中,又或者存储到视频文件头中,得到加密后的视频文件。较佳的,被加密的视频帧的帧头或帧尾中存储加密帧数据的被加密字节序号和该序号对应的加密方式,视频文件头中存储第一筛选规则、第二筛选规则、加密规则等。
步骤508、将加密后的视频文件覆盖原视频文件。
步骤509、将该加密视频文件封装为解密端可读取的封装格式。
上述实施方式中,步骤502中确定第一筛选方式、步骤503中确定第二筛选方式及步骤504中国确定加密规则,三者之间可以没有先后关系,可以同时进行,也可以是在进行步骤501之前就预设好的。
图6为本申请实施例提供一种视频解密对应的流程示意图,如图6所示,该方法包括:
步骤601、接收加密端发送的加密后的视频文件。
步骤602、接收加密端发送的加密后的视频文件的相关的密钥。
步骤603、根据该密钥读取该加密后的视频文件中的加密描述信息,得到第一筛选规则,确定加密的视频帧;得到第二筛选规则,确定加密的帧数据;得到加密规则。
步骤604、根据读取的加密规则得到相应的解密规则,将加密的帧数据解密。
步骤605、将加密的帧数据解密后,得到原帧数据,将得到的原帧数据覆盖相应的加密帧数据,进一步得到原视频帧,将原视频帧覆盖相应的加密视频帧,得到原视频文件,将原视频文件缓存播放。
需要说明的是,上述流程中的流程步骤不一定按照上述步骤执行,例如图6中的步骤601和步骤602,可以先执行步骤602再执行步骤601。
基于同样的构思,本发明实施例提供一种视频加密装置,图7为本申请实施例提供的一种视频加密装置示意图,如图7示,包括:
获取模块701,用于加密端获取待加密的视频文件;
确定模块702,用于所述加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧;还用于所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据;
处理模块703,用于所述加密端根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,所述加密规则包括每个待加密的帧数据的加密方式;还用于所述加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。
在一种可能的设计中,所述处理模块703具体用于:
所述加密端根据以下至少一项信息生成加密描述信息;所述加密描述信息用于解密端对所述加密的视频文件进行解密;所述至少一项信息包括:所述第一筛选规则、所述第二筛选规则或所述加密规则。
在一种可能的设计中,所述加密描述信息包括第一描述信息和第二描述信息;所述加密的视频文件的视频头中包括所述加密描述信息;或,所述加密的视频文件的视频头中包括所述第一描述信息,所述加密视频文件的各加密的视频帧中包括第二描述信息;其中,所述第一描述信息包括所述第一筛选规则,所述第二描述信息包括所述第二筛选规则和所述加密规则;或,所述第一描述信息包括所述第一筛选规则和所述加密规则,所述第二描述信息包括所述第二筛选规则。
在一种可能的设计中,所述第一筛选规则为以下任意一种:预设时间内的视频帧作为待加密的视频帧;或预设类型的视频帧作为待加密的视频帧;或视频帧大小大于预设阈值的视频帧作为待加密的视频帧;或在所述视频文件中处于设定位置的视频帧作为待加密的视频帧。
在一种可能的设计中,所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据,所述确定模块702具体用于:针对每个待加密的视频帧,确定所述待加密的视频帧的帧头大小及帧大小;根据所述帧头大小确定帧头的结束位置;根据所述帧大小确定帧尾;根据所述第二筛选规则,从自所述帧头的结束位置至所述帧尾的帧数据中确定待加密的帧数据,其中,所述第二筛选规则为以下任意一种:对自所述帧头的结束位置至所述帧尾的帧数据中设定位置的帧数据待作为待加密的帧数据、对自所述帧头的结束位置至所述帧尾的帧数据中所有帧数据加密。
在一种可能的设计中,所述确定模块702还用于:
所述对每个待加密的帧数据进行加密之后,所述得到加密后的视频帧之前,还包括:确定所述加密后的视频帧的大小,更新所述加密后的视频帧的帧头中记录的帧大小。
在一种可能的设计中,所述处理模块703还用于:
所述加密端得到所述加密的视频文件,并将所述加密的视频文件封装为与所述视频文件解封前相同或不同的格式。
基于同样的构思,本发明实施例提供一种视频解密装置,图8为本申请实施例提供的一种视频加密装置示意图,如图8示,包括:
获取模块801,用于解密端获取加密的视频文件;
确定模块802,用于确定所述加密描述信息中的第一筛选规则、第二筛选规则或加密规则,通过所述第一筛选规则确定所述加密的视频文件中加密的视频帧;通过所述第二筛选规则确定每个加密的视频帧中加密的帧数据;通过所述加密规则确定所述加密的帧数据的解密规则;
处理模块803,用于所述解密端根据加密描述信息对所述加密的视频文件进行解密。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种视频加密方法,其特征在于,所述方法包括:
加密端获取待加密的视频文件;
所述加密端根据第一筛选规则,确定所述视频文件中待加密的视频帧;
所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据;
所述加密端根据加密规则,对待加密的帧数据进行加密,得到加密后的视频帧,所述加密规则包括每个待加密的帧数据的加密方式;
所述加密端按照所述视频文件中各视频帧的关系,将加密后的视频帧和未加密的视频帧封装为加密的视频文件。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述加密端根据以下至少一项信息生成加密描述信息;所述加密描述信息用于解密端对所述加密的视频文件进行解密;
所述至少一项信息包括:所述第一筛选规则、所述第二筛选规则或所述加密规则。
3.根据权利要求2所述的方法,其特征在于,所述方法包括:
所述加密描述信息包括第一描述信息和第二描述信息;
所述加密的视频文件的视频头中包括所述加密描述信息;或,
所述加密的视频文件的视频头中包括所述第一描述信息,所述加密视频文件的各加密的视频帧中包括第二描述信息;其中,所述第一描述信息包括所述第一筛选规则,所述第二描述信息包括所述第二筛选规则和所述加密规则;或,所述第一描述信息包括所述第一筛选规则和所述加密规则,所述第二描述信息包括所述第二筛选规则。
4.根据权利要求3所述的方法,其特征在于,所述第一筛选规则为以下任意一种:
预设时间内的视频帧作为待加密的视频帧;或
预设类型的视频帧作为待加密的视频帧;或
视频帧大小大于预设阈值的视频帧作为待加密的视频帧;或
在所述视频文件中处于设定位置的视频帧作为待加密的视频帧。
5.根据权利要求1所述的方法,其特征在于,所述加密端根据第二筛选规则,确定每个待加密的视频帧中待加密的帧数据,包括:
针对每个待加密的视频帧,确定所述待加密的视频帧的帧头大小及帧大小;根据所述帧头大小确定帧头的结束位置;根据所述帧大小确定帧尾;
根据所述第二筛选规则,从自所述帧头的结束位置至所述帧尾的帧数据中确定待加密的帧数据,其中,所述第二筛选规则为以下任意一种:
对自所述帧头的结束位置至所述帧尾的帧数据中设定位置的帧数据作为待加密的帧数据、对自所述帧头的结束位置至所述帧尾的帧数据中所有帧数据加密。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法包括:
所述对每个待加密的帧数据进行加密之后,所述得到加密后的视频帧之前,还包括:
确定所述加密后的视频帧的大小,更新所述加密后的视频帧的帧头中记录的帧大小。
7.根据权利要求1所述的方法,其特征在于,将加密后的视频帧和未加密的视频帧封装为加密的视频文件,所述方法包括:
所述加密端得到所述加密的视频文件,并将所述加密的视频文件封装为与所述视频文件解封前不同的格式。
8.一种视频解密方法,其特征在于,包括:
解密端获取加密的视频文件;
所述解密端根据加密描述信息对所述加密的视频文件进行解密;其中,所述加密描述信息包括以下至少一项信息:第一筛选规则、第二筛选规则或加密规则;其中,所述第一筛选规则用于确定所述加密的视频文件中加密的视频帧;所述第二筛选规则用于确定每个加密的视频帧中加密的帧数据;所述加密规则用于确定所述加密的帧数据的解密规则。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1-7任一项或权利要求8所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1-7任一项或权利要求8所述的方法。
CN201911266660.3A 2019-12-11 2019-12-11 一种视频加密方法及装置 Active CN111031353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911266660.3A CN111031353B (zh) 2019-12-11 2019-12-11 一种视频加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911266660.3A CN111031353B (zh) 2019-12-11 2019-12-11 一种视频加密方法及装置

Publications (2)

Publication Number Publication Date
CN111031353A true CN111031353A (zh) 2020-04-17
CN111031353B CN111031353B (zh) 2022-08-23

Family

ID=70208803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911266660.3A Active CN111031353B (zh) 2019-12-11 2019-12-11 一种视频加密方法及装置

Country Status (1)

Country Link
CN (1) CN111031353B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887784A (zh) * 2021-01-25 2021-06-01 东方网力科技股份有限公司 加密视频的播放方法、装置、设备及***
CN113422984A (zh) * 2021-06-10 2021-09-21 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质
CN113727058A (zh) * 2021-08-31 2021-11-30 成都卫士通信息产业股份有限公司 一种多媒体会议数据处理方法、***、设备及存储介质
CN114915805A (zh) * 2022-07-18 2022-08-16 广州万协通信息技术有限公司 基于双重加密机制的视频流传输方法及安全芯片装置
CN114938464A (zh) * 2022-05-11 2022-08-23 北京欣博电子科技有限公司 视频加密方法和装置、视频解密方法和装置
CN115002515A (zh) * 2022-07-19 2022-09-02 广州万协通信息技术有限公司 加密数据传输方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020076049A1 (en) * 2000-12-19 2002-06-20 Boykin Patrick Oscar Method for distributing perceptually encrypted videos and decypting them
US20140105390A1 (en) * 2012-08-30 2014-04-17 Tencent Technology (Shenzhen), Co., Ltd. Video file encryption and decryption method, device, and mobile terminal
CN104581201A (zh) * 2014-12-31 2015-04-29 乐视网信息技术(北京)股份有限公司 一种视频加密方法及装置
CN104683824A (zh) * 2013-11-29 2015-06-03 航天信息股份有限公司 flv格式视频文件的加密传输方法和***
CN104735457A (zh) * 2015-03-27 2015-06-24 南京中新赛克科技有限责任公司 一种基于h.264编码的视频加解密方法
CN105049941A (zh) * 2015-06-24 2015-11-11 腾讯科技(深圳)有限公司 一种多媒体文件的处理方法及装置
CN107911210A (zh) * 2017-10-20 2018-04-13 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN109299611A (zh) * 2018-08-27 2019-02-01 优视科技新加坡有限公司 文件加密方法、装置、设备/终端/服务器及计算机可读存储介质
CN110035319A (zh) * 2019-04-02 2019-07-19 北京文香信息技术有限公司 一种音视频数据的加密、解密方法、装置及播放设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020076049A1 (en) * 2000-12-19 2002-06-20 Boykin Patrick Oscar Method for distributing perceptually encrypted videos and decypting them
US20140105390A1 (en) * 2012-08-30 2014-04-17 Tencent Technology (Shenzhen), Co., Ltd. Video file encryption and decryption method, device, and mobile terminal
CN104683824A (zh) * 2013-11-29 2015-06-03 航天信息股份有限公司 flv格式视频文件的加密传输方法和***
CN104581201A (zh) * 2014-12-31 2015-04-29 乐视网信息技术(北京)股份有限公司 一种视频加密方法及装置
CN104735457A (zh) * 2015-03-27 2015-06-24 南京中新赛克科技有限责任公司 一种基于h.264编码的视频加解密方法
CN105049941A (zh) * 2015-06-24 2015-11-11 腾讯科技(深圳)有限公司 一种多媒体文件的处理方法及装置
CN107911210A (zh) * 2017-10-20 2018-04-13 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN109299611A (zh) * 2018-08-27 2019-02-01 优视科技新加坡有限公司 文件加密方法、装置、设备/终端/服务器及计算机可读存储介质
CN110035319A (zh) * 2019-04-02 2019-07-19 北京文香信息技术有限公司 一种音视频数据的加密、解密方法、装置及播放设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887784A (zh) * 2021-01-25 2021-06-01 东方网力科技股份有限公司 加密视频的播放方法、装置、设备及***
CN113422984A (zh) * 2021-06-10 2021-09-21 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质
CN113422984B (zh) * 2021-06-10 2022-10-14 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质
WO2022257612A1 (zh) * 2021-06-10 2022-12-15 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质
CN113727058A (zh) * 2021-08-31 2021-11-30 成都卫士通信息产业股份有限公司 一种多媒体会议数据处理方法、***、设备及存储介质
CN114938464A (zh) * 2022-05-11 2022-08-23 北京欣博电子科技有限公司 视频加密方法和装置、视频解密方法和装置
CN114915805A (zh) * 2022-07-18 2022-08-16 广州万协通信息技术有限公司 基于双重加密机制的视频流传输方法及安全芯片装置
CN114915805B (zh) * 2022-07-18 2022-11-08 广州万协通信息技术有限公司 基于双重加密机制的视频流传输方法及安全芯片装置
CN115002515A (zh) * 2022-07-19 2022-09-02 广州万协通信息技术有限公司 加密数据传输方法及装置

Also Published As

Publication number Publication date
CN111031353B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN111031353B (zh) 一种视频加密方法及装置
US20210329347A1 (en) Systems and Methods for Secure Playback of Encrypted Elementary Bitstreams
JP6914381B2 (ja) 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
EP2627095B1 (en) Device and method for partial encryption
US20110170687A1 (en) Content decoding apparatus, content decoding method and integrated circuit
JP2020526136A (ja) 分割ビデオストリーミングの概念
WO2010044146A1 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法
JP4710607B2 (ja) 暗号装置、暗号方法および暗号プログラム、復号装置、復号方法および復号プログラム、ならびに、記録媒体
KR19990006449A (ko) 컴퓨터 시스템내의 저작 데이터의 보호 방법, 장치 및 컴퓨터 프로그램 제품
CN106998475B (zh) 视频传输路径跟踪方法及装置
JP5050842B2 (ja) 暗号化装置、暗号化プログラム、データ提供装置及びデータ提供システム
CN106096334A (zh) 超媒体数据的加密方法及加密装置、解密方法及解密装置
EP3360331B1 (en) Mpeg transport frame synchronization
KR20050097997A (ko) 암호화된 비디오 정보의 생성
US20040165722A1 (en) Streamcipher information redundant in next packet of encrypted frame
US9031239B2 (en) Information processing apparatus, information processing method, and computer readable storage medium
JP6793364B2 (ja) コンテンツ復号装置、コンテンツ復号方法、受信装置及びプログラム
CN105187912A (zh) 密文视频播放器及播放方法
CN109743627B (zh) 基于avs+视频编码数字电影包的播放方法
KR101638025B1 (ko) 정보처리장치
WO2016002545A1 (ja) 送信装置、および受信装置
CN109561345B (zh) 基于avs+编码格式的数字电影打包方法
CN106664461B (zh) 通过终端访问受保护的多媒体内容的方法
CN114938464A (zh) 视频加密方法和装置、视频解密方法和装置
CN117640958A (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