CN106331752A - 一种流媒体视频文件的保护方法 - Google Patents
一种流媒体视频文件的保护方法 Download PDFInfo
- Publication number
- CN106331752A CN106331752A CN201610813241.7A CN201610813241A CN106331752A CN 106331752 A CN106331752 A CN 106331752A CN 201610813241 A CN201610813241 A CN 201610813241A CN 106331752 A CN106331752 A CN 106331752A
- Authority
- CN
- China
- Prior art keywords
- file
- video file
- encryption
- video
- deciphering
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000013475 authorization Methods 0.000 claims abstract description 6
- 230000007613 environmental effect Effects 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
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
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- 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/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/4408—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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种流媒体视频文件的保护方法,包括加密和解密两个部分,本发明的保护方法适用于所有基于http协议下载的流媒体视频文件的文件保护,不受文件格式限制,由于采用了能够唯一标识授权信息的参数作为密钥,同时加/解密相关联的参数只保存在当前下载、播放应用的上下文,可以有效防止受保护的视频内容无法在其他未授权的用户所在环境里播放,即保证已加密的视频文件只能在当前授权的设备上播放,因此可防止用户把有版权内容随意扩散到别的未授权的用户或者设备上非法播放。
Description
技术领域
本发明涉及一种流媒体视频文件的保护方法。
背景技术
移动终端上,多数视频应用都提供了流媒体视频文件的下载和本地播放的功能,由于用户容易将有版权内容随意扩散到别的未授权用户或设备上进行非法播放,因此对于有版权的视频内容做各种加密和保护是必需的要求。
发明内容
本发明的目的在于克服现有技术中的不足而提供一种流媒体视频文件的保护方法。
为实现上述目的,一方面,本发明提供的一种流媒体视频文件的保护方法,包括加密和解密两个部分,
加密部分包括如下步骤:
配置加密所需参数;
获取视频文件,并创建加密模块实例,采用预设的混淆算法,混淆所需的参数生成加密密钥,并采用预设的加密算法初始化加密上下文环境,
解密部分包括如下步骤:
创建解密模块实例,传入解密关联的参数;
定位视频文件,初始化解密模块,采用预设的混淆算法,混淆所需的参数生成解密密钥,并采用预设的解密算法初始化解密上下文环境。
优选地,加密部分和解密部分中所需的参数为可唯一标识授权信息的参数,参数包括设备ID、用户鉴权生成的token等。
优选地,获取视频文件的步骤为,发起http请求,下载媒体流url对应的视频文件或播放列表文件及播放列表文件中描述的所有目标视频分片文件。
优选地,视频文件为MP4、FLV等单文件格式视频文件,播放列表文件为HLS、HDS、MPEG2-DASH视频流对应的播放列表文件,播放列表文件格式为m3u8、xml等。
根据本发明提供的一种流媒体视频文件的保护方法,适用于所有基于http协议下载的流媒体视频文件的文件保护,不受文件格式限制,由于采用了能够唯一标识授权信息的参数作为密钥,同时加/解密相关联的参数只保存在当前下载、播放应用的上下文,可以有效防止受保护的视频内容无法在其他未授权的用户所在环境里播放,即保证已加密的视频文件只能在当前授权的设备上播放,因此可防止用户把有版权内容随意扩散到别的未授权的用户或者设备上非法播放。
具体实施方式
下面详细描述本发明的实施例。
本发明一实施例提供了一种流媒体视频文件的保护方法,包括加密部分和解密部分。
具体地,加密部分包括如下步骤:
步骤1、视频文件下载、加密:
步骤1.1、开启视频文件下载应用,配置加解密需要的参数:
步骤1.1.1、密钥要求:
选择一个或者多个能够唯一标识授权信息的参数,如设备ID,或者用户鉴权生成的token等;
选择某一已知的混淆算法以生成加/解密密钥。
步骤1.1.2、加/解密算法:
选择某一已知的加/解密算法,约定算法除密钥外必须的参数,比如AES、DES、3DES等;
固定分块加/解密的字节数,用于没有关键帧列表信息的文件格式。
步骤1.2、发起http请求,下载媒体流url对应的视频文件——如MP4、FLV或者其它格式的单文件,或者HLS、HDS、MPEG2-DASH视频流对应的播放列表文件(格式如m3u8、xml等)以及播放列表文件文件中描述的所有目标视频分片文件,存储到目标文件夹。
步骤1.3、下载应用创建并初始化一个加密模块的实例,混淆满足步骤1.1.1中要求的参数作为加密的密钥,采用步骤1.1.2指定的加密算法,初始化加密上下文环境:
其中,对于MP4、FLV或者其它的单文件格式:
调用对应的文件解析器,获取文件中的关键帧表内容,将其解析成时间戳-位置映射对(相对文件开始偏移的字节数)的一个列表结构,描述形式不限,从第一个时间戳-位置对开始,到下一个映射对开始之间的数据内容作为独立的数据分片,进行加密处理,以此循环,直到描述结构列表结束。
当文件解析器没有获取到文件的关键帧列表信息时,选择用步骤1.1.2指定的字节数作为文件的分块大小,对每个分块依序独立加密,以此循环,直到文件结束。
其中,对于HLS、HDS、MPEG2-DASH视频流格式文件:
分别加密播放列表文件(格式如m3u8、xml等)以及所有播放列表文件中描述所包含的已下载的视频分片文件;
对于有range参数指定的单一目标视频文件,将该视频文件按照播放列表内容描述的,所在range起止范围分割出的视频分片作为独立的数据分片各自进行加密处理。
具体地,解密部分包括如下步骤:
步骤2、视频文件解密、播放:
步骤2.1、播放器创建一个解密模块的实例,传入解密关联的参数,参数要求及规则同步骤1.1的描述一致。
步骤2.2、播放器根据传入的待播放加密文件的地址,定位目标播放文件,比如MP4、FLV等单文件、也可以是HLS、HDS、MPEG2-DASH相关的播放列表文件,或者列表文件对应的多视频目标文件。
步骤2.3、初始化解密模块,混淆满足步骤1.1.1中要求的参数作为解密密钥,采用步骤1.1.2指定的解密算法,初始化解密的上下文环境:
其中,对于MP4、FLV或者其它格式的单文件:
调用对应的文件解析器,获取文件中的关键帧表内容,将其解析成时间戳-位置映射对(相对文件开始偏移的字节数)的一个列表结构,从第一个时间戳-位置对开始,到下一个映射对开始之间的数据内容作为独立的数据分片,进行解密处理。
当文件解析器没有获取到文件的关键帧列表信息时,按步骤1.1.2指定的字节数作为文件的分块大小,对每个分块依序独立解密,以此循环,直到文件结束。
其中,对于HLS、HDS、MPEG2-DASH等视频流格式文件:
解密模块分别解密播放列表文件(格式如m3u8、xml等)以及所有播放列表文件中描述所包含的已下载的视频分片文件;
对于有range参数指定的单一目标视频文件,根据播放列表文件描述,对于包含所有目标视频文件在各个range起止的范围的数据内容,作为独立的数据分片进行解密。
步骤2.4、播放器播放解密后的视频文件内容。
步骤2.5、当用户有seek操作时:
其中,对于MP4、FLV等格式的单一目标视频文件,有关键帧列表信息的话,通常播放器会根据文件的关键帧列表,选择最接近的关键帧开始位置,将位置偏移的的请求传递给解密模块,如果偏移值不是关键帧开始的位置,解密模块要根据步骤1.3.1中描述的列表结构进行修正,选择该请求位置之前最接近的一个时间戳-位置对开始的数据分片,进行解密,然后再传出播放器位置偏移请求开始位置要求的数据,以避免解密出错造成播放花屏或者播放失败。
对于没有关键帧列表信息的已加密文件,解密模块应根据步骤1.1.2约定的分块大小,查找到能满足播放器位置偏移请求的分块,以此开始解密。
其中,对于HLS、HDS、MPEG2-DASH视频流文件,由于加密时是针对目标视频分片单独加密,seek请求定位的会是各个目标视频分片文件开始的位置,seek操作通常不会造成解密出错和播放失败。
一种特殊情况,对于播放列表描述带Range参数指定的单一目标视频文件,如果播放器请求的偏移位置与播放列表描述的目标视频分片偏移不一致,也需要作如步骤2.5.1一样做校正。
根据本发明提供的一种流媒体视频文件的保护方法,适用于所有基于http协议下载的流媒体视频文件的文件保护,不受文件格式限制,由于采用了能够唯一标识授权信息的参数作为密钥,同时加/解密相关联的参数只保存在当前下载、播放应用的上下文,可以有效防止受保护的视频内容无法在其他未授权的用户所在环境里播放,即保证已加密的视频文件只能在当前授权的设备上播放,因此可防止用户把有版权内容随意扩散到别的未授权的用户或者设备上非法播放。
尽管上面已经示出和描述了本发明的部分具体的实施部分,可以理解的是,上述具体的举例实时部分是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (4)
1.一种流媒体视频文件的保护方法,其特征在于,包括加密和解密两个部分,
所述加密部分包括如下步骤:
配置加密所需参数;
获取视频文件,并创建加密模块实例,采用预设的混淆算法,混淆所需的所述参数生成加密密钥,并采用预设的加密算法初始化加密上下文环境,
所述解密部分包括如下步骤:
创建解密模块实例,传入解密关联的所述参数;
定位视频文件,初始化解密模块,采用预设的混淆算法,混淆所需的所述参数生成解密密钥,并采用预设的解密算法初始化解密上下文环境。
2.根据权利要求1所述的一种流媒体视频文件的保护方法,其特征在于,加密部分和解密部分中所需的所述参数为可唯一标识授权信息的参数,所述参数包括设备ID、用户鉴权生成的token等。
3.根据权利要求1所述的一种流媒体视频文件的保护方法,其特征在于,所述获取视频文件的步骤为,发起http请求,下载媒体流url对应的视频文件或播放列表文件及所述播放列表文件中描述的所有目标视频分片文件。
4.根据权利要求1所述的一种流媒体视频文件的保护方法,其特征在于,所述视频文件为MP4、FLV等单文件格式视频文件,所述播放列表文件为HLS、HDS、MPEG2-DASH视频流对应的播放列表文件,所述播放列表文件格式为m3u8、xml等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610813241.7A CN106331752A (zh) | 2016-08-31 | 2016-08-31 | 一种流媒体视频文件的保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610813241.7A CN106331752A (zh) | 2016-08-31 | 2016-08-31 | 一种流媒体视频文件的保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106331752A true CN106331752A (zh) | 2017-01-11 |
Family
ID=57786922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610813241.7A Pending CN106331752A (zh) | 2016-08-31 | 2016-08-31 | 一种流媒体视频文件的保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106331752A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845483A (zh) * | 2017-02-10 | 2017-06-13 | 杭州当虹科技有限公司 | 一种视频高清字样检测方法 |
CN106936815A (zh) * | 2017-02-06 | 2017-07-07 | 北京音未文化传媒有限责任公司 | 一种基于加密音频流的文件传输系统及其方法 |
CN107483978A (zh) * | 2017-07-19 | 2017-12-15 | 河南神州数码索贝科技有限公司 | 一种基于ffmpeg的视频防盗链方法 |
CN109348292A (zh) * | 2018-11-20 | 2019-02-15 | 广州易方信息科技股份有限公司 | 一种基于切片文件字节阈值的视频切片方法 |
CN109391627A (zh) * | 2018-11-20 | 2019-02-26 | 东南大学 | 一种识别TLS协议加密传输YouTube DASH视频的方法 |
CN109525893A (zh) * | 2018-11-20 | 2019-03-26 | 广州易方信息科技股份有限公司 | 基于切片文件时长阈值的视频切片方法 |
CN109660866A (zh) * | 2018-12-28 | 2019-04-19 | 杭州当虹科技股份有限公司 | 一种基于h5的视频解密方法 |
CN109862424A (zh) * | 2019-03-29 | 2019-06-07 | 北京金山安全软件有限公司 | 视频播放方法、装置和电子设备 |
CN111556340A (zh) * | 2020-05-21 | 2020-08-18 | 西安工业大学 | 一种安全的跨平台视频流播放方法 |
CN118250494A (zh) * | 2024-05-27 | 2024-06-25 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频版权保护方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246462A1 (en) * | 2011-03-23 | 2012-09-27 | General Instrument Corporation | System and methods for providing live streaming content using digital rights management-based key management |
CN102855560A (zh) * | 2011-06-29 | 2013-01-02 | 国民技术股份有限公司 | 一种移动支付方法及系统 |
CN104166822A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种数据保护的方法和装置 |
CN105471849A (zh) * | 2015-11-17 | 2016-04-06 | 中国科学院上海高等研究院 | 一种数据交换服务与传输过程的安全控制方法 |
-
2016
- 2016-08-31 CN CN201610813241.7A patent/CN106331752A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246462A1 (en) * | 2011-03-23 | 2012-09-27 | General Instrument Corporation | System and methods for providing live streaming content using digital rights management-based key management |
CN102855560A (zh) * | 2011-06-29 | 2013-01-02 | 国民技术股份有限公司 | 一种移动支付方法及系统 |
CN104166822A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种数据保护的方法和装置 |
CN105471849A (zh) * | 2015-11-17 | 2016-04-06 | 中国科学院上海高等研究院 | 一种数据交换服务与传输过程的安全控制方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936815A (zh) * | 2017-02-06 | 2017-07-07 | 北京音未文化传媒有限责任公司 | 一种基于加密音频流的文件传输系统及其方法 |
CN106845483A (zh) * | 2017-02-10 | 2017-06-13 | 杭州当虹科技有限公司 | 一种视频高清字样检测方法 |
CN107483978A (zh) * | 2017-07-19 | 2017-12-15 | 河南神州数码索贝科技有限公司 | 一种基于ffmpeg的视频防盗链方法 |
CN109348292A (zh) * | 2018-11-20 | 2019-02-15 | 广州易方信息科技股份有限公司 | 一种基于切片文件字节阈值的视频切片方法 |
CN109391627A (zh) * | 2018-11-20 | 2019-02-26 | 东南大学 | 一种识别TLS协议加密传输YouTube DASH视频的方法 |
CN109525893A (zh) * | 2018-11-20 | 2019-03-26 | 广州易方信息科技股份有限公司 | 基于切片文件时长阈值的视频切片方法 |
CN109391627B (zh) * | 2018-11-20 | 2021-01-12 | 东南大学 | 一种识别TLS协议加密传输YouTube DASH视频的方法 |
CN109660866A (zh) * | 2018-12-28 | 2019-04-19 | 杭州当虹科技股份有限公司 | 一种基于h5的视频解密方法 |
CN109862424A (zh) * | 2019-03-29 | 2019-06-07 | 北京金山安全软件有限公司 | 视频播放方法、装置和电子设备 |
CN109862424B (zh) * | 2019-03-29 | 2021-10-01 | 北京金山安全软件有限公司 | 视频播放方法、装置和电子设备 |
CN111556340A (zh) * | 2020-05-21 | 2020-08-18 | 西安工业大学 | 一种安全的跨平台视频流播放方法 |
CN118250494A (zh) * | 2024-05-27 | 2024-06-25 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频版权保护方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331752A (zh) | 一种流媒体视频文件的保护方法 | |
US11055429B2 (en) | Key providing method, video playing method, server and client | |
CN106331751B (zh) | 一种基于iOS操作系统的在线加密切片视频播放方法 | |
JP4643633B2 (ja) | ストリーミングコンテンツの完全性保護 | |
CN107707504B (zh) | 一种流媒体的播放方法、系统以及服务器和客户端 | |
CN102761790B (zh) | 基于数字水印的iptv终端的数字版权管理方法及装置 | |
CN101977190B (zh) | 数字内容加密传送方法以及服务器端 | |
US20040022391A1 (en) | Digital content security system and method | |
EP3207659B1 (en) | Securing communication in a playback device with a control module using a key contribution | |
TWI452888B (zh) | 記錄的多媒體內容之保護方法 | |
KR20070090892A (ko) | 디지털 오디오/비디오 데이터 처리 장치 및 액세스 제어방법 | |
WO2004012378A2 (en) | Digital content security system and method | |
CN102075812B (zh) | 一种数字电视的数据接收的方法和系统 | |
CA2735080C (en) | Personalized whitebox descramblers | |
CN113259720B (zh) | 基于hls协议的视频加密方法和系统 | |
KR20060087459A (ko) | 클라이언트 도메인 내에서의 디지털 콘텐츠의 이용을관리하기 위한 방법 및 이 방법을 실행하는 디바이스 | |
CN102316378A (zh) | 基于机顶盒的数字版权保护方法及系统 | |
US20110113443A1 (en) | IP TV With DRM | |
CN102595198A (zh) | 一种基于安全芯片的密钥管理系统、终端设备及方法 | |
CN103237011A (zh) | 数字内容加密传送方法以及服务器端 | |
EP2990978A1 (en) | Operating a device for forwarding protected content to a client unit | |
CN103235904B (zh) | 应用软件数字版权保护方法、装置及系统 | |
KR101012561B1 (ko) | Drm 컨텐츠 제공 시스템 및 drm 컨텐츠 제공 방법 | |
CN106488321B (zh) | 电视解密方法及系统 | |
CN109474840B (zh) | 一种内外加密双模式共存的组播频道加扰方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310000 A Block, 16th Floor, E Building, Paradise Software Park, No. 3 Xidoumen Road, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Dang Hong Polytron Technologies Inc Address before: 310000 B2010, two floor, North (two), six and 368 Road, Binjiang District, Hangzhou, Zhejiang. Applicant before: HANGZHOU DANGHONG TECHNOLOGY CO., LTD. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170111 |