本发明属于多媒体技术领域,具体涉及一种数字化音视频和字幕的处理方法及系统。
背景技术:
目前,几乎所有的音视频节目都会使用字幕。字幕是将音视频节目的语音内容以字幕方式显示,可以帮助听力较弱的观众理解节目内容。另外,字幕也能用于翻译外文节目,让不理解该外语的观众,既能听见原作的声带,同时理解节目内容。
现如今,很多音视频文件缺失对应的字幕文件或者歌词文件,面对这些问题,通常的解决方案是将原有的媒体文件通过md5摘要算法生成唯一标识,然后利用互联网搜索对应的字幕或歌词文件。
然而,现有的音视频与字幕的匹配需要通过互联网进行匹配,而且率极低,即使匹配到了,有可能还会存在字幕偏移的问题,用户体验差。
技术实现要素:
为了解决现有技术中存在的上述问题,本发明提供了一种数字化音视频和字幕的处理方法及系统。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供了一种数字化音视频和字幕的处理方法,应用于制作器中,包括:
获取待处理音视频文件和待处理字幕文件;
将所述待处理音视频文件和所述待处理字幕文件通过qcode算法进行加密,得到数字化媒体文件。
在本发明的一个实施例中,所述将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到数字化媒体文件,包括:
将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到加密的二进制音视频文件和加密的二进制字幕文件;
根据所述加密的二进制音视频文件和所述加密的二进制字幕文件,得到文件体信息;
根据所述qcode算法,得到头文件信息;
根据所述文件体信息和所述头文件信息,得到所述数字化媒体文件。
在本发明的一个实施例中,所述将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到加密的二进制音视频文件和加密的二进制音视频文件,包括:
将所述待处理音视频文件和所述待处理字幕文件二进制化,获取二进制音视频帧数据和二进制字幕帧数据;
将所述二进制音视频帧数据和所述二进制字幕帧数据按照预设字节长度进行单元划分,得到所述二进制音视频帧数据对应的第一数据单元和所述二进制字幕帧数据对应的第二数据单元;
根据所述第一数据单元和所述第二数据单元分别获取第一私钥和第二私钥;其中,所述第一私钥为所述第一数据单元中每个第一子单元对应的单元最大值,所述第二私钥为所述第二数据单元中每个第二子单元对应的单元最大值;
根据所述第一私钥对所述第一数据单元进行加密,得到所述加密的二进制音视频文件,以及根据所述第二私钥对所述第二数据单元进行加密,得到所述加密的二进制字幕文件。
在本发明的一个实施例中,所述根据所述第一私钥对所述第一数据单元进行加密,得到所述加密的二进制音视频文件,包括:
获取所述第一子单元中对应的所述第一私钥匹配的总次数;
初始化所述第一子单元中所述第一私钥的第一下标值;
若所述总次数等于1或所述总次数等于所述第一下标值,则跳过当前字节处理;
否则,根据所述第一私钥和所述第一下标值获取加密的二进制音视频文件。
在本发明的一个实施例中,所述根据所述第二私钥对所述第二数据单元进行加密,得到所述加密的二进制字幕文件,包括:
获取所述第二子单元中对应的所述第二私钥匹配的总次数;
初始化所述第二子单元中所述第二私钥的第二下标值;
若所述总此时等于1或所述总次数等于所述第二下标值,则跳过当前字节处理;
否则,根据所述第二私钥和所述第二下标值获取加密的二进制字幕文件。
本发明的另一个实施例提供了一种数字化音视频和字幕的处理方法,应用于播放器中,包括:
获取数字化媒体文件,其中,所述数字化媒体文件包括头文件信息和文件体信息;
通过所述头文件信息获取过qcode算法;
通过所述qcode算法对所述文件体信息进行解密,得到音视频文件和字幕文件。
在本发明的一个实施例中,所述通过所述qcode算法对所述文件体信息进行解密,得到音视频文件和字幕文件,包括:
根据所述文件体信息获取加密的二进制音视频文件和加密的字幕文件;
通过所述qcode算法对所述加密的二进制音视频文件进行解密,得到所述音视频文件;
通过所述qcode算法对所述加密的二进制字幕文件进行解密,得到所述字幕文件。
在本发明的一个实施例中,所述通过所述qcode算法对所述加密的二进制音视频文件进行解密,得到所述音视频文件,包括:
将所述加密的二进制音视频文件按照预设字节进行拆分,得到第一解密单元;其中,所述第一解密单元包括多个第一解密子单元;根据所述第一解密单元获取第一私钥;其中,所述第一私钥为每个所述第一解密子单元对应的最大值;
获取所述第一解密子单元中对应的所述第一私钥匹配的总次数;
初始化所述第一解密子单元中所述第一私钥的第一下标值;
若所述总次数等于1或所述总次数等于所述第一下标值,则跳过当前字节处理;
否则,根据所述第一私钥和所述第一下标值获取所述音视频文件。
在本发明的一个实施例中,所述通过所述qcode算法对所述加密的二进制字幕文件进行解密,得到所述字幕文件,包括:
将所述加密的二进制字幕文件按照预设字节进行拆分,得到第二解密单元;其中,所述第二解密单元包括多个第二解密子单元;
根据所述第一解密单元获取第二私钥;其中,所述第二私钥为每个所述第二解密子单元对应的最大值;
获取所述第二解密子单元中对应的所述第二私钥匹配的总次数;
初始化所述第二解密子单元中所述第二私钥的第二下标值;
若所述总次数等于1或所述总次数等于所述第二下标值,则跳过当前字节处理;
否则,根据所述第二私钥和所述第二下标值获取所字幕文件。
一种数字化音视频和字幕的处理系统,包括:制作器和播放器,所述制作器通过网络连接所述播放器;其中,
所述制作器用于执行上述制作器侧的数字化音视频和字幕的处理方法;
所述播放器用于执行上述播放器侧的数字化音视频和字幕的处理方法。
与现有技术相比,本发明的有益效果:
(1)本发明提供发的处理方法,通过36字节封装了所有的文件信息,并最小化文件描述信息占用的额外空间,且本发明提供的加密算法解析过程和传统的文件读取并无效率的降低。
(2)本发明提供的数字化音视频和字幕处理系统保留了传统的音视频和字幕文件的所有特性,并定义了新的文件协议,所有遵循该协议都可以读取完整的媒体文件和字幕文件,无需再从互联网搜索,提高用户体验,并且对音视频及字幕文件的存储提供了底层支撑。
附图说明
图1为本发明实施例提供的一种数字化音视频和字幕的处理方法的制作器处理流程示意图;
图2为本发明实施例提供的一种数字化音视频和字幕的处理方法的播放器处理流程示意图;
图3为本发明实施例提供的一种数字化音视频和字幕的处理系统的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1为本发明实施例提供的一种数字化音视频和字幕的处理方法的制作器处理流程示意图。如图1所示,一种数字化音视频和字幕的处理方法,应用于制作器中,包括:获取待处理音视频文件和待处理字幕文件;将所述待处理音视频文件和所述待处理字幕文件通过qcode算法进行加密,得到数字化媒体文件。
优选地,将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到数字化媒体文件,包括:将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到加密的二进制音视频文件和加密的二进制音视频文件;根据所述加密的二进制音视频文件和所述加密的二进制字幕文件,得到文件体信息;根据所述qcode算法,得到头文件信息;根据所述文件体信息和所述头文件信息,得到所述数字化媒体文件。
优选地,文件体信息包括加密的二进制音视频文件和加密的二进制音视频文件,根据所述qcode算法获取加密算法,并通过加密算法以及音视频文件类型、字幕文件类型、音视频文件长度和字幕文件长度等信息获取头文件信息,即头文件信息包括:音视频文件类型、字幕文件类型、加密算法、音视频文件长度和字幕文件长度。
优选地,头文件信息共占用36字节,其中,所述音视频文件类型为4字节,用于定义音视频文件属于何种类型,如果长度不够4字节则左补齐空格字符,它的内容可能是常见的mp3、mp4、avi等;字幕文件类型为4字节,用于定义字幕文件属于何种类型,如果长度不够4字节则左补齐空格字符,它的内容可能是常见的lrc、ass等;加密算法为4字节,用于定义文件体信息中的二进制数据采用何种加密方式,比如本实施例采用qcode算法加密;音视频文件长度为12字节,用于定义加密的二进制音视频文件总共占有多少字节;字幕文件长度为12字节,用于定义加密的二进制字幕文件总共占有多少字节。
优选地,文件体信息包括加密的二进制音视频文件和加密的二进制字幕文件,即文件体包括文件内容和字幕内容。文件协议包括头文件信息和文件体信息,该协议支持多种语言实现,具有较高的跨平台性,例如常见的c语言、python语言、java语言、c#等。
优选地,所述将所述待处理音视频文件和所述待处理字幕文件按照qcode算法进行加密,得到加密的二进制音视频文件和加密的二进制音视频文件,包括:将所述待处理音视频文件和所述待处理字幕文件二进制化,获取二进制音视频帧数据和二进制字幕帧数据;将所述二进制音视频帧数据和所述二进制字幕帧数据按照预设字节长度进行单元划分,得到所述二进制音视频帧数据对应的第一数据单元和所述二进制字幕帧数据对应的第二数据单元;根据所述第一数据单元和所述第二数据单元分别获取第一私钥和第二私钥;其中,所述第一私钥为所述第一数据单元中每个第一子单元对应的单元最大值,所述第二私钥为所述第二数据单元中每个第二子单元对应的单元最大值;根据所述第一私钥对所述第一数据单元进行加密,得到所述加密的二进制音视频文件,以及根据所述第二私钥对所述第二数据单元进行加密,得到所述加密的二进制字幕文件。
优选地,一般媒体文件的帧大小最小为64字节,将所述待处理音视频文件和所述待处理字幕文件二进制化,获取二进制音视频帧数据和二进制字幕帧数据,即根据qcode算法,按照预设字节长度16字节为一个完整单元,将二进制音视频数据和二进制字幕文件进行划分,获取第一数据单元和第二数据单元。优选地,按照这种划分方法,可以多线程处理,最终能够以最小加密单元的结果做拼装,而且,该算法保持数据长度对称性,使得加密数据和原先数据大小相同,这样被加密的数据不会有存储空间的浪费。
优选地,该算法取数据子单元的最大值作为私钥,根据该私钥的奇偶性以及在该私钥在数据子单元中的奇偶位来进行减法计算,为了保持私钥的存在性,防止被原始数据混淆,该算法对于私钥进行了隐藏处理。
优选地,所述根据所述第一私钥对所述第一数据单元进行加密,得到所述加密的二进制音视频文件,包括:获取所述第一子单元中对应的所述第一私钥匹配的总次数,即获取该第一子单元中最大值出现的次数;初始化所述第一子单元中所述第一私钥的第一下标值,其中,所述第一下标值用于表述当前数据所在位数的奇偶性;如果该第一子单元中当前数据等于第一秘钥,则下标值增加1,且如果当前第一下标值等于1或者当前最大值出现的次数等于第一下标值,则跳过当前字节处理。
优选地,如果第一私钥为偶数,判断当前第一子单元中第一下标值是偶数位的值是否非0并且第一私钥减去当第一下标为前偶数的值。如果第一私钥存在且第一下标值为偶数,则偶数位的值为第一私钥减去当前位的差。
优选地,如果第一私钥为奇数,判断当前第一子单元中下标值为奇数为的值是否非0,并且通过第一私钥减去当前第一下标为奇数的值作为当前所在位的值。
优选地,设第一私钥为markkey,第一私钥出现的次数为lastindex,第一下标值为findindex,则加密过程可以表示为:
1.在一个第一子单元中,找出该单元的最大值,作为标记值markkey;
2.在该子单元中找出当前最大值出现的次数,作为标记值lastindex;
3.初始化最大数在数据单元中出现的下标值findindex
4.循环处理当前第一子单元各个字节位
(1)如果当前字节值等于markkey,则findindex增加1,其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节,此处操作用于保护私钥存在性。
(2)判断当前第一子单元中markkey奇偶性
若markkey是偶数,则
1)判断当前循环中的下标值为偶数位的值是否非零,并且判断markkey减去当前值是否非零;
a.如果第一私钥存在性合法,则下标为偶数的值为markkey减去当前值;
b.如果第一私钥存在性违反,则跳过当前循环。
若markkey是奇数,则
1)判断当前循环中的下标为奇数的值是否非零,并且判断markkey减去当前值是否非零;
a.如果私钥存在性合法,则下标为奇数的值等于markkey减去当前值;
b.如果私钥存在性违反,则跳过当前循环。
5.重复步骤4直到完成所有的第一子单元计算,完成第一数据单元加密。
6.将步骤5中的第一数据单元加密按循环顺序组装成新的加密byte数组得到最终的音视频加密数据流。
优选地,根据音视频文件的加密方法,处理字幕文件,得到字幕加密数据流,并根据音视频加密数据流和字幕加密数据流得到数字化媒体文件。
本发明提供的数字化音视频和字幕的处理方法通过36字节封装了所有的文件信息,并最小化文件描述信息占用的额外空间,且本发明提供的加密算法解析过程和传统的文件读取并无效率的降低。
实施例二
请参见图2,图2为本发明实施例提供的一种数字化音视频和字幕的处理方法的播放器处理流程示意图。本实施例在上述实施例的基础上,重点对应用于播放器进行详细描述。具体地,如图2所示,包括:获取数字化媒体文件,其中,所述数字化媒体文件包括头文件信息和文件体信息;通过所述头文件信息获取过qcode算法;通过所述qcode算法对所述文件体信息进行解密,得到音视频文件和字幕文件。
优选地,所述通过所述qcode算法对所述文件体信息进行解密,得到音视频文件和字幕文件,包括:根据所述文件体信息获取加密的二进制音视频文件和加密的字幕文件;通过所述qcode算法对所述加密的二进制音视频文件进行解密,得到所述音视频文件;通过所述qcode算法对所述加密的二进制字幕文件进行解密,得到所述字幕文件。
优选地,所述通过所述qcode算法对所述加密的二进制音视频文件进行解密,得到所述音视频文件,包括:将所述加密的二进制音视频文件按照预设字节进行拆分,得到第一解密单元;其中,所述第一解密单元包括多个第一解密子单元;根据所述第一解密单元获取第一私钥;其中,所述第一私钥为每个所述第一解密子单元对应的最大值;获取所述第一解密子单元中对应的所述第一私钥匹配的总次数;初始化所述第一解密子单元中所述第一私钥的第一下标值;若所述总次数等于1或所述总次数等于所述第一下标值,放弃加密处理;否则,根据所述第一私钥和所述第一下标值获取所述音视频文件。
优选地,所述通过所述qcode算法对所述加密的二进制字幕文件进行解密,得到所述字幕文件,包括:将所述加密的二进制字幕文件按照预设字节进行拆分,得到第二解密单元;其中,所述第二解密单元包括多个第二解密子单元;根据所述第一解密单元获取第二私钥;其中,所述第二私钥为每个所述第二解密子单元对应的最大值;获取所述第二解密子单元中对应的所述第二私钥匹配的总次数;初始化所述第二解密子单元中所述第二私钥的第二下标值;若所述总次数等于1或所述总次数等于所述第二下标值,则该字节不处理,跳过当前字节处理。
优选地,解密过程可以表示为以下步骤:
1.将加密数字化媒体文件,即二进制加密音视频和二进制加密字幕byte数据流按照16字节拆分创建单元,即分别创建第一加密单元和第二加密单元;
2.找出单元中的最大值作为markkey,即分别获取最大值作为第一私钥和第二私钥;
3.找出当前最大值出现的次数,作为标记值lastindex,
4.初始化最大数在加密单元中出现的下标值findindex,其中,下标值用于表述当前字节的奇偶性;
5.循环当前加密单元
(1)如果当前字节值等于markkey,则findindex增加1;其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节处理,此处操作用于还原私钥。
(2)如果markkey是偶数,则判断当前循环中的下标为偶数的值是否非零,并且判断markkey减去当前值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为偶数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
(3)如果markkey是偶数,则判断当前循环中的下标为奇数位的值是否非零,并且判断markkey减去当值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为奇数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
6.重复步骤5直到完成所有的加密子单元计算
7.将步骤6中的计算的所有加密子单元将计算结果按循环顺序组装成新的加密byte数组得到最终的解密数据流,即得到音视频文件和字幕文件。
本发明实施例提供的播放器,利用qcode算法对加密的数据流进行解密,音视频与字幕文件匹配率高,避免了字幕偏移的问题。
实施例三
请参见图3,图3为本发明实施例提供的一种数字化音视频和字幕的处理系统的结构示意图。本实施例在实施例一和实施例二的基础上,提供一种数字化音视频和字幕的处理系统,具体的该系统包括:制作器和播放器,所述制作器通过网络连接所述播放器;所述制作器执行实施例一所示的处理方法,用于对音视频文件和字幕文件进行加密,从而获取数字化媒体文件。所述播放器用于处理数字化媒体文件,执行实施例二所示的处理方法,从而获取音视频文件和字幕文件。
优选地,制作器对音视频文件和字幕文件加密过程可以表示为以下步骤:
1.在一个第一子单元中,找出该单元的最大值,作为标记值markkey;
2.在该子单元中找出当前最大值出现的次数,作为标记值lastindex;
3.初始化最大数在数据单元中出现的下标值findindex
4.循环处理当前第一子单元各个字节位
(1)如果当前字节值等于markkey,则findindex增加1,其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节,此处操作用于保护私钥存在性。
(2)判断当前第一子单元中markkey奇偶性
若markkey是偶数,则
1)判断当前循环中的下标值为偶数位的值是否非零,并且判断markkey减去当前值是否非零;
a.如果第一私钥存在性合法,则下标为偶数的值为markkey减去当前值;
b.如果第一私钥存在性违反,则跳过当前循环。
若markkey是奇数,则
1)判断当前循环中的下标为奇数的值是否非零,并且判断markkey减去当前值是否非零;
a.如果私钥存在性合法,则下标为奇数的值等于markkey减去当前值;
b.如果私钥存在性违反,则跳过当前循环。
5.重复步骤4直到完成所有的第一子单元计算,完成第一数据单元加密。
6.将步骤5中的第一数据单元加密按循环顺序组装成新的加密byte数组得到最终的音视频加密数据流。
优选地,根据音视频文件的加密方法,处理字幕文件,得到字幕加密数据流,并根据音视频加密数据流和字幕加密数据流得到数字化媒体文件。
优选地,播放器对于数字化媒体文件解密过程可以表示为以下步骤:
1.将加密数字化媒体文件,即二进制加密音视频和二进制加密字幕byte数据流按照16字节拆分创建单元,即分别创建第一加密单元和第二加密单元;
2.找出单元中的最大值作为markkey,即分别获取最大值作为第一私钥和第二私钥;
3.找出当前最大值出现的次数,作为标记值lastindex,
4.初始化最大数在加密单元中出现的下标值findindex,其中,下标值用于表述当前字节的奇偶性;
5.循环当前加密单元
(1)如果当前字节值等于markkey,则findindex增加1;其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节处理,此处操作用于还原私钥。
(2)如果markkey是偶数,则判断当前循环中的下标为偶数的值是否非零,并且判断markkey减去当前值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为偶数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
(3)如果markkey是偶数,则判断当前循环中的下标为奇数位的值是否非零,并且判断markkey减去当值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为奇数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
6.重复步骤5直到完成所有的加密子单元计算;
7.将步骤6中的计算的所有加密子单元将计算结果按循环顺序组装成新的加密byte数组得到最终的解密数据流,即得到音视频文件和字幕文件。
本发明提供的数字化音视频和字幕处理系统,能够将音视频文件和字幕文件重新编码加密,保存成统一文件,并提供制作器和播放器,解决了传统音视频文件缺失歌词字幕的问题。
实施例四
本实施例在上述实施例的基础上,对一种数字化音视频和字幕的处理方法和一种数字化音视频和字幕的处理系统进行了详细描述,一种数字化音视频和字幕的处理方法,将数字化音视频文件和字幕文件二进制化之后,以新的文件协议重新组装,并记录原有文件的格式与信息,最终在播放器还原进行播放。
优选地,该新的文件协议包括头文件信息和文件体信息,其中,头文件信息为36字节,文件体信息包括数字化音视频文件内容和字幕文件内容。具体地,该文件协议格式如下表所示:
优选地,头文件信息包括:媒体文件类型、字幕文件类型、加密算法、媒体文件长度和字幕文件长度
优选地,头文件信息共占用36字节,其中,所述音视频文件类型为4字节,用于定义音视频文件属于何种类型,如果长度不够4字节则左补齐空格字符,它的内容可能是常见的mp3、mp4、avi等;字幕文件类型为4字节,用于定义字幕文件属于何种类型,如果长度不够4字节则左补齐空格字符,它的内容可能是常见的lrc、ass等;加密算法为4字节,用于定义文件体信息中的二进制数据采用何种加密方式,比如本实施例采用qcode算法加密;音视频文件长度为12字节,用于定义加密的二进制音视频文件总共占有多少字节;字幕文件长度为12字节,用于定义加密的二进制字幕文件总共占有多少字节。
优选地,文件体信息包括加密的二进制音视频文件和加密的二进制字幕文件,即文件体包括文件内容和字幕内容。文件协议包括头文件信息和文件体信息,该协议支持多种语言实现,具有较高的跨平台性,例如常见的c语言、python语言、java语言、c#等。
优选地,该处理方法采用qcode算法对音视频文件和字幕文件进行加解密,专有的解密算法对原有文件内容进行保护,任何获取文件内容的其他方在未知专有加密算法的情况下无法使用该文件。
优选地,该方法支持传统b/s解析,该解析可分为以下步骤:
1.加载数字化媒体文件,并读取头文件信息到内存;
2.根据头文件信息得到音视频文件类型、字幕文件类型、加密算法、音视频文件长度、字幕文件长度;
3.根据加密算法对文件体信息内的加密的二进制音视频文件和加密的字幕文件进行解密;
4.将解密的音视频文件转换成byte数组流,将解密的字幕文件转换成byte数组流;
5.创建http服务,提供数据获取服务,包括:
(1)创建解密音视频文件数据获取服务,返回步骤4中的音视频文件byte数组流输出到httpresponse返回流中;
(2)创建解密字幕文件数据获取服务,返回步骤4中的字幕文件byte数组流输出到httpresponse返回流中。
6.html页面进行服务调用来完成播放,包括:
(1)调用解密音视频文件数据获取服务,播放对应格式的音视频文件;
(2)调用解密字幕文件数据获取服务,显示对应格式的字幕文件。
优选地,一般媒体文件的帧大小最小为64字节,本实施例使用的加密算法定义16字节为一个完整单元,不足16字节的以剩余字节数做为一个单元。这样做的好处是可以多线程处理,最终以最小加密单元的结果做拼装,且该算法保持数据长度对称性,使得加密数据和原先数据大小相同。这样被加密的数据不会有存储空间的浪费。
优选地,本实施例提供的算法取数据单元的最大值作为私钥,根据该私钥的奇偶性对数据单元的奇偶位数据进行减法计算,为了保持私钥的存在性,防止被原始数据混淆,对于私钥隐藏使用了特定的处理。
优选地,本实施例提供的制作器对音视频文件和字幕文件加密过程可以表示为以下步骤:
1.在一个第一子单元中,找出该单元的最大值,作为标记值markkey;
2.在该子单元中找出当前最大值出现的次数,作为标记值lastindex;
3.初始化最大数在数据单元中出现的下标值findindex
4.循环处理当前第一子单元各个字节位
(1)如果当前字节值等于markkey,则findindex增加1,其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节,此处操作用于保护私钥存在性。
(2)判断当前第一子单元中markkey奇偶性
若markkey是偶数,则
1)判断当前循环中的下标值为偶数位的值是否非零,并且判断markkey减去当前值是否非零;
a.如果第一私钥存在性合法,则下标为偶数的值为markkey减去当前值;
b.如果第一私钥存在性违反,则跳过当前循环。
若markkey是奇数,则
1)判断当前循环中的下标为奇数的值是否非零,并且判断markkey减去当前值是否非零;
a.如果私钥存在性合法,则下标为奇数的值等于markkey减去当前值;
b.如果私钥存在性违反,则跳过当前循环。
5.重复步骤4直到完成所有的第一子单元计算,完成第一数据单元加密。
6.将步骤5中的第一数据单元加密按循环顺序组装成新的加密byte数组得到最终的音视频加密数据流。
优选地,针对本实施例提供的加密过程,以下进行举例说明:
假设16位数据单元的数据为:8202990700979894,则加密步骤如下:
第一步:找到最大数,得到9。
第二步:计算9出现了几次,得到5,其中,计算次数是为了优化循环。
第三步:开始循环处理每个字节。
判断9的奇偶性,发现是奇数,则处理偶数位,即对该数据偶数位的数据进行处理,最大数9与每位做减法,得到:
8707990200929195
其中,当前数等于最大数且出现的次数为1次或者等于第5次时、或当最大数和当前数相减的结果等于0、或当前数为0时,跳过当前处理,此做法是为了保护私钥存在性。处理完16个字节即结束加密。
优选地,根据音视频文件的加密方法,处理字幕文件,得到字幕加密数据流,并根据音视频加密数据流和字幕加密数据流得到数字化媒体文件。
优选地,本实施例提供的播放器对于数字化媒体文件解密过程可以表示为以下步骤:
1.将加密数字化媒体文件,即二进制加密音视频和二进制加密字幕byte数据流按照16字节拆分创建单元,即分别创建第一加密单元和第二加密单元;
2.找出单元中的最大值作为markkey,即分别获取最大值作为第一私钥和第二私钥;
3.找出当前最大值出现的次数,作为标记值lastindex,
4.初始化最大数在加密单元中出现的下标值findindex,其中,下标值用于表述当前字节的奇偶性;
5.循环当前加密单元
(1)如果当前字节值等于markkey,则findindex增加1;其中,如果lastindex等于1或者lastindex等于findindex,则该字节不处理,跳过当前字节处理,此处操作用于还原私钥。
(2)如果markkey是偶数,则判断当前循环中的下标为偶数的值是否非零,并且判断markkey减去当前值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为偶数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
(3)如果markkey是偶数,则判断当前循环中的下标为奇数位的值是否非零,并且判断markkey减去当值是否非零,以便还原私钥。
a.如果私钥存在性合法,则下标为奇数位的值等于markkey减去当前值;
b.如果私钥存在性违反,则该字节不处理,跳过当前字节处理。
6.重复步骤5直到完成所有的加密子单元计算;
7.将步骤6中的计算的所有加密子单元将计算结果按循环顺序组装成新的加密byte数组得到最终的解密数据流,即得到音视频文件和字幕文件。
优选地,针对本实施例提供的解密过程,以下进行举例说明:
假设16位数据单元的数据为:8707990200929195
第一步:找到最大数,得到9。
第二步:计算9出现了几次,得到5,其中,计算次数是为了优化循环。
第三步:开始循环处理每个字节。
判断9的奇偶性,发现是奇数,则处理偶数位,即对该数据偶数位的数据进行处理,最大数9与每位做减法,得到:
8202990700979894
其中,当前数等于最大数且出现的次数为1次或者等于第5次时,或当最大数和当前数相减的结果等于0时,或当前数为0时,跳过当前处理,此做法是为了保护私钥存在性。处理完16个字节即结束解密。
优选地,程序实现按照上述定义的文件协议,将音视频文件和字幕文件二进制序列化加密,再将加密算法和加密后的音视频文件和字幕文件长度信息写入头信息中,即可完成数字化媒介文件的制作和解析。
优选地,一种数字化音视频和字幕的处理系统包括制作器和播放器,制作器执行实施例一所示的处理方法,用于对音视频文件和字幕文件进行加密,从而获取数字化媒体文件。所述播放器用于处理数字化媒体文件,执行实施例二所示的处理方法,从而获取音视频文件和字幕文件。
本发明提供的数字化音视频和字幕的处理系统通过qcode加密算法以36字节封装了所有的文件信息,并最小化文件描述信息占用额外空间,且本发明提供的加密算法解析过程和传统的文件读取并无效率的降低。本发明提供的数字化音视频和字幕处理系统保留了传统的音视频和字幕文件的所有特性,并定义了新的文件协议,所有遵循该协议都可以读取完整的媒体文件和字幕文件,无需再从互联网搜索,提高用户体验,并且对音视频及字幕文件的存储提供了底层支撑。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。