CN112104895A - 视频加解密方法、服务器、机顶盒插件及视频播放系统 - Google Patents
视频加解密方法、服务器、机顶盒插件及视频播放系统 Download PDFInfo
- Publication number
- CN112104895A CN112104895A CN202011286928.2A CN202011286928A CN112104895A CN 112104895 A CN112104895 A CN 112104895A CN 202011286928 A CN202011286928 A CN 202011286928A CN 112104895 A CN112104895 A CN 112104895A
- Authority
- CN
- China
- Prior art keywords
- video
- video stream
- byte
- encryption
- encryption key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 claims description 13
- 239000003795 chemical substances by application Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration 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
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing 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/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23476—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
-
- 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/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- 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
- H04N21/4405—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 involving video stream decryption
- H04N21/44055—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 involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种视频加解密方法、服务器、机顶盒插件及视频播放系统,所述视频加密方法包括:随机生成预设字节长度的加密密钥;将加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,预设字节串的字节长度等于预设字节长度;将加密视频流发布到网络当中,得到加密视频流的播放地址;当接收到代理插件的视频播放请求时,将视频播放请求对应的加密视频流的播放地址和加密密钥发送给代理插件。本发明通过将随机生成的加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,而并非对字节单元中的全部字节进行加密运算,提高解密效率,使得在机顶盒侧进行解密的同时能够保证播放流畅,无需依靠云端进行解密。
Description
技术领域
本发明涉及数据加密技术领域,特别涉及一种视频加解密方法、服务器、机顶盒插件及视频播放系统。
背景技术
随着互联网科技的迅速发展,视频充斥在大众生活中;据可靠数据统计,终端机顶盒在中国家庭中的数量达到亿级,过亿的机顶盒设备为企业提供无限的商机。但是机顶盒本身计算和存储能力有限,在播放超清(1080*720p)、蓝光(1920*1080p)等视频时,由于目前所采用的视频加密及解密方法复杂,受限于机顶盒计算能力,造成用户观看以及快进时卡顿,影响用户体验;而如果不在机顶盒端对视频进行解密,而在云端进行解密,将造成大量的云端服务成本,对除了几个大型企业外的其他中小型公司都是很大的成本负担。
发明内容
基于此,本发明的目的是提供一种视频加解密方法、服务器、机顶盒插件及视频播放系统,旨在解决现有视频加密、视频解密方法复杂的技术问题。
根据本发明实施例的一种视频加密方法,应用于视频播放系统当中,所述视频播放系统包括通讯连接的服务器和机顶盒插件,所述视频加密方法适用于所述服务器侧,所述视频加密方法包括:
随机生成预设字节长度的加密密钥;
将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,所述预设字节串的字节长度等于所述预设字节长度;
将所述加密视频流发布到网络当中,得到所述加密视频流的播放地址;
当接收到机顶盒插件的视频播放请求时,将所述视频播放请求对应的加密视频流的播放地址和加密密钥发送给所述机顶盒插件。
另外,根据本发明上述实施例的一种视频加密方法,还可以具有如下附加的技术特征:
优选地,所述预设字节串为所述字节单元中的前所述预设字节长度个字节。
优选地,所述预设字节长度为16字节。
优选地,将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算的步骤包括:
将所述加密密钥与视频流的每一个字节单元中的预设字节串进行异或运算。
优选地,还包括:
在将所述加密密钥发送给所述机顶盒插件之前,采用预设加密算法对所述加密密钥进行加密。
优选地,在将所述加密视频流发布到网络当中,得到所述加密视频流的播放地址的步骤之后,还包括:
将所述加密密钥和所述播放地址作为所述加密视频流的关联信息随所述视频流一同存储。
本发明实施例还提出一种视频解密方法,应用于视频播放系统当中,所述视频播放系统包括通讯连接的服务器和机顶盒插件,所述视频解密方法适用于所述机顶盒插件侧,所述视频解密方法包括:
向所述服务器发送视频播放请求,以获取所述视频播放请求对应的播放地址和加密密钥;
根据所述播放地址从网络中读取对应的加密视频流;
将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,所述解密运算与所述加密视频流的加密运算相对应。
另外,根据本发明上述实施例的一种视频解密方法,还可以具有如下附加的技术特征:
优选地,当所述服务器采用预设加密算法对所述加密密钥进行加密时,在获取所述视频播放请求对应的加密密钥之后,还包括:
采用所述预设加密算法对应的解密算法对所述加密密钥进行解密。
优选地,所述预设字节串为所述字节单元中的前所述预设字节长度个字节,所述预设字节长度为16字节。
优选地,将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算的步骤包括:
从尾到头按每188个字节为一个字节单元对所述加密视频流进行划分;
判断所述加密视频流的首个字节单元中的字节数是否达到188个;
若否,则将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算;
若是,则对所述首个字节单元进行单独解密,并将所述加密密钥与所述加密视频流的除所述首个字节单元之外的每一个字节单元中的预设字节串进行解密运算;
其中,对所述首个字节单元进行单独解密的步骤包括:
计算出所述首个字节单元中的字节数与188的差值;
根据所述差值确定所述首个字节单元中需要进行解密的目标字节串;
将所述目标字节串与所述加密密钥中对应的解密字节串进行解密运算,所述解密字节串的长度与所述目标字节串的长度相对,且所述解密字节串为所述加密密钥的尾部字节串。
本发明实施例还提出一种服务器,所述服务器包括:
密钥生成模块,用于随机生成预设字节长度的加密密钥;
加密模块,用于将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,所述预设字节串的字节长度等于所述预设字节长度;
视频发布模块,用于将所述加密视频流发布到网络当中,得到所述加密视频流的播放地址;
信息发送模块,用于当接收到机顶盒插件的视频播放请求时,将所述视频播放请求对应的加密视频流的播放地址和加密密钥发送给所述机顶盒插件。
本发明实施例还提出一种机顶盒插件,所述机顶盒插件包括:
视频请求模块,用于向服务器发送视频播放请求,以获取所述视频播放请求对应的播放地址和加密密钥;
传输流读取模块,用于根据所述播放地址从网络中读取对应的加密视频流;
解密模块,用于将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,所述解密运算与所述加密视频流的加密运算相对应。
本发明实施例还提出一种视频播放系统,所述系统包括:
服务器,用于采用上述的视频加密方法对视频流进行加密;
机顶盒,用于产生视频播放请求;
机顶盒插件,通讯连接在所述服务器和所述机顶盒之间,用于向所述服务器转发所述视频播放请求,以从网络上获取加密视频流,并采用与所述视频加密方法对应的视频解密方法对从所述加密视频流进行解密,并将解密后得到的解密视频流发送给所述机顶盒播放。
与现有技术相比:通过将随机生成的加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,而并非对字节单元中的全部字节进行加密运算,简化加密、解密过程,大幅提高解密效率,使得在机顶盒侧进行解密的同时还能够保证播放流畅,无需依靠云端进行解密。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例提供的视频播放系统的结构示意图;
图2为本发明实施例一中的视频加密方法的流程图;
图3为本发明实施例提供的TS视频流的标准数据结构;
图4为本发明实施例二中的视频加密方法的流程图;
图5为本发明实施例三中的视频解密方法的流程图;
图6为本发明实施例四中的服务器的结构示意图;
图7为本发明实施例五中的机顶盒的结构示意图。
以下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
以下各个实施例均可应用到图1示出的视频播放系统当中,图1示出的视频播放系统具体包括网络通讯连接的服务器、机顶盒及网络通讯连接在服务器和机顶盒之间的机顶盒插件,具体地,服务器和机顶盒插件的通讯网络环境具体可以为CDN(Content DeliveryNetwork,内容分发网络)网络环境。
其中,服务器具体包括视频管理部件B1和视频加密部件B2,视频管理部件B1是用来存储影视媒资TS(TransportStream,传输流)视频流,比如电视剧“西游记”,该部件中存储了“西游记”所有集数(1-26集)的TS视频,以及视频的描述信息如:“导演—XXX,演员XXX,播放地址URL XXX,是否加密=是或否”。视频加密部件B2是用来对视频管理部件B1中管理存储的TS视频进行加密的,视频管理部件B1提供视频地址以及用于加密的密钥Key(本发明一实施例采用16字节的随机密钥,具体加密过程下文做详细描述);视频加密部件B2拿到视频地址和密钥后,对视频进行加密处理,并将加密后的信息返回给视频管理部件B1。
另一方面,机顶盒为终端设备,配合电视等视频播放器进行使用,机顶盒插件具体为sdk(Software Development Kit,软件开发工具包)代理插件B3,该sdk代理插件B3不改变原有机顶盒播放器,只在播放器和网络之间插入代理,以用来提供机顶盒兼容解密播放,机顶盒apk(Android application package,Android应用程序包)中的播放器对接该sdk代理插件B3后,机顶盒原有播放器发出播放请求时,由sdk代理插件B3接收,并且由sdk代理插件B3向网络中去获取相关的TS视频流,得到视频流后,用密钥Key进行与加密过程对应的解密处理得到清流TS视频,将清流传给机顶盒播放器,实现播放。在具体实施时,sdk代理插件B3可以设置在机顶盒侧,具体可以嵌入于机顶盒内或外挂于机顶盒上。
需要指出的是,图1示出的结构并不构成对视频播放系统的限定,在其它实施例当中,该视频播放系统可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
实施例一
请参阅图2,所示为本发明实施例一中的视频加密方法,应用于视频播放系统当中,视频播放系统包括通讯连接的服务器和机顶盒插件,视频加密方法适用于服务器侧,视频加密方法可以通过软件和/或硬件来实现,视频加密方法具体包括步骤S01至步骤S04。
步骤S01,随机生成预设字节长度的加密密钥。
在具体实施时,加密密钥可通过多项式及参数随机生成而来,或者从预先存储的加密密钥集合中顺序循环读出,即在加密密钥集合中按顺序挑选出一个加密密钥作为当前加密的密钥Key。
步骤S02,将加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,预设字节串的字节长度等于预设字节长度。
具体地,视频流具体为TS视频流,请参阅图3,所示为TS视频流的标准数据结构,其由N个188字节的字节单元(数据包)组成,每一个188字节的字节单元中包含了PSI信息(用来描述传送流的组成结构)和视音频数据信息。
在本实施例一些情况当中,预设字节串为字节单元中的前预设字节长度个字节,预设字节长度具体为16字节。也即在本实施例一些情况当中,无需关注复杂的PSI信息,只需要知道每一个188字节单元中的前16个字节(即指预设字节串,可能包含了PSI信息),随后对每一个188字节单元的前16个字节与加密密钥Key进行加密运行。
示例而非限定,加密运算具体可以为异或运行,采用异或运行进行加密、解密的原理为:1字节=8比特,16字节=128比特,则对一个值用同一个Key进行连续两次异或处理的结果等于原本的值。
步骤S03,将加密视频流发布到网络当中,得到加密视频流的播放地址。
其中,网络可以为CDN网络,将加密视频流发布到CDN网络,即可得到加密视频流的播放地址。
步骤S04,当接收到机顶盒插件的视频播放请求时,将视频播放请求对应的加密视频流的播放地址和加密密钥发送给机顶盒插件。
综上,本实施例当中的视频加密方法,通过将随机生成的加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,而并非对字节单元中的全部字节进行加密运算,简化加密、解密过程,大幅提高解密效率,使得在机顶盒侧进行解密的同时还能够保证播放流畅,具有无需依靠云端进行解密、更加适用于中小企业、终端代理解密sdk代理插件集成简单和完美兼容(无需单独开发对应的解密机顶盒,引入sdk代理插件与原有机顶盒对接,实现解密播放)、机顶盒播放流畅、加密TS后文件大小不变、投入生产成本低,实现可行性高等优点。
实施例二
请参阅图4,所示为本发明实施例二中的视频加密方法,应用于视频播放系统当中,视频播放系统包括通讯连接的服务器和机顶盒插件,视频加密方法适用于服务器侧,视频加密方法可以通过软件和/或硬件来实现,视频加密方法具体包括步骤S11至步骤S16。
步骤S11,随机生成16字节的加密密钥。
步骤S12,将加密密钥与视频流的每一个字节单元中的前16个字节进行异或运算,得到加密视频流。
步骤S13,将加密视频流发布到CDN网络当中,得到加密视频流的播放地址。
步骤S14,将加密密钥和播放地址作为加密视频流的关联信息随视频流一同存储。
步骤S15,当接收到机顶盒插件的视频播放请求时,采用预设加密算法对视频播放请求对应的加密视频流的加密密钥进行加密。
其中,预设加密算法可以为但不限于多次AES-128加密算法或者RSA非对称加密算法,通过对密钥进行加密传输,有利于提高数据传输的安全性能。
步骤S16,将加密后的加密密钥和视频播放请求对应的加密视频流的播放地址发送给机顶盒插件。
实施例三
请参阅图5,所示为本发明实施例三中的视频解密方法,应用于视频播放系统当中,视频播放系统包括通讯连接的服务器和机顶盒插件,视频解密方法适用于机顶盒插件侧,视频解密方法可以通过软件和/或硬件来实现,视频解密方法具体包括步骤S21至步骤S23。
步骤S21,向服务器发送视频播放请求,以获取视频播放请求对应的播放地址和加密密钥。
具体地,当sdk代理插件请求某一个具体的节目信息进行播放前,会向服务器发送请求播放该节目的视频播放请求,随后将从CDN网络中获取到服务端返回的对应视频三个主要相关参数,三个主要参数分别是:“1、playUrl播放地址;2、是否加密=true\false(用于判定视频是否加密,也可不去除该项参数);3、密钥Key,sdk代理插件将播放地址传给播放器”。
步骤S22,根据播放地址从网络中读取对应的加密视频流。
应当理解的,当机顶盒原有播放器获取到播放地址之后,就可以播放视频,即按照播放器原有的方式请求TS视频流,但是请求会经过sdk代理插件,sdk代理插件会代替播放器直接去访问TS视频流,并将加密的视频流用16字节的原生密钥Key异或解密后,将清流返回给播放器。
步骤S23,将加密密钥与加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,解密运算与加密视频流的加密运算相对应。
相应的,在本实施例一些情况当中,预设字节串为字节单元中的前预设字节长度个字节,预设字节长度为16字节。则步骤S23具体实施过程为:将加密密钥与加密视频流的每一个字节单元中的前16个字节串进行异或运算,以得到解密视频流,解密视频流发送给播放器播放。
但需要指出的是,当TS视频流在传输时丢失信息(一般码头丢失)、或者所读取的TS视频流并不是完整的TS视频流(例如用户并非重头开始观看西游记第一集,而是直接从西游记第一集的10分钟处开始观看),此时sdk代理插件所获取的TS视频流并非完整结构的TS视频流(无法刚好构成整数个188个字节的字节单元),而是首个字节单元达不到188个字节,在这种情况下,步骤S23可以具体包括:
从尾到头按每188个字节为一个字节单元对加密视频流进行划分;
判断加密视频流的首个字节单元中的字节数是否达到188个;
若否,代表sdk代理插件所获取的TS视频流为完整结构的TS视频流,则将加密密钥与加密视频流的每一个字节单元中的前16个字节进行异或运算;
若是,代表sdk代理插件所获取的TS视频流为非完整结构的TS视频流,则对首个字节单元进行单独解密,并将加密密钥与加密视频流的除首个字节单元之外的每一个字节单元中的前16个字节进行异或运算;
其中,对首个字节单元进行单独解密的步骤包括:
计算出首个字节单元中的字节数与188的差值;
根据差值确定首个字节单元中需要进行解密的目标字节串;
将目标字节串与加密密钥中对应的解密字节串进行解密运算,解密字节串的长度与目标字节串的长度相对,且解密字节串为加密密钥的尾部字节串。
举例来说,当首个字节单元中的字节数只有178个时,举例188个字节相差10个,则代表首个字节单元中只有前6个字节进行了加密,则将首个字节单元中的前6个字节与加密密钥的后6个字节进行异或运算,就完成了对首个字节单元进行单独解密。
进一步地,当服务器采用预设加密算法对加密密钥进行加密时,在获取视频播放请求对应的加密密钥之后,还包括:
采用预设加密算法对应的解密算法对加密密钥进行解密。即若加密密钥进行了加密传输,则采用加密算法(例如为多次AES-128加密算法、RSA非对称加密算法等等)对应的解密算法先对加密密钥进行解密。然后再用解密后的加密密钥对加密视频流进行解密。
实施例四
本发明另一方面还提供一种服务器,请查阅图6,所示为本发明实施例四中的服务器,服务器具体包括:
密钥生成模块11,用于随机生成预设字节长度的加密密钥;
加密模块12,用于将加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,预设字节串的字节长度等于预设字节长度;
视频发布模块13,用于将加密视频流发布到网络当中,得到加密视频流的播放地址;
信息发送模块14,用于当接收到机顶盒插件的视频播放请求时,将视频播放请求对应的加密视频流的播放地址和加密密钥发送给机顶盒插件。
优选地,在本发明一些可选实施例当中,预设字节串为字节单元中的前预设字节长度个字节。预设字节长度为16字节。
优选地,在本发明一些可选实施例当中,加密模块12还用于将加密密钥与视频流的每一个字节单元中的预设字节串进行异或运算。
优选地,在本发明一些可选实施例当中,加密模块12还用于在将加密密钥发送给机顶盒插件之前,采用预设加密算法对加密密钥进行加密。
优选地,在本发明一些可选实施例当中,服务器还包括:
信息存储模块,用于将加密密钥和播放地址作为加密视频流的关联信息随视频流一同存储。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
实施例五
本发明另一方面还提供一种机顶盒插件,请查阅图7,所示为本发明实施例五中的机顶盒插件,机顶盒插件包括代理插件,代理插件包括:
视频请求模块21,用于向服务器发送视频播放请求,以获取视频播放请求对应的播放地址和加密密钥;
传输流读取模块22,用于根据播放地址从网络中读取对应的加密视频流;
解密模块23,用于将加密密钥与加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,解密运算与加密视频流的加密运算相对应。
优选地,在本发明一些可选实施例当中,解密模块23还用于当服务器采用预设加密算法对加密密钥进行加密时,在获取视频播放请求对应的加密密钥之后,采用预设加密算法对应的解密算法对加密密钥进行解密。
优选地,在本发明一些可选实施例当中,预设字节串为字节单元中的前预设字节长度个字节,预设字节长度为16字节。
优选地,在本发明一些可选实施例当中,解密模块23还用于从尾到头按每188个字节为一个字节单元对加密视频流进行划分;判断加密视频流的首个字节单元中的字节数是否达到188个;若否,则将加密密钥与加密视频流的每一个字节单元中的预设字节串进行解密运算;若是,则对首个字节单元进行单独解密,并将加密密钥与加密视频流的除首个字节单元之外的每一个字节单元中的预设字节串进行解密运算;其中,对首个字节单元进行单独解密的过程包括:计算出首个字节单元中的字节数与188的差值;根据差值确定首个字节单元中需要进行解密的目标字节串;将目标字节串与加密密钥中对应的解密字节串进行解密运算,解密字节串的长度与目标字节串的长度相对,且解密字节串为加密密钥的尾部字节串。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
实施例六
本发明实施例六提出一种视频播放系统,系统包括:
服务器,用于采用上述任一实施例的视频加密方法对视频流进行加密;
机顶盒,用于产生视频播放请求;
机顶盒插件,通讯连接在服务器和机顶盒之间,用于向服务器转发视频播放请求,以从网络上获取加密视频流,并采用与视频加密方法对应的视频解密方法(即上述任一实施例的视频解密方法)对从加密视频流进行解密,并将解密后得到的解密视频流发送给机顶盒播放。
其中,机顶盒插件具体可以为sdk代理插件。机顶盒可以为原有机顶盒,即可以在原有市面上的机顶盒中集成或外挂连接一sdk代理插件,来实现视频高速解密。
综上,本发明上述实施例当中的视频播放系统,通过将随机生成的加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,而并非对字节单元中的全部字节进行加密运算,简化加密、解密过程,大幅提高解密效率,使得在机顶盒侧进行解密的同时还能够保证播放流畅,具有无需依靠云端进行解密、更加适用于中小企业、终端代理解密sdk代理插件集成简单和完美兼容(无需单独开发对应的解密机顶盒,引入sdk代理插件与原有机顶盒对接,实现解密播放)、机顶盒播放流畅、加密TS后文件大小不变、投入生产成本低,实现可行性高等优点。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备获取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种视频加密方法,其特征在于,应用于视频播放系统当中,所述视频播放系统包括通讯连接的服务器和机顶盒插件,所述视频加密方法适用于所述服务器侧,所述视频加密方法包括:
随机生成预设字节长度的加密密钥;
将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,所述预设字节串的字节长度等于所述预设字节长度;
将所述加密视频流发布到网络当中,得到所述加密视频流的播放地址;
当接收到机顶盒插件的视频播放请求时,将所述视频播放请求对应的加密视频流的播放地址和加密密钥发送给所述机顶盒插件。
2.根据权利要求1所述的视频加密方法,其特征在于,所述预设字节串为所述字节单元中的前所述预设字节长度个字节。
3.根据权利要求1或2所述的视频加密方法,其特征在于,所述预设字节长度为16字节。
4.根据权利要求1所述的视频加密方法,其特征在于,将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算的步骤包括:
将所述加密密钥与视频流的每一个字节单元中的预设字节串进行异或运算。
5.根据权利要求1所述的视频加密方法,其特征在于,还包括:
在将所述加密密钥发送给所述机顶盒插件之前,采用预设加密算法对所述加密密钥进行加密。
6.一种视频解密方法,其特征在于,应用于视频播放系统当中,所述视频播放系统包括通讯连接的服务器和机顶盒插件,所述视频解密方法适用于所述机顶盒插件侧,所述视频解密方法包括:
向所述服务器发送视频播放请求,以获取所述视频播放请求对应的播放地址和加密密钥;
根据所述播放地址从网络中读取对应的加密视频流;
将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,所述解密运算与所述加密视频流的加密运算相对应。
7.根据权利要求6所述的视频解密方法,其特征在于,还包括:当所述服务器采用预设加密算法对所述加密密钥进行加密时,在获取所述视频播放请求对应的加密密钥之后,还包括:
采用所述预设加密算法对应的解密算法对所述加密密钥进行解密。
8.根据权利要求6所述的视频解密方法,其特征在于,所述预设字节串为所述字节单元中的前所述预设字节长度个字节,所述预设字节长度为16字节。
9.根据权利要求8所述的视频解密方法,其特征在于,将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算的步骤包括:
从尾到头按每188个字节为一个字节单元对所述加密视频流进行划分;
判断所述加密视频流的首个字节单元中的字节数是否达到188个;
若否,则将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算;
若是,则对所述首个字节单元进行单独解密,并将所述加密密钥与所述加密视频流的除所述首个字节单元之外的每一个字节单元中的预设字节串进行解密运算;
其中,对所述首个字节单元进行单独解密的步骤包括:
计算出所述首个字节单元中的字节数与188的差值;
根据所述差值确定所述首个字节单元中需要进行解密的目标字节串;
将所述目标字节串与所述加密密钥中对应的解密字节串进行解密运算,所述解密字节串的长度与所述目标字节串的长度相对,且所述解密字节串为所述加密密钥的尾部字节串。
10.一种服务器,其特征在于,所述服务器包括:
密钥生成模块,用于随机生成预设字节长度的加密密钥;
加密模块,用于将所述加密密钥与视频流的每一个字节单元中的预设字节串进行加密运算,得到加密视频流,所述预设字节串的字节长度等于所述预设字节长度;
视频发布模块,用于将所述加密视频流发布到网络当中,得到所述加密视频流的播放地址;
信息发送模块,用于当接收到机顶盒插件的视频播放请求时,将所述视频播放请求对应的加密视频流的播放地址和加密密钥发送给所述机顶盒插件。
11.一种机顶盒插件,其特征在于,所述机顶盒插件包括:
视频请求模块,用于向服务器发送视频播放请求,以获取所述视频播放请求对应的播放地址和加密密钥;
传输流读取模块,用于根据所述播放地址从网络中读取对应的加密视频流;
解密模块,用于将所述加密密钥与所述加密视频流的每一个字节单元中的预设字节串进行解密运算,以得到解密视频流,所述解密运算与所述加密视频流的加密运算相对应。
12.一种视频播放系统,其特征在于,所述系统包括:
服务器,用于采用权利要求1-5任一项所述的视频加密方法对视频流进行加密;
机顶盒,用于产生视频播放请求;
机顶盒插件,通讯连接在所述服务器和所述机顶盒之间,用于向所述服务器转发所述视频播放请求,以从网络上获取加密视频流,并采用与所述视频加密方法对应的视频解密方法对从所述加密视频流进行解密,并将解密后得到的解密视频流发送给所述机顶盒播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011286928.2A CN112104895B (zh) | 2020-11-17 | 2020-11-17 | 视频加解密方法、服务器、机顶盒插件及视频播放系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011286928.2A CN112104895B (zh) | 2020-11-17 | 2020-11-17 | 视频加解密方法、服务器、机顶盒插件及视频播放系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104895A true CN112104895A (zh) | 2020-12-18 |
CN112104895B CN112104895B (zh) | 2021-02-26 |
Family
ID=73784748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011286928.2A Active CN112104895B (zh) | 2020-11-17 | 2020-11-17 | 视频加解密方法、服务器、机顶盒插件及视频播放系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104895B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286130A (zh) * | 2021-12-29 | 2022-04-05 | 北京深思数盾科技股份有限公司 | 视频加密方法、视频处理方法、装置及电子设备 |
CN115225934A (zh) * | 2022-07-25 | 2022-10-21 | 未来电视有限公司 | 视频播放方法、系统、电子设备以及存储介质 |
CN115550692A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469345A (zh) * | 2010-11-19 | 2012-05-23 | 康佳集团股份有限公司 | 多媒体媒体数据加解密方法 |
US20150296368A1 (en) * | 2014-04-09 | 2015-10-15 | Microsoft Technology Licensing, Llc | Device policy manager |
CN110138716A (zh) * | 2018-02-09 | 2019-08-16 | 网宿科技股份有限公司 | 一种密钥的提供、视频播放方法、服务器及客户端 |
CN110557680A (zh) * | 2019-07-30 | 2019-12-10 | 视联动力信息技术股份有限公司 | 一种音视频数据帧传输方法和系统 |
-
2020
- 2020-11-17 CN CN202011286928.2A patent/CN112104895B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469345A (zh) * | 2010-11-19 | 2012-05-23 | 康佳集团股份有限公司 | 多媒体媒体数据加解密方法 |
US20150296368A1 (en) * | 2014-04-09 | 2015-10-15 | Microsoft Technology Licensing, Llc | Device policy manager |
CN110138716A (zh) * | 2018-02-09 | 2019-08-16 | 网宿科技股份有限公司 | 一种密钥的提供、视频播放方法、服务器及客户端 |
CN110557680A (zh) * | 2019-07-30 | 2019-12-10 | 视联动力信息技术股份有限公司 | 一种音视频数据帧传输方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286130A (zh) * | 2021-12-29 | 2022-04-05 | 北京深思数盾科技股份有限公司 | 视频加密方法、视频处理方法、装置及电子设备 |
CN115225934A (zh) * | 2022-07-25 | 2022-10-21 | 未来电视有限公司 | 视频播放方法、系统、电子设备以及存储介质 |
CN115225934B (zh) * | 2022-07-25 | 2023-11-28 | 未来电视有限公司 | 视频播放方法、系统、电子设备以及存储介质 |
CN115550692A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112104895B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104895B (zh) | 视频加解密方法、服务器、机顶盒插件及视频播放系统 | |
US20170118537A1 (en) | Adaptive watermarking for streaming data | |
US10754930B2 (en) | Remotely managed trusted execution environment for digital rights management in a distributed network with thin clients | |
US9038147B2 (en) | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy | |
JP5523513B2 (ja) | 複数のデジタル権利管理のためのコンテンツ配信 | |
US7349886B2 (en) | Securely relaying content using key chains | |
US9055353B2 (en) | Content transmission device, content transmission method, and computer program used therewith | |
KR100930303B1 (ko) | 디지털 미디어 콘텐츠 보호 시스템 및 방법 | |
US20050193205A1 (en) | Method and system for session based watermarking of encrypted content | |
US20040199771A1 (en) | Method for tracing a security breach in highly distributed content | |
US20140196079A1 (en) | Video distribution and playback | |
US8638929B2 (en) | System and method for encrypting and decrypting data | |
JP2004048676A (ja) | 受信側に対して同期送信するために暗号化済みコンテンツにタイトル鍵を添付する方法、システム、およびプログラム | |
CN111093097A (zh) | 流媒体数据加密、解密方法、装置、电子设备及存储介质 | |
US20110066843A1 (en) | Mobile media play system and method | |
US20110113443A1 (en) | IP TV With DRM | |
CN102984557A (zh) | 基于drm的流媒体播放系统 | |
US8196214B2 (en) | Method and apparatus for securing content using encryption with embedded key in content | |
CN110912941A (zh) | 组播数据的传输处理方法及装置 | |
CN114039959A (zh) | 一种ts流的传输方法及装置 | |
KR20190136531A (ko) | 동영상의 보안 서비스 방법 및 시스템 | |
TWI268080B (en) | Method and system for session based watermarking of encrypted content | |
KR100950596B1 (ko) | Dcas 기반 방송 수신 장치 및 이의 보안 강화 방법 | |
Park et al. | Protection of Windows Media Video Providing Selective Encryption | |
Park et al. | Protecting ASF movie on VOD |
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 |