CN113259720B - 基于hls协议的视频加密方法和系统 - Google Patents
基于hls协议的视频加密方法和系统 Download PDFInfo
- Publication number
- CN113259720B CN113259720B CN202110660011.2A CN202110660011A CN113259720B CN 113259720 B CN113259720 B CN 113259720B CN 202110660011 A CN202110660011 A CN 202110660011A CN 113259720 B CN113259720 B CN 113259720B
- Authority
- CN
- China
- Prior art keywords
- file
- local proxy
- proxy server
- uri address
- remote server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 39
- 239000012634 fragment Substances 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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
-
- 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/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- 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/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种基于HLS协议的视频加密方法和系统,通过m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,虚假URI地址指向本地代理服务器;指定播放器通过本地代理服务器向远程服务器请求解密密钥的真实URI地址,指定播放器根据真实URI地址对m3u8文件进行解密播放,其中,远程服务器保存有真实URI地址,即通过修改encrypt.key的路径,使解密密钥的虚假URI地址指向本地代理服务器,其他播放器获取到m3u8文件后,因为m3u8文件里的虚假URI地址指向本地代理服务器,无法获取到真实URI地址,故无法对切片文件进行解密播放,而指定播放器可以通过本地代理服务器向远程服务器请求真实URI地址,指定播放器根据真实URI地址就可以对m3u8文件进行解密播放,提高了m3u8文件的安全性。
Description
技术领域
本申请涉及视频处理技术领域,特别是涉及基于HLS协议的视频加密方法和系统。
背景技术
基于HTTP的流媒体网络传输协议 (HTTP Live Streaming,简称为HLS)的基本实现原理为将一个大的媒体文件进行分片,将切片文件资源路径记录于m3u8文件内,用于提供给客户端。客户端根据该m3u8文件即可获取对应的媒体资源进行播放。在相关技术中,m3u8文件中包含加密后的切片文件和切片密钥的URI地址,将m3u8文件发布到HTTP服务器上,任何客户端下载并解析m3u8文件,然后下载切片文件和切片文件对应的密钥即可进行解密播放,导致同业竞争对手或者其他网络观众利用下载、盗版或盗链接等多种方式和手段,就能很容易获得m3u8文件对应的视频内容,从而对原创者产生不利影响。
目前针对相关技术中容易获取到m3u8文件对应的视频内容,安全性低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于HLS协议的视频加密方法和系统,以至少解决相关技术中容易获取到m3u8文件对应的视频内容,安全性低的问题。
第一方面,本申请实施例提供了一种基于HLS协议的视频加密方法,所述方法包括:
多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件,其中,所述m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,所述虚假URI地址指向所述本地代理服务器;
指定播放器通过所述本地代理服务器向远程服务器请求解密密钥的真实URI地址,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放,其中,所述远程服务器保存有所述真实URI地址。
在其中一些实施例中,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件之前,所述方法包括:
所述多媒体处理工具生成加密密钥和IV值,其中,所述加密密钥保存在encrypt.key文件中;
新建encrypt.keyinfo文件,所述encrypt.keyinfo文件包括encrypt.key的路径、所述encrypt.key文件和所述IV值,其中,所述encrypt.key的路径指向所述本地代理服务器。
在其中一些实施例中,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件包括:
所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件使用不同的密钥进行加密,生成所述m3u8文件。
在其中一些实施例中,所述指定播放器通过所述本地代理服务器向远程服务器请求真实URI地址包括:
当所述指定播放器播放所述m3u8文件,则启动所述本地代理服务器,所述本地代理服务器根据与所述远程服务器预先约定的请求规则向所述远程服务器发送请求命令,所述远程服务器根据所述请求命令,向所述本地代理服务器发送所述真实URI地址,其中,所述指定播放器中配置所述本地代理服务器。
在其中一些实施例中,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址包括:
所述远程服务器判断所述请求命令是否符合预设请求格式,若判断结果为是,则向所述本地代理服务器发送真实URI地址,若判断结果为否,则拒绝所述本地代理服务器的请求。
在其中一些实施例中,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址包括:
所述远程服务器判断所述请求命令是否符合预设加密方式,若判断结果为是,则向所述本地代理服务器发送真实URI地址,若判断结果为否,则拒绝所述本地代理服务器的请求。
在其中一些实施例中,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放包括:
所述指定播放器根据所述真实URI地址获取解密密钥,根据所述解密密钥对所述m3u8文件进行解密播放。
在其中一些实施例中,所述多媒体处理工具为ffmpeg。
第二方面,本申请实施例提供了一种基于HLS协议的视频加密系统,所述系统包括多媒体处理工具、指定播放器、本地代理服务器和远程服务器,
所述多媒体处理工具,用于对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件,其中,所述m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,所述虚假URI地址指向所述本地代理服务器;
所述指定播放器,用于通过所述本地代理服务器向所述远程服务器请求解密密钥的真实URI地址,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放,其中,所述远程服务器保存有所述真实URI地址。
在其中一些实施例中,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件之前,
所述多媒体处理工具生成加密密钥和IV值,其中,所述加密密钥保存在encrypt.key中;
新建encrypt.keyinfo文件,所述encrypt.keyinfo文件包括encrypt.key的路径、所述encrypt.key文件和所述IV值,其中,所述encrypt.key的路径指向所述本地代理服务器。
相比于相关技术,本申请实施例提供的基于HLS协议的视频加密方法,通过多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件,其中,m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,虚假URI地址指向本地代理服务器;指定播放器通过本地代理服务器向远程服务器请求解密密钥的真实URI地址,指定播放器根据真实URI地址对m3u8文件进行解密播放,其中,远程服务器保存有真实URI地址,即通过修改encrypt.key的路径,使解密密钥的URI地址指向本地代理服务器,同业竞争对手或者其他网络观众获取到m3u8文件后,也无法通过其他播放器进行播放,因为m3u8文件里的虚假URI地址指向本地代理服务器,其他播放器无法获取到真实URI地址,故无法对切片文件进行解密播放,而指定播放器通过本地代理服务器向远程服务器请求解密密钥的真实URI地址,指定播放器就可以根据真实URI地址对m3u8文件进行解密播放,有效防止了m3u8文件对应的视频容易被非法拷贝的问题,提高了m3u8文件的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于HLS协议的视频加密方法的流程图;
图2是根据本申请实施例的另一种基于HLS协议的视频加密方法的流程图;
图3是根据本申请实施例的基于HLS协议的视频加密系统的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
HLS(HTTP Live Streaming,基于HTTP的流媒体网络传输协议)协议的基本实现原理为将一个大的媒体文件进行分片,将切片文件资源路径记录于m3u8文件内,用于提供给客户端。客户端根据该m3u8文件即可获取对应的媒体资源进行播放。
M3U是一种文件格式,是某些移动设备例如安卓,苹果手机浏览器缓存视频的“专用视频格式”文件,它记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放,M3U8文件是指UTF-8编码格式的M3U文件。
AES-128(Advanced Encryption Standard,高级加密标准)是一种标准化的加密方法,媒体文件分片成一个个切片文件后,使用AES-128的密钥对切片加密,然后生成m3u8文件。m3u8文件中包含加密后的切片和切片密钥的URL地址,之后发布到服务器上,客户端下载并解析m3u8文件,然后下载切片文件和切片对应的密钥即可进行解密播放。
本实施例提供了一种基于HLS协议的视频加密方法,图1是根据本申请实施例的基于HLS协议的视频加密方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件,其中,m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,虚假URI地址指向本地代理服务器;本实施例中,通过将虚假URI地址指向本地代理服务器,使其他播放器获取不到m3u8文件的解密密钥;
步骤S102,指定播放器通过本地代理服务器向远程服务器请求解密密钥的真实URI地址,指定播放器根据真实URI地址对m3u8文件进行解密播放。本实施例中,URI为统一资源标识符,可以唯一标识一个资源,URL为统一资源定位符可以提供找到该资源的路径,URL起到了URI的作用,所以URL是URI的子集。
相对于相关技术中,多媒体处理工具对源视频进行分片并加密的处理时,生成的m3u8文件中的解密密钥的URI地址会指向存放有源视频的远程服务器,任何播放器下载并解析该m3u8文件,然后下载切片文件和切片文件对应的密钥即可进行解密播放,导致同业竞争对手或者其他网络观众利用下载、盗版或盗链接等多种方式和手段,就能很容易获得视频内容,从而对原创者产生不利影响,通过上述步骤S101至S102,在多媒体处理工具对源视频进行分片并加密,生成m3u8文件时,通过修改encrypt.key的路径,使解密密钥的URI地址指向本地代理服务器,将指向本地代理服务器的URI地址称为虚假URI地址,同业竞争对手或者其他网络观众获取到m3u8文件后,也无法通过其他播放器进行播放,因为m3u8文件里的虚假URI地址指向本地代理服务器,其他播放器无法获取到真实URI地址,即无法获取解密密钥,故无法对切片文件进行解密播放,而指定播放器通过本地代理服务器向远程服务器请求解密密钥的真实URI地址,指定播放器就可以根据真实URI地址对m3u8文件进行解密播放,有效防止了m3u8文件对应的视频容易被非法拷贝的问题,提高了m3u8文件的安全性。
在其他一些实施例中,多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件之前,基于HLS技术的分片并加密的步骤如下:
S1:多媒体处理工具生成加密密钥和IV值,其中,该加密密钥保存在encrypt.key文件中;多媒体处理工具为ffmpeg,Fmpeg是领先的多媒体框架,能够解码、编码、转码、混合、解密、流媒体、过滤和播放人类和机器创造的几乎所有东西,在多媒体处理工具中通过代码openssl rand 16 > encrypt.key生成加密密钥,并将加密密钥保存在encrypt.key文件中,通过代码openssl rand -hex 16生成IV值;
S2:新建encrypt.keyinfo文件,encrypt.keyinfo文件包括encrypt.key的路径、encrypt.key文件和IV值,其中,encrypt.key的路径指向本地代理服务器;
按照如下格式新建一个encrypt.keyinfo文件:
Key URI # encrypt.key的路径,使用http形式;
Path to key file # encrypt.key文件;
IV # 上面生成的IV值;例如,
http://localhost:12345/enc.key
enc.key
ed6d88cc51acf787ea315152a217a180
S3:使用多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件。在多媒体处理工具中通过代码ffmpeg -re -i xxxx.mkv -hls_key_info_file enc.keyinfo -hls_list_size 10 -hls_wrap 20 -c copy playlist.m3u8对源视频进行分片并加密,生成的m3u8文件内容如下:
#EXTM3U # M3U8文件头
#EXT-X-VERSION:3 # M3U8版本号
#EXT-X-TARGETDURATION:10 # 每个切片文件的最大的时长是10秒
#EXT-X-MEDIA-SEQUENCE:12 # 第一个切片分片的序列号是12
#EXT-X-KEY:METHOD=AES-128,
URI="http://localhost:12345/enc.key",IV=0xed6d88cc51acf787ea315152a217a180
#EXTINF:3.458000 , # 文件名为playlist12.ts的切片文件的分片时长为3.458秒
playlist12.ts
#EXTINF:10.000000,
playlist13.ts
#EXTINF:5.500000,
playlist14.ts
#EXTINF:4.209000,
playlist15.ts
#EXTINF:3.000000,
playlist16.ts
#EXTINF:7.083000,
playlist17.ts
#EXTINF:9.958000,
playlist18.ts
#EXTINF:9.959000,
playlist19.ts
#EXTINF:9.958000,
playlist0.ts
#EXTINF:1.250000,
playlist1.ts
URI="http://localhost:12345/enc.key",IV=0xed6d88cc51acf787ea315152a217a180是解密密钥的虚假URI地址,指向本地代理服务器,在相关技术中,会将encrypt.key的路径设置为远程服务器的地址,从而使生成的m3u8文件包括指向远程服务器的真实URI地址,任何播放器获取到m3u8文件后,都可以通过真实URI地址对切片文件进行解密并播放,导致m3u8文件对应的视频容易被非法拷贝,而本实施例中,通过将encrypt.key的路径设置为本地代理服务器的地址,使其他播放器获取到m3u8文件时,由于其他播放器不存在该本地代理服务器,无法定位到解密密钥,从而无法播放m3u8文件里对应的视频内容,提高了m3u8文件的安全性。
在其他一些实施例中,多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件包括:
多媒体处理工具对源视频进行分片生成切片文件,对每个切片文件使用不同的密钥进行加密,生成m3u8文件。本实施例中,多媒体处理工具一边对源视频进行分片生成切片文件,一边对切片文件进行加密,对所有的切片文件都进行加密后,生成m3u8文件,其中,可以使用同一个加密密钥对所有的切片文件进行加密,相应的,所有切片文件的解密密钥也为同一个,将解密密钥保存在远程服务器上,然后为切片文件关联一个指向解密密钥的URI地址,播放过程中,指定播放器只需通过本地代理服务器向远程服务器请求一次远程服务器,获取密密钥的URI地址,对所有切片文件进行解密,从而播放视频内容,通过使用同一个加密密钥对所有的切片文件进行加密,在提高m3u8文件安全性的同时,还加快的加解密的速度;
也可以对所有的切片文件使用不同的加密密钥进行加密,相应的,所有切片文件的解密密钥也不同,将所有解密密钥保存在远程服务器上,分别为所有切片文件关联一个指向解密密钥的URI地址,播放过程中,指定播放器不停解析m3u8文件,不停的通过本地代理服务器向远程服务器请求解密密钥的URI地址,直至获取到所有解密密钥的URI地址,从而播放视频内容,通过对每个切片文件使用不同的密钥进行加密,进而控制每个切片文件的访问权限,例如,只提供一个或几个切片文件和这些切片文件对应的解密密钥的URI地址给用户,为用户提供超前点播或限时观看的业务,在提高m3u8文件安全性的同时,为用户提供不同的体验,满足用户需求。
在其他一些实施例中,指定播放器通过本地代理服务器向远程服务器请求真实URI地址包括:
当指定播放器播放m3u8文件,则启动本地代理服务器,本地代理服务器根据与远程服务器预先约定的请求规则向远程服务器发送请求命令,远程服务器根据请求命令,向本地代理服务器发送真实URI地址,其中,指定播放器中配置本地代理服务器。本实施例中,在指定播放器中配置本地代理服务器,并为本地代理服务器和远程服务器约定请求规则,远程服务器只会响应符合请求规则的本地代理服务器,而拒绝其他服务器的访问请求,指定播放器播放m3u8文件时,会启动本地代理服务器向远程服务器请求真实URI地址,提高了m3u8文件的安全性。
在其他一些实施例中,远程服务器根据请求命令,向本地代理服务器发送真实URI地址包括:
远程服务器判断请求命令是否符合预设请求格式,若判断结果为是,则向本地代理服务器发送真实URI地址,若判断结果为否,则拒绝本地代理服务器的请求。示例性的,预设请求格式可以为HTTP请求格式,本地代理服务器根据与远程服务器预先约定的请求规则向远程服务器发送请求命令,约定的请求规则可以是预设请求格式,当请求命令符合预设请求格式时,说明可以向该本地代理服务器发送真实URI地址,其他服务器不知道预设请求格式,访问远程服务器只会失败,有效防止了m3u8文件对应的视频容易被非法拷贝的问题,提高了m3u8文件的安全性。
在其他一些实施例中,远程服务器根据请求命令,向本地代理服务器发送真实URI地址包括:
远程服务器判断请求命令是否符合预设加密方式,若判断结果为是,则向本地代理服务器发送真实URI地址,若判断结果为否,则拒绝本地代理服务器的请求。示例性的,预设加密方式可以使用RSA加密或AES加密,RSA在加解密过程中不必网络传输保密的密钥,密钥管理优于AES算法,而AES加密速度快,也可以同时使用AES+RSA加密,即使用AES对称密码体制对传输数据加密,同时使用RSA不对称密码体制来传送AES的密钥,就可以综合发挥AES和RSA的优点,同时避免它们缺点,本地代理服务器根据与远程服务器预先约定的请求规则向远程服务器发送请求命令,约定的请求规则还可以是预设加密方式,当请求命令符合预设加密方式时,说明可以向该本地代理服务器发送真实URI地址,其他服务器不知道预设加密方式,访问远程服务器只会失败,有效防止了m3u8文件对应的视频容易被非法拷贝的问题,提高了m3u8文件的安全性。
在其他一些实施例中,指定播放器根据真实URI地址对m3u8文件进行解密播放包括:
指定播放器根据真实URI地址获取解密密钥,根据解密密钥对m3u8文件进行解密播放。本实施例中,根据真实URI地址,即可获取到m3u8文件中切片文件的解密密钥,即可对切片文件进行解密,并播放该切片文件,直至播放完m3u8文件中所有的切片文件。
在其他一些实施例中,上述提到的基于HLS协议的视频加密方法可用在直播加密的场景中,图2是根据本申请实施例的另一种基于HLS协议的视频加密方法的流程图,如图2所示,播放器即本申请中的指定播放器,本地服务即本申请中的本地代理服务器,远程服务器包括RTMP服务器和KEY服务器,KEY服务器用于存放解密密钥的真实URI地址,移动终端在直播推流的过程中,通过组播推流将视频数据发送到RTMP服务器上,RTMP服务器通过多媒体处理工具对视频进行分片生成切片文件,并对每个切片文件进行加密,生成m3u8文件,m3u8文件中包含加密后的切片文件和虚假URI地址,并将真实URI地址存放在KEY服务器中,播放器获取RTMP服务器中的m3u8文件,即获取了播放地址后,通过本地服务向KEY服务器请求真实URI地址,根据真实URI地址获取解密密钥后,根据解密密钥对m3u8文件进行解密播放。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种基于HLS协议的视频加密系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的基于HLS协议的视频加密系统的结构框图,如图3所示,该系统包括多媒体处理工具31、指定播放器34、本地代理服务器33和远程服务器32,多媒体处理工具31用于对源视频进行分片生成切片文件,对每个切片文件进行加密,生成m3u8文件,其中,m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,虚假URI地址指向本地代理服务器33;指定播放器34用于通过本地代理服务器33向远程服务器32请求解密密钥的真实URI地址,指定播放器34根据真实URI地址对m3u8文件进行解密播放,其中,远程服务器32保存有真实URI地址,解决了m3u8文件对应的视频容易被非法拷贝的问题,提高了m3u8文件的安全性。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于HLS协议的视频加密方法,其特征在于,所述方法包括:
多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件,其中,所述m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,所述虚假URI地址指向本地代理服务器;
当指定播放器播放所述m3u8文件,则启动所述本地代理服务器,所述本地代理服务器根据与远程服务器预先约定的请求规则向所述远程服务器发送请求命令,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放,其中,所述远程服务器保存有所述真实URI地址,所述指定播放器中配置所述本地代理服务器,所述远程服务器只会响应符合请求规则的所述指定播放器所属的本地代理服务器,拒绝其他播放器所属的其他服务器的访问请求。
2.根据权利要求1所述的方法,其特征在于,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件之前,所述方法包括:
所述多媒体处理工具生成加密密钥和IV值,其中,所述加密密钥保存在encrypt.key文件中;
新建encrypt.keyinfo文件,所述encrypt.keyinfo文件包括encrypt.key的路径、所述encrypt.key文件和所述IV值,其中,所述encrypt.key的路径指向所述本地代理服务器。
3.根据权利要求1所述的方法,其特征在于,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件包括:
所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件使用不同的密钥进行加密,生成所述m3u8文件。
4.根据权利要求1所述的方法,其特征在于,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址包括:
所述远程服务器判断所述请求命令是否符合预设请求格式,若判断结果为是,则向所述本地代理服务器发送真实URI地址,若判断结果为否,则拒绝所述本地代理服务器的请求。
5.根据权利要求1所述的方法,其特征在于,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址包括:
所述远程服务器判断所述请求命令是否符合预设加密方式,若判断结果为是,则向所述本地代理服务器发送真实URI地址,若判断结果为否,则拒绝所述本地代理服务器的请求。
6.根据权利要求1所述的方法,其特征在于,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放包括:
所述指定播放器根据所述真实URI地址获取解密密钥,根据所述解密密钥对所述m3u8文件进行解密播放。
7.根据权利要求1所述的方法,其特征在于,所述多媒体处理工具为ffmpeg。
8.一种基于HLS协议的视频加密系统,所述系统包括多媒体处理工具、指定播放器、本地代理服务器和远程服务器,
所述多媒体处理工具,用于对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件,其中,所述m3u8文件包括加密后的切片文件和解密密钥的虚假URI地址,所述虚假URI地址指向所述本地代理服务器;
所述多媒体处理工具,用于当所述指定播放器播放所述m3u8文件,则启动所述本地代理服务器,所述本地代理服务器根据与所述远程服务器预先约定的请求规则向所述远程服务器发送请求命令,所述远程服务器根据所述请求命令,向所述本地代理服务器发送真实URI地址,所述指定播放器根据所述真实URI地址对所述m3u8文件进行解密播放,其中,所述远程服务器保存有所述真实URI地址,所述指定播放器中配置所述本地代理服务器,所述远程服务器只会响应符合请求规则的所述指定播放器所属的本地代理服务器,拒绝其他播放器所属的其他服务器的访问请求。
9.根据权利要求8所述的系统,其特征在于,所述多媒体处理工具对源视频进行分片生成切片文件,对每个所述切片文件进行加密,生成m3u8文件之前,
所述多媒体处理工具生成加密密钥和IV值,其中,所述加密密钥保存在encrypt.key中;
新建encrypt.keyinfo文件,所述encrypt.keyinfo文件包括encrypt.key的路径、所述encrypt.key文件和所述IV值,其中,所述encrypt.key的路径指向所述本地代理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110660011.2A CN113259720B (zh) | 2021-06-15 | 2021-06-15 | 基于hls协议的视频加密方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110660011.2A CN113259720B (zh) | 2021-06-15 | 2021-06-15 | 基于hls协议的视频加密方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259720A CN113259720A (zh) | 2021-08-13 |
CN113259720B true CN113259720B (zh) | 2022-05-27 |
Family
ID=77188014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110660011.2A Active CN113259720B (zh) | 2021-06-15 | 2021-06-15 | 基于hls协议的视频加密方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259720B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115811625A (zh) * | 2021-09-14 | 2023-03-17 | 果核数位股份有限公司 | 定制信息安全等级之流媒体服务方法及系统 |
CN113934452B (zh) * | 2021-09-30 | 2022-08-09 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN115225934B (zh) * | 2022-07-25 | 2023-11-28 | 未来电视有限公司 | 视频播放方法、系统、电子设备以及存储介质 |
CN115767136A (zh) * | 2022-12-18 | 2023-03-07 | 人民卫生电子音像出版社有限公司 | 基于医学视频加密播放综合管理平台系统 |
CN116827914A (zh) * | 2023-04-19 | 2023-09-29 | 广州好智信息技术有限公司 | 一种用于移动端的视频信息防劫持、盗取的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294927A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 基于网络终端的防盗链方法、装置和系统 |
CN106331751B (zh) * | 2016-08-31 | 2019-05-31 | 广州易方信息科技股份有限公司 | 一种基于iOS操作系统的在线加密切片视频播放方法 |
CN110138716B (zh) * | 2018-02-09 | 2020-11-27 | 网宿科技股份有限公司 | 一种密钥的提供、视频播放方法、服务器及客户端 |
CN110798714B (zh) * | 2019-10-23 | 2022-02-01 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
-
2021
- 2021-06-15 CN CN202110660011.2A patent/CN113259720B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113259720A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113259720B (zh) | 基于hls协议的视频加密方法和系统 | |
CN110138716B (zh) | 一种密钥的提供、视频播放方法、服务器及客户端 | |
US10698985B2 (en) | Extending data confidentiality into a player application | |
EP3239877B1 (en) | Streamlined digital rights management | |
TWI510066B (zh) | 用於安全串流媒體內容之系統和方法 | |
US7349886B2 (en) | Securely relaying content using key chains | |
KR101428875B1 (ko) | Hls 기반 보안 처리 시스템 및 그 방법 | |
TWI376131B (en) | Methods of broadcasting and receiving a scrambled multimedia programme, content,headend, terminal, receiver and security rpocessor for such methods | |
KR101541911B1 (ko) | 사용자 인터페이스에서 보안 서비스를 제공하는 장치 및 방법 | |
CN108881205B (zh) | 一种hls流媒体的安全播放系统及播放方法 | |
TWI452888B (zh) | 記錄的多媒體內容之保護方法 | |
US20090323962A1 (en) | Secure multicast content delivery | |
CN101534433A (zh) | 流媒体加密方法 | |
US20110113443A1 (en) | IP TV With DRM | |
CN108768920B (zh) | 一种录播数据处理方法及装置 | |
WO2007036155A1 (fr) | Procede de realisation d'une previsualisation de programmes iptv, appareil de cryptage, systeme central de droits et terminal utilisateur | |
JP4257269B2 (ja) | メタデータ送信装置及びメタデータ受信装置 | |
EP2071801B1 (en) | Method and apparatus for securing content using client and session specific encryption with embedded key in content | |
EP2713576B1 (en) | Method and device for processing streaming media content | |
CN112203118B (zh) | 多媒体资源分发方法、装置、电子装置和存储介质 | |
CN113055717A (zh) | 一种hls流媒体drm的方法 | |
CN114189706B (zh) | 一种媒体播放方法、系统、装置、计算机设备及存储介质 | |
CN115643459A (zh) | 一种视频处理方法、系统、存储介质及电子设备 | |
CN114760501A (zh) | 数字版权保护方法、系统、服务器、模块、播放器及介质 | |
CN117729379A (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 |