用于视频播放的鉴权系统、方法、装置和计算机设备与流程

文档序号:32339548发布日期:2022-11-26 09:16阅读:48来源:国知局
用于视频播放的鉴权系统、方法、装置和计算机设备与流程

1.本技术涉及网络视频播放技术领域,特别是涉及一种用于视频播放的鉴权系统、方法、装置和计算机设备。


背景技术:

2.随着互联网视频播放技术的发展,出现了m3u8协议(一种视频播放标准),该协议将流媒体切分成若干个占据空间较小的ts文件(片段文件),可以根据网络状况,实时自动切换视频清晰度,确保视频播放的流畅性。然而,由于易通过抓包工具或者直接从网页获取播放链接,基于m3u8协议的视频播放存在易被盗播的风险。
3.现有技术中,可以通过加解密来实现视频防盗播,对于分片的视频文件,需要维护视频资源列表,并针对视频文件中的每一个视频片段进行加解密处理,导致对视频播放器的处理资源耗费较多。
4.因此,目前的网络视频播放技术存在耗费处理资源的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够节约处理资源的鉴权系统、方法、装置、计算机设备和计算机可读存储介质。
6.第一方面,本技术提供了一种用于视频播放的鉴权系统。所述系统包括资源服务器、鉴权中心和客户端;
7.所述资源服务器,用于在接收到所述客户端发送的视频播放请求的情况下,将所述视频播放请求对应的视频信息发送至所述鉴权中心;还用于在接收到所述鉴权中心发送的验证通过消息后,将所述视频播放请求对应的分片视频索引返回至所述客户端;
8.所述鉴权中心,用于根据接收到的所述视频信息,对所述视频播放请求进行权限验证,在验证通过的情况下,返回所述验证通过消息至所述资源服务器;
9.所述客户端,用于根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
10.在其中一个实施例中,所述视频播放请求携带有视频签名;所述鉴权中心,还用于接收所述资源服务器发送的视频签名和视频信息,根据所述视频信息生成校验签名,在所述校验签名与所述视频签名相匹配的情况下,判定验证通过。
11.在其中一个实施例中,所述系统还包括后端服务器;所述后端服务器,用于在接收到所述客户端发送的初始视频播放请求的情况下,根据所述初始视频播放请求对应的视频信息,生成视频签名,并返回携带所述视频签名的视频播放请求至所述客户端。
12.在其中一个实施例中,所述系统还包括代理服务器;所述代理服务器,用于在接收到所述客户端发送的视频播放请求的情况下,确定所述视频播放请求对应的目标资源服务器,将所述视频播放请求发送至所述目标资源服务器。
13.在其中一个实施例中,所述客户端,还用于对接收到的所述分片视频索引进行解
析,得到分片视频播放地址,并发送所述分片视频播放地址至所述代理服务器;
14.所述代理服务器,还用于根据接收到的所述分片视频播放地址,确定所述目标资源服务器上的目标位置,并返回所述目标位置至所述客户端;
15.所述客户端,还用于接收所述目标位置,并从所述目标资源服务器的所述目标位置处,获取所述分片视频。
16.在其中一个实施例中,所述后端服务器,还用于对初始视频播放请求对应的时间戳进行加密,得到加密时间戳,返回所述加密时间戳至所述客户端;
17.所述客户端,还用于将携带所述加密时间戳的视频播放请求,发送至所述鉴权中心;
18.所述鉴权中心,还用于对接收到的所述视频播放请求中的加密时间戳进行解密,得到解密时间戳,若所述解密时间戳与当前时间戳之间的差值在预设阈值以内,判定验证通过。
19.第二方面,本技术提供了一种用于视频播放的鉴权方法。所述方法包括:
20.根据接收到的视频信息,对视频播放请求进行权限验证;所述视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与所述视频播放请求相对应的视频信息;
21.在验证通过的情况下,返回验证通过消息至所述资源服务器;所述资源服务器在接收到所述验证通过消息的情况下,将所述视频播放请求对应的分片视频索引返回至所述客户端,所述客户端根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
22.第三方面,本技术还提供了一种用于视频播放的鉴权装置。所述装置包括:
23.权限验证模块,用于根据接收到的视频信息,对视频播放请求进行权限验证;所述视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与所述视频播放请求相对应的视频信息;
24.消息返回模块,用于在验证通过的情况下,返回验证通过消息至所述资源服务器;所述资源服务器在接收到所述验证通过消息的情况下,将所述视频播放请求对应的分片视频索引返回至所述客户端,所述客户端根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
25.第四方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26.根据接收到的视频信息,对视频播放请求进行权限验证;所述视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与所述视频播放请求相对应的视频信息;
27.在验证通过的情况下,返回验证通过消息至所述资源服务器;所述资源服务器在接收到所述验证通过消息的情况下,将所述视频播放请求对应的分片视频索引返回至所述客户端,所述客户端根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
28.第五方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
29.根据接收到的视频信息,对视频播放请求进行权限验证;所述视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与所述视频播放请求相对应的视频信息;
30.在验证通过的情况下,返回验证通过消息至所述资源服务器;所述资源服务器在接收到所述验证通过消息的情况下,将所述视频播放请求对应的分片视频索引返回至所述客户端,所述客户端根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
31.上述用于视频播放的鉴权系统、方法、装置、计算机设备和存储介质,通过在接收到客户端发送的视频播放请求的情况下,资源服务器将视频播放请求对应的视频信息发送至鉴权中心,鉴权中心根据视频信息对视频播放请求进行权限验证,在验证通过的情况下返回验证通过消息至资源服务器,资源服务器在接收到验证通过消息的情况下,将视频播放请求对应的分片视频索引返回至客户端,客户端根据分片视频索引从资源服务器上获取分片视频,对分片视频进行播放;可以针对客户端发送的视频播放请求进行权限验证,在验证通过的情况下,直接播放视频播放请求所要求播放视频的各个片段,无需维护视频播放列表,也无需针对视频的各个片段分别进行加解密和权限验证,节约了网络视频播放的处理资源。
附图说明
32.图1为一个实施例中用于视频播放的鉴权系统的结构框图;
33.图2为一个实施例中用于视频播放的鉴权方法的流程示意图;
34.图3为一个实施例中用于视频播放的鉴权方法的时序图;
35.图4为一个实施例中视频数据二次鉴权方法的时序图;
36.图5为一个实施例中用于视频播放的鉴权装置的结构框图;
37.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
38.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
39.在一个实施例中,如图1所示,提供了一种用于视频播放的鉴权系统,包括资源服务器104、鉴权中心105和客户端101;
40.资源服务器104,用于在接收到客户端101发送的视频播放请求的情况下,将视频播放请求对应的视频信息发送至鉴权中心105;还用于在接收到鉴权中心105发送的验证通过消息后,将视频播放请求对应的分片视频索引返回至客户端101;
41.鉴权中心105,用于根据接收到的视频信息,对视频播放请求进行权限验证,在验证通过的情况下,返回验证通过消息至资源服务器104;
42.客户端101,用于根据接收到的分片视频索引,从资源服务器104上获取分片视频,并对分片视频进行播放。
43.其中,视频播放请求可以为请求播放的视频链接。
44.其中,视频信息可以为视频链接的参数。
45.其中,分片视频索引可以为分片视频的链接。
46.其中,分片视频可以为用于进行播放的分片的视频资源。
47.具体实现中,鉴权系统中可以包括客户端、后端服务器、资源服务器和鉴权中心,客户端与后端服务器相连接,客户端还与资源服务器相连接,资源服务器与鉴权中心相连接,上述连接可以使通过有线链路或者无线链路相通信。
48.后端服务器可以针对客户端发送的视频播放请求,生成视频签名,将携带有视频签名的视频播放请求返回给客户端。客户端可以将携带视频签名的视频播放请求发送至资源服务器。资源服务器可以获取视频播放请求对应的视频信息,将视频信息和视频签名一起发送给鉴权中心。
49.鉴权中心在接收到视频信息和视频签名后,可以根据视频信息和视频签名,对客户端发送的视频播放请求进行权限验证,若验证通过,则返回验证通过消息至资源服务器,否则,若验证不通过,则返回验证未通过消息至资源服务器。
50.资源服务器若接收到验证未通过消息,则可以拒绝客户端的视频播放请求,否则,资源服务器若接收到验证通过消息,则可以获取视频播放请求对应的分片视频索引,将分片视频索引返回给客户端。
51.客户端可以对接收到的分片视频索引进行解析,得到分片视频播放地址,客户端还可以根据分片视频播放地址,从资源服务器上获取分片视频,并对分片视频进行播放。
52.例如,后端服务器可以根据客户端发送的m3u8文件地址生成签名,并返回携带签名的m3u8文件地址,客户端将携带签名的m3u8文件地址发送给资源服务器,资源服务器获取m3u8文件地址中的地址参数,将地址参数和签名发送给鉴权中心,鉴权中心根据接收到的地址参数生成校验签名,若校验签名与接收到的签名相同,则生成验证通过消息,返回给资源服务器,资源服务器可以将m3u8文件地址对应的m3u8文件返回给客户端,客户端对接收到的m3u8文件进行解析,得到ts文件地址,并从资源服务器上获取ts文件地址对应的ts文件资源,进行播放;否则,若校验签名与接收到的签名不相同,则生成验证未通过消息,返回给资源服务器,资源服务器在接收到验证未通过消息的情况下,可以拒绝向客户端返回m3u8文件。
53.上述用于视频播放的鉴权系统,通过在接收到客户端发送的视频播放请求的情况下,资源服务器将视频播放请求对应的视频信息发送至鉴权中心,鉴权中心根据视频信息对视频播放请求进行权限验证,在验证通过的情况下返回验证通过消息至资源服务器,资源服务器在接收到验证通过消息的情况下,将视频播放请求对应的分片视频索引返回至客户端,客户端根据分片视频索引从资源服务器上获取分片视频,对分片视频进行播放;可以针对客户端发送的视频播放请求进行权限验证,在验证通过的情况下,直接播放视频播放请求所要求播放视频的各个片段,无需维护视频播放列表,也无需针对视频的各个片段分别进行加解密和权限验证,节约了网络视频播放的处理资源。
54.在一个实施例中,视频播放请求携带有视频签名;上述鉴权中心,还用于接收资源服务器发送的视频签名和视频信息,根据视频信息生成校验签名,在校验签名与视频签名相匹配的情况下,判定验证通过。
55.具体实现中,可以在视频播放请求中携带视频签名,资源服务器可以提取视频播
放请求中的视频信息,将视频信息和视频播放请求携带的视频签名发送给鉴权中心,鉴权中心可以根据接收到的视频信息生成校验签名,并将校验签名和接收到的视频签名相比对,若二者不匹配,则判定验证未通过,否则,若二者相匹配,则判定验证通过。
56.例如,资源服务器可以提取m3u8文件地址的地址参数,将地址参数和m3u8文件地址携带的签名共同发送给鉴权中心,鉴权中心根据接收到的地址参数生成校验签名,并将校验签名和m3u8文件地址携带的签名相比对,若二者不相同,则判定验证未通过,否则,若二者相同,则判定验证通过。
57.本实施例中,通过鉴权中心接收资源服务器发送的视频签名和视频信息,根据视频信息生成校验签名,在校验签名与视频签名相匹配的情况下,判定验证通过,可以通过鉴权中心对客户端发送的视频播放请求进行权限验证,确保视频播放请求的合法性。
58.在一个实施例中,上述鉴权系统还包括后端服务器,用于在接收到客户端发送的初始视频播放请求的情况下,根据初始视频播放请求对应的视频信息,生成视频签名,并返回携带视频签名的视频播放请求至客户端。
59.其中,初始视频播放请求可以为客户端发送至后端服务器的视频播放请求。
60.具体实现中,客户端可以将初始视频播放请求发送给后端服务器,后端服务器在接收到初始视频播放请求后,获取初始视频播放请求对应的视频信息,根据视频信息生成视频签名,将视频签名携带在初始视频播放请求中,返回携带视频签名的视频播放请求给客户端。
61.例如,客户端可以将m3u8文件地址发送给后端服务器,后端服务器生成m3u8文件地址的签名,将签名携带在m3u8文件地址中,返回给客户端。
62.本实施例中,通过后端服务器在接收到客户端发送的初始视频播放请求的情况下,根据初始视频播放请求对应的视频信息,生成视频签名,并返回携带视频签名的视频播放请求至客户端,可以使得鉴权中心根据视频播放请求中携带的签名,对视频播放请求进行权限验证,提高了权限验证的效率。
63.在一个实施例中,上述鉴权系统还包括代理服务器,用于在接收到客户端发送的视频播放请求的情况下,确定视频播放请求对应的目标资源服务器,将视频播放请求发送至目标资源服务器。
64.具体实现中,鉴权系统中还可以包括代理服务器,代理服务器与客户端和资源服务器均相连接,通过有线链路或者无线链路相通信。客户端可以将携带视频签名的视频播放请求发送给代理服务器,代理服务器可以根据接收到的视频播放请求,确定能够提供该视频播放请求的资源服务器,作为目标资源服务器,并将视频播放请求转发给目标资源服务器。代理服务器还可以确定目标资源服务器上的目标位置,并将目标位置发送给目标资源服务器,在鉴权中心对视频播放请求验证通过的情况下,目标资源服务器可以将目标位置处的视频资源,作为视频播放请求所对应的视频资源,返回给客户端。
65.例如,客户端可以将携带签名的m3u8文件地址发送给代理服务器,代理服务器可以确定m3u8文件地址所请求获取的m3u8文件位于资源服务器a的位置b,代理服务器可以将携带签名的m3u8文件地址发送给资源服务器a,在鉴权通过的情况下,资源服务器a可以将位置b处的m3u8文件,返回给客户端。
66.本实施例中,通过代理服务器在接收到客户端发送的视频播放请求的情况下,确
定视频播放请求对应的目标资源服务器,将视频播放请求发送至目标资源服务器,可以通过代理服务器对视频播放请求进行重定向,提高视频获取的效率。
67.在一个实施例中,上述客户端,还用于对接收到的分片视频索引进行解析,得到分片视频播放地址,并发送分片视频播放地址至代理服务器;上述代理服务器,还用于根据接收到的分片视频播放地址,确定目标资源服务器上的目标位置,并返回目标位置至客户端;上述客户端,还用于接收目标位置,并从目标资源服务器的目标位置处,获取分片视频。
68.具体实现中,资源服务器可以向代理服务器返回分片视频索引,代理服务器将分片视频索引转发给客户端,客户端将接收到的分片视频索引解析为分片视频播放地址,然后将分片视频播放地址发送给代理服务器,代理服务器根据接收到的分片视频播放地址进行重定向,返回分片视频播放地址在目标资源服务器上的目标位置给客户端,客户端根据接收到的目标位置,从目标资源服务器上获取分片视频。
69.例如,在权限验证通过的情况下,资源服务器向代理服务器返回m3u8文件,代理服务器将m3u8文件转发给客户端,客户端对接收到的m3u8文件进行解析,得到多个ts文件地址,客户端将其中一个ts文件地址发送给代理服务器,代理服务器可以确定该ts文件地址对应资源服务器c的位置d,并将该信息返回给客户端,客户端在接收到该信息后,可以向资源服务器c发送ts文件地址,请求从位置d处获取ts文件,资源服务器c可以将位置d处的ts文件返回给客户端。
70.本实施例中,通过客户端对接收到的分片视频索引进行解析,得到分片视频播放地址,并发送分片视频播放地址至代理服务器,代理服务器根据接收到的分片视频播放地址,确定目标资源服务器上的目标位置,并返回目标位置至客户端,客户端接收目标位置,并从目标资源服务器的目标位置处,获取分片视频,可以通过代理服务器对分片视频播放地址进行重定向,提高分片视频获取的效率。
71.在一个实施例中,上述后端服务器,还用于对初始视频播放请求对应的时间戳进行加密,得到加密时间戳,返回加密时间戳至客户端;上述客户端,还用于将携带加密时间戳的视频播放请求,发送至鉴权中心;上述鉴权中心,还用于对接收到的视频播放请求中的加密时间戳进行解密,得到解密时间戳,若解密时间戳与当前时间戳之间的差值在预设阈值以内,判定验证通过。
72.具体实现中,客户端发送视频播放请求给后端服务器后,后端服务器可以先对视频播放请求对应的用户身份进行验证,若身份验证不通过,则拒绝视频播放请求,否则,若身份验证通过,则根据视频播放请求对应的视频信息生成视频签名,后端服务器还可以对视频播放请求对应的时间戳进行加密,得到加密时间戳,将视频签名和加密时间戳一起返回给客户端,客户端可以将携带视频签名和加密时间戳的视频播放请求通过代理服务器和资源服务器,发送至鉴权中心,鉴权中心可以首先根据视频签名进行权限验证,在根据视频签名验证通过的情况下,进一步根据时间戳进行权限验证,具体地,可以对接收到的视频播放请求中的加密时间戳进行解密,得到解密时间戳,并计算解密时间戳与当前时间戳之间的差值,若差值超过预设阈值,则判定验证不通过,否则,若差值在预设阈值以内,则判定验证通过。
73.例如,客户端发送携带用户凭据的m3u8文件地址给后端服务器,后端服务器根据接收到的用户凭据验证用户合法性,对于合法用户,后端服务器根据m3u8文件地址的地址
参数生成签名,同时根据视频id和当前时间戳生成cookie(储存在用户本地终端上的数据),具体地,可以将视频id进行md5(message digest algorithm md5,消息摘要算法)加密,得到cookie的键,将当前时间戳进行ase(advanced encryption standard,高级加密标准)对称加密,得到cookie的值,其中,当前时间戳可以每隔固定时长进行一次更新,例如,可以每隔10s更新一次。客户端可以将签名和cookie一起通过代理服务器和资源服务器转发至鉴权中心,鉴权中心可以先对签名进行验证,若验证不通过,则拒绝客户端的m3u8文件请求,否则,若验证通过,则进一步对cookie进行验证,例如,可以对cookie进行解密,以获取客户端的时间戳,计算客户端时间戳与当前时间之间的差值,若差值超过10s,则判定验证不通过,拒绝客户端的m3u8文件请求,否则,若差值在10s以内,则判定验证通过,允许客户端的m3u8文件请求。
74.本实施例中,通过后端服务器对初始视频播放请求对应的时间戳进行加密,得到加密时间戳,返回加密时间戳至客户端,客户端将携带加密时间戳的视频播放请求,发送至鉴权中心,鉴权中心对接收到的视频播放请求中的加密时间戳进行解密,得到解密时间戳,若解密时间戳与当前时间戳之间的差值在预设阈值以内,判定验证通过,可以在视频签名验证通过的情况下,进一步根据时间戳进行权限验证,确保对视频播放请求权限验证的可靠性。
75.在一个实施例中,如图2所示,提供了一种用于视频播放的鉴权方法,以该方法应用于图1中的鉴权中心为例进行说明,包括以下步骤:
76.步骤s202,根据接收到的视频信息,对视频播放请求进行权限验证;视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与视频播放请求相对应的视频信息;
77.步骤s204,在验证通过的情况下,返回验证通过消息至资源服务器;资源服务器在接收到验证通过消息的情况下,将视频播放请求对应的分片视频索引返回至客户端,客户端根据接收到的分片视频索引,从资源服务器上获取分片视频,并对分片视频进行播放。
78.具体实现中,后端服务器可以针对客户端发送的视频播放请求,生成视频签名,将携带有视频签名的视频播放请求返回给客户端。客户端可以将携带视频签名的视频播放请求发送至资源服务器。资源服务器可以获取视频播放请求对应的视频信息,将视频信息和视频签名一起发送给鉴权中心。
79.鉴权中心在接收到视频信息和视频签名后,可以根据视频信息和视频签名,对客户端发送的视频播放请求进行权限验证,若验证通过,则返回验证通过消息至资源服务器,否则,若验证不通过,则返回验证未通过消息至资源服务器。
80.资源服务器若接收到验证未通过消息,则可以拒绝客户端的视频播放请求,否则,资源服务器若接收到验证通过消息,则可以获取视频播放请求对应的分片视频索引,将分片视频索引返回给客户端。
81.客户端可以对接收到的分片视频索引进行解析,得到分片视频播放地址,客户端还可以根据分片视频播放地址,从资源服务器上获取分片视频,并对分片视频进行播放。
82.由于鉴权中心的处理过程在前述实施例中已有详细说明,在此不再赘述。
83.本实施例中,通过根据接收到的视频信息,对视频播放请求进行权限验证,在验证通过的情况下,返回验证通过消息至资源服务器,可以针对客户端发送的视频播放请求进
行权限验证,在验证通过的情况下,直接播放视频播放请求所要求播放视频的各个片段,无需维护视频播放列表,也无需针对视频的各个片段分别进行加解密和权限验证,节约了网络视频播放的处理资源。
84.在一个实施例中,如图3所示,提供了一个用于视频播放的鉴权方法的时序图。根据图3,用于视频播放的鉴权方法,包括以下步骤:
85.步骤s301,客户端发送初始视频播放请求至后端服务器;
86.步骤s302,后端服务器对初始视频播放请求所对应的客户端进行身份验证;
87.步骤s303,在身份验证通过的情况下,后端服务器根据初始视频播放请求对应的视频信息,生成视频签名,并对初始视频播放请求对应的时间戳进行加密,得到加密时间戳;
88.步骤s304,后端服务器返回携带视频签名和加密时间戳的视频播放请求至客户端;
89.步骤s305,客户端将携带视频签名和加密时间戳的视频播放请求发送至大理服务器;
90.步骤s306,代理服务器确定视频播放请求对应的目标资源服务器和目标资源服务器上的第一目标位置,将第一目标位置、携带视频签名和加密时间戳的视频播放请求发送至目标资源服务器;
91.步骤s307,目标资源服务器将视频播放请求对应的视频信息,以及视频签名和加密时间戳,发送至鉴权中心;
92.步骤s308,鉴权中心根据视频签名对视频播放请求进行验证,在验证通过的情况下,根据加密时间戳对视频播放请求进行验证;
93.步骤s309,鉴权中心在根据视频签名和加密时间戳均验证通过的情况下,返回验证通过消息给目标资源服务器;
94.步骤s310,目标资源服务器在接收到的验证通过消息的情况下,将第一目标位置处的分片视频索引返回给代理服务器;
95.步骤s311,代理服务器将分片视频索引返回给客户端;
96.步骤s312,客户端对分片视频索引进行解析,得到分片视频播放地址;
97.步骤s313,客户端将分片视频播放地址发送至代理服务器;
98.步骤s314,代理服务器确定分片视频播放地址对应的目标资源服务器上的第二目标位置,将第二目标位置返回给客户端;
99.步骤s315,客户端根据接收到的第二目标位置,发送分片视频播放请求至目标资源服务器;
100.步骤s316,目标资源服务器将第二目标位置处的分片视频,返回给客户端。
101.由于客户端、后端服务器、代理服务器、资源服务器和鉴权中心的处理过程在前述实施例中已有详细说明,在此不再赘述。
102.本实施例中,通过后端服务器对客户端进行身份验证,可以初步验证客户端的合法性,在客户端中携带视频签名和加密时间戳,可以使用视频签名和加密时间戳对视频播放请求进行两次鉴权,进一步确保权限验证的可靠性。而且,通过针对客户端发送的视频播放请求进行权限验证,在验证通过的情况下,直接播放视频播放请求所要求播放视频的各
个片段,无需维护视频播放列表,也无需针对视频的各个片段分别进行加解密和权限验证,可以节约网络视频播放的处理资源。
103.为了便于本领域技术人员深入理解本技术实施例,以下将结合一个具体示例进行说明。
104.图4提供了一个视频数据二次鉴权方法的时序图。根据图4,对在线视频文件播放时数据进行二次鉴权,可以提供一个鉴权服务中心,其主要对来自客户端的视频请求源地址进行权限验证。客户端在向后端服务请求播放视频数据时,由后端服务对播放链接参数按照一定规律生成签名,同时向客户端写入cookie。视频id经md5加密后作为cookie的键,把当前生成时间进行ase对称加密,其加密值作为cookie的值,该cookie的生存周期为10s。客户端通过定时器不断的延长该生存周期并以同样方式对当前时间戳进行加密后替换cookie的值。客户端获取到该视频播放链接去请求视频资源服务器,同时会携带该cookie。这个请求过程会经过一个nginx代理服务,该服务会将cookie转发到对应的资源服务器上。该资源服务器将客户端请求的播放链接透传到鉴权中心。由鉴权中心首先对该播放链接参数按照约定的规律生成签名,并对链接携带过来的签名进行对比。两者签名相同则验证cookie,签名不同说明该请求系伪造,立即通知资源服务器终止该资源请求。验证cookie方法为:获取当前cookie的值,并对该值进行解密以获取客户端的修改时间,用该修改时间与当前系统时间进行对比。若时间超过10s,说明该请求系非法伪造请求,立即通知资源服务器终止该资源请求。因为m3u8视频文件是分片请求,此方法可以在视频播放过程中不断的进行验证,以此实现对在线视频的请求进行安全认证,确保视频资源不被盗用。
105.上述二次鉴权方法,包括以下步骤:
106.步骤s401,客户端请求视频播放地址。
107.步骤s402,客户端请求身份验证:由客户端携带用户凭据(token),请求到达后端服务器,验证token合法性。
108.步骤s403,生成加密链播放链接参数及cookie:由后端服务器对播放链接参数按照一定规律生成签名,同时向客户端写入cookie。视频id经md5加密后作为cookie的键,把当前生成时间进行ase对称加密,其加密值作为cookie的值,该cookie的生存周期为10s。
109.客户端维护cookie:客户端通过定时器,定时将cookie的周期延长10s,同时按照上述相同的加密方式,对当前时间戳进行加密后替换cookie的值。
110.步骤s405,代理服务处理请求:当客户端获取播放链接时,此时链接会指向一个nginx代理服务器,由该代理服务对该链接进行处理。当该链接是请求m3u8文件时,会将该链接及cookie转发到资源服务器上;若该链接ts文件,则会对该请求进行重定位,并将结果导向客户端,由客户端播放器重新请求最新的资源地址。
111.步骤s407,资源服务器处理:当资源服务器接收到.m3u8后缀请求文件时,会将该请求参数及cookie透传到鉴权中心;当资源服务器接收的是.ts后缀文件时,会直接将该资源返回;
112.步骤s408,鉴权中心处理:
113.验证签名:由鉴权中心首先对该播放链接参数按照约定的规律生成签名,并对链接携带过来的签名进行对比。两者签名相同则验证cookie,签名不同说明该请求系伪造,立即通知资源服务器终止该资源请求。
114.验证cookie:获取当前cookie的值,并对该值进行解密以获取客户端的修改时间,用该修改时间与当前系统时间进行对比。若时间超过10s,说明该请求系非法伪造请求,立即通知资源服务器终止该资源请求;
115.上述二次鉴权方法,简单可靠,易于施行,经济成本低,而且可以在视频文件播放过程中进行多次鉴权,安全性较高,易于扩展。
116.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
117.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的用于视频播放的鉴权方法的用于视频播放的鉴权装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个用于视频播放的鉴权装置实施例中的具体限定可以参见上文中对于用于视频播放的鉴权方法的限定,在此不再赘述。
118.在一个实施例中,如图5所示,提供了一种用于视频播放的鉴权装置,包括:权限验证模块502和消息返回模块504,其中:
119.权限验证模块502,用于根据接收到的视频信息,对视频播放请求进行权限验证;所述视频信息为资源服务器在接收到客户端发送的视频播放请求的情况下,发送至鉴权中心的与所述视频播放请求相对应的视频信息;
120.消息返回模块504,用于在验证通过的情况下,返回验证通过消息至所述资源服务器;所述资源服务器在接收到所述验证通过消息的情况下,将所述视频播放请求对应的分片视频索引返回至所述客户端,所述客户端根据接收到的所述分片视频索引,从所述资源服务器上获取分片视频,并对所述分片视频进行播放。
121.上述用于视频播放的鉴权装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
122.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用于视频播放的鉴权数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种用于视频播放的鉴权方法。
123.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
124.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
125.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
126.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
127.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
128.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1