一种基于区块链的视频保护方法及装置与流程

文档序号:29566790发布日期:2022-04-09 02:43阅读:181来源:国知局
一种基于区块链的视频保护方法及装置与流程

1.本发明属于视频保护技术领域,具体涉及一种基于区块链的视频保护方法及装置。


背景技术:

2.由于网络相关的应用近年来蓬勃发展,各类图文影像都可通过网络快速获取与传递,结合区块链技术可以达成信息不被窜改的目的,但区块链内每个块乘载的数据非常有限,且区块本身的复杂性将造成连续影像不易在区块链的基础上快速更新传递。
3.区块链去中心化的运作方式,将重要信息计算出唯一哈希值后,通过分布式账本机制达成多方认证与储存,该重要信息公开、可追踪、不可窜改。
4.专利文件cn113411614a一种基于区块链技术的视频保护系统及计算机存储介质中,描述了以下的技术:视频加密模块将视频的每一帧数据打包成一个区块,每个区块根据帧的顺序组成了区块链,区块体内存放原始帧数据;监视模块调用哈希函数对某一区块进行计算,若存在区别则该区块内的帧数据被篡改,另外与下一个区块数据进行对比,若存在区别则说明第二个区块被篡改或者两区块之间丢失了区块数据。专利文件cn 110650321b基于区块链技术的视频内容防篡改、防丢失及恢复的方法中,描述了以下的技术:建立视频区块链,一个由创世区块扩展开来由多个摄像机ip视频链组成的链;利用摄像机ip作为判别视频合法的基础并验证链上数据是否被窜改;视频节点通过pow机制取得记账权。专利文件cn 110366049 a

一种流式视频完整性保护方法中,描述了以下技术:生成完整性描述数据,在ts流中定义一条额外的实时完整性es流,es流对ts流中的数据es流进行完整性保护;接收端解析ts流中的相应的实时完整性es流,若hash值一致则视为数据完整,否则视为视频被篡改;不增加播放延迟,提供帧级音视频保护,适用于tcp和udp传输。
5.专利文件cn113411614 a的专利技术将全部数据帧都传至区块链上保护,由于区块链上每个区块本体能承载的数据非常少,数百mb或gb视频全部放置主链上将占用大量区块;又因为播放视频需计算每一帧及下一帧的哈希值,若因网络环境造成数据丢失,此时比对哈希值错误,容易误判成视频被篡改,网络数据丢失时将造成客户端无法获得下一区块数据,必须重传,造成延迟影响体验。专利文件cn110650321b同样以全数据帧上传至区块链的方式进行保护,虽然目的在于防止窜改,但在获取视频上与专利文件cn113411614a同样面临效率问题。专利文件cn110366049a运用一种轻量化的方式来验证视频的完整性,以ts流搭配es流达到快速且实时的验证方式,但由于缺乏其他验证机制,当客户端获取到一段视频将无法确认该视频是否为原创或是否经过变造的。
6.此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于区块链的视频保护方法及装置,是非常有必要的。


技术实现要素:

7.针对现有技术的上述通过区块链对视频进行保护的方式,将全部视频放置到区块
的主链上,数据量大,容易丢失,且丢失时会影响下一区块的传输,需要重传以及采用轻量化传输方式,仍缺少验证机制的缺陷,本发明提供一种基于区块链的视频保护方法及装置,以解决上述技术问题。
8.第一方面,本发明提供一种基于区块链的视频保护方法,包括如下步骤:
9.s1.将视频进行分片,生成媒体分片和索引文件;索引文件包括一级索引文件和二级索引文件;
10.s2.将区块链的第一区块的地址记录在一级索引文件中,计算一级索引文件哈希值,并将一级索引文件哈希值存储在区块链的第一区块上;
11.s3.计算各媒体分片哈希值,将各媒体分片哈希值及区块链的第二区块的地址记录在二级索引文件中,计算二级索引文件哈希值,并将二级索引文件哈希值存储在区块链的第二区块上;
12.s4.用户通过客户端向服务端发送视频请求,并接收服务端返回的一级索引文件,验证一级索引文件哈希值通过后,向服务端请求二级索引文件,再验证二级索引文件哈希值通过后,根据二级索引文件下载各媒体分片,并对各媒体分片的哈希值进行验证,并依次播放哈希值验证通过的媒体分片。
13.进一步地,步骤s1具体步骤如下:
14.s11.将视频进行hls分片,生成媒体分片;
15.s12.为媒体分片创建一级索引文件和二级索引文件。媒体分片是分段的视频文件,索引文件存储视频的信息,一级索引文件存储区块链中首个区块的地址,还存储视频相关的重要信息,如版权信息;二级索引文件存储第二区块及后续区块的地址,还存储对应媒体分片哈希值。
16.进一步地,步骤s2具体步骤如下:
17.s21.将区块链的第一区块的地址记录在一级索引文件中;
18.s22.计算一级索引文件哈希值,并将一级索引文件哈希值保存第一区块上。区块链的首个区块存储一级索引文件哈希值及视频文件的重要信息,获取到第一区块的内容,用于对视频文件进行首次验证,验证一级索引文件哈希值。
19.进一步地,步骤s3具体步骤如下:
20.s31.根据媒体分片数量确定第二索引文件数量及区块链中区块数量;
21.s32.计算各媒体分片哈希值;
22.s33.将需要存储到第二区块的媒体分片哈希值及第二区块的地址记录在一号二级索引文件中;
23.s34.计算一号二级索引文件哈希值,并将一号二级索引文件哈希值存储在第二区块上;
24.s35.判断是否所有媒体分片哈希值存储完毕;
25.若是,进入步骤s4;
26.若否,进入步骤s36;
27.s36.将需要存储到第三区块的媒体分片哈希值及第三区块的地址记录在二号二级索引文件中;
28.s37.计算二号二级索引文件哈希值,并将二号索引文件哈希值存储在第三区块
上,重复上述s35步骤,直至所有媒体分片哈希值存储完毕。第二区块为区块链中首个区块后的紧跟的一个区块,第三区块为紧跟第二区块的一个区块,第二区块开始的后续区块存储的都是二级索引文件的哈希值,第二区块开始的后续区块的数量根据媒体分片数量设定,第二区块及后续区块存储的是二级索引文件的哈希值及媒体分片哈希值,用于后续对待播放视频的验证。
29.进一步地,步骤s4具体步骤如下:
30.s41.用户通过客户端向服务端发送视频请求;
31.s42.服务端向客户端返回一级索引文件;
32.s43.客户端计算一级索引文件哈希值后,判断是否与保存在第一区块上一级索引文件哈希值一致;
33.若不一致,则返回错误,结束;
34.若一致,进入步骤s44;
35.s44.客户端向服务端请求一号二级索引文件;
36.s45.服务端向客户端返回一号二级索引文件;
37.s46.客户端计算一号二级索引文件哈希值,并判断与存储在第二区块上的一号二级索引文件哈希值是否一致;
38.若否,丢弃该区块上索引文件对应媒体分片,进入步骤s49;
39.若是,进入步骤s47;
40.s47.客户端下载第二区块的一号第二索引文件对应的各媒体分片;
41.s48.客户端计算一号第二索引文件对应的各媒体分片的哈希值,判断与一号二级索引文件存储的对应各媒体分片哈希值是否一致;
42.若一致,播放第二区块的一号第二索引文件对应的各媒体分片,进入步骤s49;
43.若不一致,对哈希值不一致的媒体分片进行处理,进入步骤s49;
44.s49.判断是否所有媒体分片哈希值比对完毕;
45.若是,则结束;
46.若否,重复步骤s44-s48步骤,直至最后一个区块上的媒体分片哈希值比对完毕。当视频请求为播放点播视频时,索引文件固件不变,按照本发明步骤即可,而若视频请求为播放直播视频时,索引文件会不断更新,客户端需要根据视频更新频率发送视频请求,同时,索引文件哈希值需要预先更新到对应区块链的区块上,需要选择处理速度大于阈值的区块链。
47.进一步地,步骤s43具体步骤如下:
48.s431.客户端从一级索引文中查找第一区块地址,并连接第一区块;
49.s432.客户端从第一区块上获取一级索引文件哈希值,设定为第一哈希值;
50.s433.客户端根据服务端返回的一级索引文件计算哈希值,设定为第二哈希值;
51.s434.比较第一哈希值与第二哈希值是否一致;
52.若不一致,则返回错误,结束;
53.若一致,进入步骤s44。一级索引文件哈希值验证是视频播放的首个验证,验证不通过,则视频重要信息可能被篡改,不能进行视频播放。
54.进一步地,步骤s46具体步骤如下:
55.s461.客户端从一号二级索引文件中查找第二区块地址,并连接第二区块;
56.s462.客户端从第二区块上获取一号二级索引文件哈希值,设定第三哈希值;
57.s463.客户端根据服务端返回的一号二级索引文件计算哈希值,设定为第四哈希值;
58.s464.比较第三哈希值与第四哈希值是否一致;
59.若否,丢弃该区块上索引文件对应媒体分片,进入步骤s49;
60.若一致,进入步骤s47。二级索引文件哈希值是对第二区块地址的验证,验证不通过,在该二级索引文件对应的媒体分片整体不能被播放。
61.进一步地,步骤s48具体步骤如下:
62.s481.客户端从服务端返回的一号二级索引文件中查找媒体分片哈希值,设定为第五哈希值;
63.s482.客户端根据下载的第二区块的一号第二索引文件对应的各媒体分片,计算哈希值,设定为第六哈希值;
64.s483.比较第五哈希值与第六哈希值是否一致;
65.若是,进入步骤s484;
66.若否,进入步骤s485;
67.s484.播放第二区块的一号第二索引文件对应的各媒体分片,进入步骤s49;
68.s485.获取哈希值不一致的媒体分片,设定为错误媒体分片;
69.s486.对错误媒体分片进行丢弃、要求错误媒体分片进行重传以及对错误媒体分片设定比对阈值,当比对次数超过比对阈值时终止播放该错误媒体分片,进入步骤s49。媒体分片哈希值的验证则具体到某个媒体分片的验证,验证不通过,仅仅是该媒体分片不能被播放。
70.第二方面,本发明提供一种基于区块链的视频保护装置,包括:
71.视频分片模块,用于将视频进行分片,生成媒体分片和索引文件;索引文件包括一级索引文件和二级索引文件;
72.一级索引文件记录及第一区块存储模块,用于将区块链的第一区块的地址记录在一级索引文件中,计算一级索引文件哈希值,并将一级索引文件哈希值存储在区块链的第一区块上;
73.二级索引文件记录及第二区块存储模块,用于计算各媒体分片哈希值,将各媒体分片哈希值及区块链的第二区块的地址记录在二级索引文件中,计算二级索引文件哈希值,并将二级索引文件哈希值存储在区块链的第二区块上;
74.视频验证模块,用于用户通过客户端向服务端发送视频请求,并接收服务端返回的一级索引文件,验证一级索引文件哈希值通过后,向服务端请求二级索引文件,再验证二级索引文件哈希值通过后,根据二级索引文件下载各媒体分片,并对各媒体分片的哈希值进行验证,并依次播放哈希值验证通过的媒体分片。
75.进一步地,视频分片模块包括:
76.媒体分片生成单元,用于将视频进行hls分片,生成媒体分片;
77.索引文件生成单元,用于为媒体分片创建一级索引文件和二级索引文件;
78.一级索引文件记录及第一区块存储模块包括:
79.第一区块地址存储单元,用于将区块链的第一区块的地址记录在一级索引文件中;
80.一级索引文件哈希值保存单元,用于计算一级索引文件哈希值,并将一级索引文件哈希值保存第一区块上;
81.二级索引文件记录及第二区块存储模块包括:
82.第二索引文件及区块数量确定单元,用于根据媒体分片数量确定第二索引文件数量及区块链中区块数量;
83.媒体分片哈希值计算单元,用于计算各媒体分片哈希值;
84.媒体分片哈希值及第二区块地址记录单元,用于将需要存储到第二区块的媒体分片哈希值及第二区块的地址记录在一号二级索引文件中;
85.一号二级索引文件哈希值记录单元,用于计算一号二级索引文件哈希值,并将一号二级索引文件哈希值存储在第二区块上;
86.媒体分片哈希值存储判断单元,用于判断是否所有媒体分片哈希值存储完毕;
87.媒体分片地址及第三区块地址记录单元,用于当媒体分片哈希值未存储完毕时,将需要存储到第三区块的媒体分片哈希值及第三区块的地址记录在二号二级索引文件中;
88.二号二级索引文件哈希值记录单元,用于计算二号二级索引文件哈希值,并将二号索引文件哈希值存储在第三区块上,重复媒体分片哈希值存储判断单元工作,直至所有媒体分片哈希值存储完毕;
89.视频验证模块包括:
90.视频请求单元,用于用户通过客户端向服务端发送视频请求;
91.一级索引文件返回单元,服务端向客户端返回一级索引文件;
92.一级索引文件哈希值判断单元,用于客户端计算一级索引文件哈希值后,判断是否与保存在第一区块上一级索引文件哈希值一致;
93.一号二级索引文件请求单元,用于一级索引文件哈希值一致时,客户端向服务端请求一号二级索引文件;
94.一号二级索引文件返回单元,用于服务端向客户端返回一号二级索引文件;
95.一号二级索引文件哈希值判断单元,用于客户端计算一号二级索引文件哈希值,并判断与存储在第二区块上的一号二级索引文件哈希值是否一致;
96.媒体分片丢弃单元,用于当一号二级索引文件哈希值不一致时,丢弃该区块上索引文件对应媒体分片;
97.媒体分片下载单元,用于当一号二级索引文件哈希值一致时,客户端下载第二区块的一号第二索引文件对应的各媒体分片;
98.媒体分片哈希值判断单元,用于客户端计算一号第二索引文件对应的各媒体分片的哈希值,判断与一号二级索引文件存储的对应各媒体分片哈希值是否一致;
99.媒体分片播放单元,用于媒体分片哈希值一致时,播放第二区块的一号第二索引文件对应的各媒体分片;
100.媒体分片处理单元,用于媒体分片哈希值存在不一致时,对哈希值不一致的媒体分片进行处理;
101.媒体分片哈希值比对完成判断单元,用于判断是否所有媒体分片哈希值比对完
毕;
102.媒体分片哈希值继续比对单元,用于当存在媒体分片哈希值未比对完毕时,重复比对后续区块的媒体分片,直至最后一个区块上的媒体分片哈希值比对完毕。
103.本发明的有益效果在于,
104.本发明提供的基于区块链的视频保护方法及装置,通过区块链对视频的索引文件进行保护,而不必对视频本身进行存储,区块链上存储的信息少,实现轻量级的视频保护,同时还对媒体分片哈希值进行验证,防止播放视频被变造,保证视频安全性。
105.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
106.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
107.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
108.图1是本发明基于区块链的视频保护方法的实施例1流程示意图。
109.图2是本发明基于区块链的视频保护方法的实施例2流程示意图。
110.图3是本发明基于区块链的视频保护方法的步骤s4流程示意图。
111.图4是本发明基于区块链的视频保护装置示意图。
112.图中,1-视频分片模块;1.1-媒体分片生成单元;1.2-索引文件生成单元;2-一级索引文件记录及第一区块存储模块;2.1-第一区块地址存储单元;2.2-一级索引文件哈希值保存单元;3-二级索引文件记录及第二区块存储模块;3.1-第二索引文件及区块数量确定单元;3.2-媒体分片哈希值计算单元;3.3-媒体分片哈希值及第二区块地址记录单元;3.4-一号二级索引文件哈希值记录单元;3.5-媒体分片哈希值存储判断单元;3.6-媒体分片地址及第三区块地址记录单元;3.7-二号二级索引文件哈希值记录单元;4-视频验证模块;4.1-视频请求单元;4.2-一级索引文件返回单元;4.3-一级索引文件哈希值判断单元;4.4-一号二级索引文件请求单元;4.5-一号二级索引文件返回单元;4.6-一号二级索引文件哈希值判断单元;4.7-媒体分片丢弃单元;4.8-媒体分片下载单元;4.9-媒体分片哈希值判断单元;4.10-媒体分片播放单元;4.11-媒体分片处理单元;4.12-媒体分片哈希值比对完成判断单元;4.13-媒体分片哈希值继续比对单元。
具体实施方式
113.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
114.下面对本发明中出现的关键术语进行解释。
115.es,是elementary stream的简称,es流也叫基本码流,包含视频、音频或数据的连
续码流。
116.ts,是transport stream的简称,ts流也叫传送流,即在mpeg-2系统中,由视频、音频的es流和辅助数据复接生成的用于实际传输的标准信息流称为mpeg-2传送流。ts流是由固定长度为188字节的包组成,含有独立时基的一个或多个program,一个program又可以包含多个视频、音频、和文字信息的es流。
117.hls,是http live streaming的简称,主要定义资料的文件格式与服务端与客户端应该有的相对应行为,是目前主流的视频播放格式,可推送连续性或长时段的影片。
118.实施例1:
119.如图1所示,本发明提供一种基于区块链的视频保护方法,包括如下步骤:
120.s1.将视频进行分片,生成媒体分片和索引文件;索引文件包括一级索引文件和二级索引文件;
121.s2.将区块链的第一区块的地址记录在一级索引文件中,计算一级索引文件哈希值,并将一级索引文件哈希值存储在区块链的第一区块上;
122.s3.计算各媒体分片哈希值,将各媒体分片哈希值及区块链的第二区块的地址记录在二级索引文件中,计算二级索引文件哈希值,并将二级索引文件哈希值存储在区块链的第二区块上;
123.s4.用户通过客户端向服务端发送视频请求,并接收服务端返回的一级索引文件,验证一级索引文件哈希值通过后,向服务端请求二级索引文件,再验证二级索引文件哈希值通过后,根据二级索引文件下载各媒体分片,并对各媒体分片的哈希值进行验证,并依次播放哈希值验证通过的媒体分片。
124.实施例2:
125.如图2和图3所示,本发明提供一种基于区块链的视频保护方法,包括如下步骤:
126.s1.将视频进行分片,生成媒体分片和索引文件;索引文件包括一级索引文件和二级索引文件;具体步骤如下:
127.s11.将视频进行hls分片,生成媒体分片;
128.s12.为媒体分片创建一级索引文件和二级索引文件;
129.s2.将区块链的第一区块的地址记录在一级索引文件中,计算一级索引文件哈希值,并将一级索引文件哈希值存储在区块链的第一区块上;具体步骤如下:
130.s21.将区块链的第一区块的地址记录在一级索引文件中;
131.s22.计算一级索引文件哈希值,并将一级索引文件哈希值保存第一区块上;
132.s3.计算各媒体分片哈希值,将各媒体分片哈希值及区块链的第二区块的地址记录在二级索引文件中,计算二级索引文件哈希值,并将二级索引文件哈希值存储在区块链的第二区块上;具体步骤如下:
133.s31.根据媒体分片数量确定第二索引文件数量及区块链中区块数量;
134.s32.计算各媒体分片哈希值;
135.s33.将需要存储到第二区块的媒体分片哈希值及第二区块的地址记录在一号二级索引文件中;
136.s34.计算一号二级索引文件哈希值,并将一号二级索引文件哈希值存储在第二区块上;
137.s35.判断是否所有媒体分片哈希值存储完毕;
138.若是,进入步骤s4;
139.若否,进入步骤s36;
140.s36.将需要存储到第三区块的媒体分片哈希值及第三区块的地址记录在二号二级索引文件中;
141.s37.计算二号二级索引文件哈希值,并将二号索引文件哈希值存储在第三区块上,重复上述s35步骤,直至所有媒体分片哈希值存储完毕;
142.s4.用户通过客户端向服务端发送视频请求,并接收服务端返回的一级索引文件,验证一级索引文件哈希值通过后,向服务端请求二级索引文件,再验证二级索引文件哈希值通过后,根据二级索引文件下载各媒体分片,并对各媒体分片的哈希值进行验证,并依次播放哈希值验证通过的媒体分片;具体步骤如下:
143.s41.用户通过客户端向服务端发送视频请求;
144.s42.服务端向客户端返回一级索引文件;
145.s43.客户端计算一级索引文件哈希值后,判断是否与保存在第一区块
146.上一级索引文件哈希值一致;
147.若不一致,则返回错误,结束;
148.若一致,进入步骤s44;
149.s44.客户端向服务端请求一号二级索引文件;
150.s45.服务端向客户端返回一号二级索引文件;
151.s46.客户端计算一号二级索引文件哈希值,并判断与存储在第二区块
152.上的一号二级索引文件哈希值是否一致;
153.若否,丢弃该区块上索引文件对应媒体分片,进入步骤s49;
154.若是,进入步骤s47;
155.s47.客户端下载第二区块的一号第二索引文件对应的各媒体分片;
156.s48.客户端计算一号第二索引文件对应的各媒体分片的哈希值,判断
157.与一号二级索引文件存储的对应各媒体分片哈希值是否一致;
158.若一致,播放第二区块的一号第二索引文件对应的各媒体分片,进入
159.步骤s49;
160.若不一致,对哈希值不一致的媒体分片进行处理,进入步骤s49;
161.s49.判断是否所有媒体分片哈希值比对完毕;
162.若是,则结束;
163.若否,重复步骤s44-s48步骤,直至最后一个区块上的媒体分片哈希值比对完毕。
164.上述实施例2中,步骤s43具体步骤如下:
165.s431.客户端从一级索引文中查找第一区块地址,并连接第一区块;
166.s432.客户端从第一区块上获取一级索引文件哈希值,设定为第一哈希值;
167.s433.客户端根据服务端返回的一级索引文件计算哈希值,设定为第二哈希值;
168.s434.比较第一哈希值与第二哈希值是否一致;
169.若不一致,则返回错误,结束;
170.若一致,进入步骤s44;
171.步骤s46具体步骤如下:
172.s461.客户端从一号二级索引文件中查找第二区块地址,并连接第二区块;
173.s462.客户端从第二区块上获取一号二级索引文件哈希值,设定第三哈希值;
174.s463.客户端根据服务端返回的一号二级索引文件计算哈希值,设定为第四哈希值;
175.s464.比较第三哈希值与第四哈希值是否一致;
176.若否,丢弃该区块上索引文件对应媒体分片,进入步骤s49;
177.若一致,进入步骤s47;
178.步骤s48具体步骤如下:
179.s481.客户端从服务端返回的一号二级索引文件中查找媒体分片哈希值,设定为第五哈希值;
180.s482.客户端根据下载的第二区块的一号第二索引文件对应的各媒体分片,计算哈希值,设定为第六哈希值;
181.s483.比较第五哈希值与第六哈希值是否一致;
182.若是,进入步骤s484;
183.若否,进入步骤s485;
184.s484.播放第二区块的一号第二索引文件对应的各媒体分片,进入步骤s49;
185.s485.获取哈希值不一致的媒体分片,设定为错误媒体分片;
186.s486.对错误媒体分片进行丢弃、要求错误媒体分片进行重传以及对错误媒体分片设定比对阈值,当比对次数超过比对阈值时终止播放该错误媒体分片,进入步骤s49。
187.上述实施例2中,哈希值的计算及验证可采用md5算法或sha-1算法,采用md5算法会产生128bit的哈希值,采用sha-1算法会产生160bit的哈希值;
188.请求视频为点视频时,索引文件不会改变,因此可以预先有足够时间更新到区块链上,但在请求视频为直播视频时,索引文件需要根据视频更新频率变更,新产生的索引文件哈希值需要及时上传区块链后提供给客户端,需要交易速度大于阈值的区块链来处理;索引文件哈希值及重要信息通过计算机网络传送至区块链,区块链将依其规范与制定的算法程序,将信息同步至其他区块节点;每个区块经由一复杂的算法计算出存储到区块上的哈希值,该哈希值在区块链中具有唯一性。
189.实施例3:
190.如图4所示,本发明提供一种基于区块链的视频保护装置,包括:
191.视频分片模块1,用于将视频进行分片,生成媒体分片和索引文件;索引文件包括一级索引文件和二级索引文件;视频分片模块1包括:
192.媒体分片生成单元1.1,用于将视频进行hls分片,生成媒体分片;
193.索引文件生成单元1.2,用于为媒体分片创建一级索引文件和二级索引文件;
194.一级索引文件记录及第一区块存储模块2,用于将区块链的第一区块的地址记录在一级索引文件中,计算一级索引文件哈希值,并将一级索引文件哈希值存储在区块链的第一区块上;一级索引文件记录及第一区块存储模块2包括:
195.第一区块地址存储单元2.1,用于将区块链的第一区块的地址记录在一级索引文件中;
196.一级索引文件哈希值保存单元2.2,用于计算一级索引文件哈希值,并将一级索引文件哈希值保存第一区块上;
197.二级索引文件记录及第二区块存储模块3,用于计算各媒体分片哈希值,将各媒体分片哈希值及区块链的第二区块的地址记录在二级索引文件中,计算二级索引文件哈希值,并将二级索引文件哈希值存储在区块链的第二区块上;二级索引文件记录及第二区块存储模块3包括:
198.第二索引文件及区块数量确定单元3.1,用于根据媒体分片数量确定第
199.二索引文件数量及区块链中区块数量;
200.媒体分片哈希值计算单元3.2,用于计算各媒体分片哈希值;
201.媒体分片哈希值及第二区块地址记录单元3.3,用于将需要存储到第二区块的媒体分片哈希值及第二区块的地址记录在一号二级索引文件中;
202.一号二级索引文件哈希值记录单元3.4,用于计算一号二级索引文件哈希值,并将一号二级索引文件哈希值存储在第二区块上;
203.媒体分片哈希值存储判断单元3.5,用于判断是否所有媒体分片哈希值存储完毕;
204.媒体分片地址及第三区块地址记录单元3.6,用于当媒体分片哈希值未存储完毕时,将需要存储到第三区块的媒体分片哈希值及第三区块的地址记录在二号二级索引文件中;
205.二号二级索引文件哈希值记录单元3.7,用于计算二号二级索引文件哈希值,并将二号索引文件哈希值存储在第三区块上,重复媒体分片哈希值存储判断单元3.5工作,直至所有媒体分片哈希值存储完毕;
206.视频验证模块4,用于用户通过客户端向服务端发送视频请求,并接收服务端返回的一级索引文件,验证一级索引文件哈希值通过后,向服务端请求二级索引文件,再验证二级索引文件哈希值通过后,根据二级索引文件下载各媒体分片,并对各媒体分片的哈希值进行验证,并依次播放哈希值验证通过的媒体分片;视频验证模块4包括:
207.视频请求单元4.1,用于用户通过客户端向服务端发送视频请求;
208.一级索引文件返回单元4.2,服务端向客户端返回一级索引文件;
209.一级索引文件哈希值判断单元4.3,用于客户端计算一级索引文件哈希值后,判断是否与保存在第一区块上一级索引文件哈希值一致;
210.一号二级索引文件请求单元4.4,用于一级索引文件哈希值一致时,客户端向服务端请求一号二级索引文件;
211.一号二级索引文件返回单元4.5,用于服务端向客户端返回一号二级索引文件;
212.一号二级索引文件哈希值判断单元4.6,用于客户端计算一号二级索引文件哈希值,并判断与存储在第二区块上的一号二级索引文件哈希值是否一致;
213.媒体分片丢弃单元4.7,用于当一号二级索引文件哈希值不一致时,丢弃该区块上索引文件对应媒体分片;
214.媒体分片下载单元4.8,用于当一号二级索引文件哈希值一致时,客户端下载第二区块的一号第二索引文件对应的各媒体分片;
215.媒体分片哈希值判断单元4.9,用于客户端计算一号第二索引文件对应的各媒体分片的哈希值,判断与一号二级索引文件存储的对应各媒体分片哈希值是否一致;
216.媒体分片播放单元4.10,用于媒体分片哈希值一致时,播放第二区块的一号第二索引文件对应的各媒体分片;
217.媒体分片处理单元4.11,用于媒体分片哈希值存在不一致时,对哈希值不一致的媒体分片进行处理;
218.媒体分片哈希值比对完成判断单元4.12,用于判断是否所有媒体分片哈希值比对完毕;
219.媒体分片哈希值继续比对单元4.13,用于当存在媒体分片哈希值未比对完毕时,重复比对后续区块的媒体分片,直至最后一个区块上的媒体分片哈希值比对完毕。
220.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1