CN107094261A - 视频播放的权限校验方法及装置 - Google Patents
视频播放的权限校验方法及装置 Download PDFInfo
- Publication number
- CN107094261A CN107094261A CN201710160265.1A CN201710160265A CN107094261A CN 107094261 A CN107094261 A CN 107094261A CN 201710160265 A CN201710160265 A CN 201710160265A CN 107094261 A CN107094261 A CN 107094261A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- video flowing
- script files
- check
- 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
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频播放的权限校验方法及装置,其中,所述方法包括:接收服务器发送的LUA脚本文件;生成待请求视频流地址的客户端的校验信息;执行LUA脚本文件,根据LUA脚本文件对校验信息进行加密,生成客户端请求校验码;向服务器发送视频流地址请求消息,视频流地址请求消息中携带有客户端请求校验码以及校验信息,以供服务器采用对应的加密算法对校验信息进行加密,生成服务器校验码,若服务器校验码与客户端请求校验码一致,则服务器返回所请求的视频流地址;接收视频流地址。本发明能够有效地实现对视频流地址的鉴权验证,提高视频直播过程的安全性,提升用户体验。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种视频播放的权限校验方法及装置。
背景技术
随着计算机技术和网络技术的发展,观看视频直播的用户越来越多,网络视频直播得到了广泛的普及。视频直播是利用互联网及流媒体技术进行直播,直播网站通过从视频内容的提供服务器获取视频流地址,以根据视频流地址获取视频内容,实现视频内容的网络直播。
实际应用中,视频流地址存在被第三方平台获取的风险,进而导致第三方平台可以不通过直播网站直接观看视频内容,即绕过了直播网站的视频播放器提供的视频播放。这种行为不仅直接侵犯了视频直播提供方的权益,减少了视频网站的用户流量,而且还会给直播用户带来个人信息泄露的风险,从而给个人财产带来安全隐患。目前的大多数视频网站都会对视频流地址进行加密保护,以确保视频播放过程的安全性。常用方式是通过对视频流地址进行一次校验,校验通过后则可以完整的获取整个视频流,使得第三方平台不能轻易的获取视频流地址。但是,考虑到性能和用户体验,由于客户端在请求时不能产生太大时延,所以加密算法不能够太复杂,为此,大多数的视频网站采取的是比较简单的且常用的校验方法,进而导致加密算法比较容易被黑客或第三方平台破解,从而盗取了视频流地址,使得视频播放过程依然存在安全风险。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频播放的权限校验方法及装置,能够有效地实现对视频流地址的鉴权验证,提高视频直播过程的安全性,提升用户体验。
本发明的一个方面,提供了一种视频播放的权限校验方法,包括:
接收服务器发送的LUA脚本文件;
生成待请求视频流地址的客户端的校验信息;
执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址;
接收所述服务器返回的所述视频流地址。
可选地,在所述向所述服务器发送视频流地址请求消息之前,所述方法还包括:
对所述客户端请求校验码以及所述校验信息进行加密;
所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。
可选地,在所述接收服务器发送的LUA脚本文件之前,所述方法还包括:
在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
可选地,所述在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口,包括:
通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;
通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;
在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
可选地,所述LUA脚本文件为服务器加密后的文件;
在所述通过调用所述回调函数执行所述LUA脚本文件之前,所述方法还包括:
采用与服务器侧的加密算法相对应的解密算法对所述LUA脚本文件进行数据解密。
可选地,所述校验信息包括客户端随机字符串和客户端信息;
所述客户端信息包括用户信息和直播服务器返回的Token值,所述用户信息包括客户端的设备标识、客户端的IP地址、直播间ID和/或生成所述校验信息的时间。
本发明的另一个方面,提供了一种视频播放的权限校验装置,包括:
接收模块,用于接收服务器发送的LUA脚本文件;
第一生成模块,用于生成待请求视频流地址的客户端的校验信息;
第二生成模块,用于执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
发送模块,用于向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址;
播放模块,用于接收所述服务器返回的所述视频流地址。
可选地,所述装置还包括:
加密模块,用于在所述向所述服务器发送视频流地址请求消息之前,对所述客户端请求校验码以及所述校验信息进行加密;
所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。
可选地,所述装置还包括:
配置模块,用于在所述接收服务器发送的LUA脚本文件之前,在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
可选地,所述配置模块,包括:
类创建单元,用于通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;
接口创建单元,用于通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;
注册单元,用于在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
本发明实施例提供的视频播放的权限校验方法及装置,通过使用LUA脚本文件实现对视频流地址的鉴权,由于LUA是一种脚本语言,不需要编译可以直接执行,可以通过频繁的对LUA脚本文件的更新,以实现对视频流地址鉴权方式的更新,增加鉴权过程中加密算法的破解难度,从而能够有效地实现对视频流地址的鉴权验证,进而视频播放的权限校验,提高视频直播过程的安全性,提升用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的一种视频播放的权限校验方法的流程图;
图2为本发明实施例的另一种视频播放的权限校验方法的流程图;
图3为本发明实施例的一种视频播放的权限校验装置的结构示意图;
图4为本发明实施例的另一种视频播放的权限校验装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
为解决现有技术中在用户刚开始请求视频流地址时对视频流地址的加密算法过于复杂,影响用户体验,或,加密算法过于简单,不能够有效地实现对视频流地址的鉴权验证的问题。本发明实施例通过使用LUA脚本文件来实现对视频流地址的鉴权,当客户端登陆直播平台服务器后,服务器将流地址的鉴权算法的LUA脚本文件发送给客户端,客户端通过执行LUA脚本文件来生成视频流地址的客户端请求校验码KEY,通过将该KEY发送到服务器进行权限校验,来请求视频流地址。本发明实施例通过使用LUA脚本实现对视频流地址的鉴权验证,可以通过频繁的对LUA脚本文件的更新,实现对视频流地址鉴权方式的更新,增加鉴权过程中加密算法的破解难度。
图1示意性示出了本发明一个实施例的视频播放的权限校验方法的流程图。参照图1,本发明实施例的视频播放的权限校验方法具体包括以下步骤:
步骤S11、接收服务器发送的LUA脚本文件。
其中,LUA是一个轻量级的脚本语言,LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在客户端播放器的程序中。而且,LUA可配置性、可扩展性,虽然其并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。此外,LUA由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行,具体良好的兼容性。
本实施例中,服务器根据预设的多种加密算法分别生成相应的多个LUA脚本文件,并向客户端发送预先配置的LUA脚本文件。相应的,服务器所述向客户端发送预先配置的LUA脚本文件,具体包括:从所述多个LUA脚本文件中随机选取一个LUA脚本文件,并将所述选取的LUA脚本文件发送到所述客户端;或,根据预设的文件选取规则从所述多个LUA脚本文件中选取一个LUA脚本文件,并将所述选取的LUA脚本文件发送到所述客户端。
进一步地,服务器会定时更新生成的所述多个LUA脚本文件和/或所述文件选取规则。在一个可选实施例中,服务器使用LUA脚本来编写一个视频流地址的KEY的加密算法,其中使用的加密算法和算法中使用的KEY值可以经常的进行更换,进而可以通过更新加密算法和/或算法中使用的KEY值,实现更新LUA脚本文件的目的。
在实际应用中,服务器可以事先编写好多种变换的视频流地址的加密算法,并且可以隔一段时间后进行更新,根据得到的多种加密算法分别生成相应的多个LUA脚本文件。当客户端登录直播网站时,将LUA脚本下发到客户端,供客户端生成待请求视频流地址的客户端请求校验码。同时服务器也会使用同样的LUA脚本来计视频流地址的服务器校验码KEY,从而校验客户端上报的是否正确。由于LUA是一种脚本语言,所以不需要进行重新编译,发到客户端则可以直接运行,从而比较好的可以做到动态更新。
步骤S12、生成待请求视频流地址的客户端的校验信息。
在实际应用中,当用户打开一个直播间进行视频直播观看时,首先客户端会去向服务器发送视频流地址请求消息,以获取直播房间的视频流地址。为了保护视频流地址的安全有效,在请求的时候需要客户端在请求消息中携带上客户端的校验信息。本实施例中的所述校验信息包括客户端随机字符串和客户端信息。其中,客户端随机字符串为所述客户端生成的随机字符串;客户端信息包括用户信息和直播服务器返回的Token值,所述用户信息包括客户端的设备标识、客户端的IP地址、直播间ID和/或生成所述校验信息的时间。
步骤S13、执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
步骤S14、向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址。
步骤S15、接收所述服务器返回的所述视频流地址。
其中,视频流地址的有效性为首次有效,即一次有效地址,该地址只能使用一次,下次再使用同样的视频流地址获取视频流,则被视为无效,进而有效地避免黑客或恶意第三方获取该地址后,任意的拉取视频流。进一步地,本发明实施例中的视频流地址算法使用了用户登录时的Tocken作为客户端请求校验码KEY计算的一部分,同样使得用户必须登录后才能拉取视频流地址,使得盗取流地址的黑客或恶意第三方必须实现网站的登录功能,从而增加了其实现门槛。同时为了进一步的保护视频流地址,本发明实施例中,还使用了客户端的一些个人用户信息作为技术KEY值的一部分,其中包括客户端的IP地址、设备唯一ID、服务器穿给客户端的随机KEY值,以及生成所述校验信息的时间等,进而可以极大的保护视频流地址的安全性。
本发明实施例提供的视频播放的权限校验方法,通过使用LUA脚本文件实现对视频流地址的鉴权,由于LUA是一种脚本语言,不需要编译可以直接执行,可以通过频繁的对LUA脚本文件的更新,实现对视频流地址鉴权方式的更新,增加鉴权过程中加密算法的破解难度,从而能够有效地实现对视频流地址的鉴权验证,进而实现视频播放的权限校验,提高视频直播过程的安全性,提升用户体验。
在一个具体实施例中,服务器向客户端发送预先配置的LUA脚本文件之后,客户端首先随机的生成一个32位的客户端随机字符串RandKey,并获取本地的客户端信息。具体的,获取的信息包括,客户端登录直播网站时获取到的直播服务器返回的Token值,客户端请求的视频流的直播间ID(RoomID),客户端的设备ID,客户端的IP地址,客户端生成所述校验信息的时间Time。获取到这些信息后,将这些信息拼接成一个字符串。然后使用LUA脚本文件中的加密算法,如TEA算法,来对拼接后的字符串进行加密。
其中,使用TEA算法来对拼接后的字符串进行加密时,TEA加密算法会使用一个KEY值,本实施例中使用客户端随机字符串RandKey作为算法的KEY值。具体实现如下:
Video_Key=TEA.encrypt(RandKey,Token+RoomID+ID+IP+Time);
其中Video_Key则是客户端计算出来的客户端请求校验码。
然后,客户端向服务器请求视频流地址,同时会将客户端随机字符串以及客户端信息(客户端登录获取的Token、房间号RoomID、设备ID、电脑IP、客户端生成所述校验信息的时间Time)和计算的Video_Key发送到服务器,服务器也会使用同样的LUA脚本来根据客户端发送的校验信息计算视频流地址的服务器校验码KEY,从而校验客户端上报的客户端请求校验码是否正确,如果正确,则确定权限校验成功,并向所述客户端返回所请求的视频流地址,以供所述客户端基于所述视频流地址进行视频播放,否则,确定权限校验失败。
进一步地,为了进一步加强鉴权过程中加密算法的破解难度,还可以在将客户端随机字符串以及客户端信息(客户端登录获取的Token、房间号RoomID、设备ID、电脑IP、客户端生成所述校验信息的时间Time)和计算的Video_Key发送到服务器时,再使用另一套对称的加密算法来进行加密传输。
需要说明的是,客户端随机字符串RandKey可以由客户端生成,也可以由客户端和服务器共同生成。
其中,客户端随机字符串RandKey由客户端和服务器共同生成的实现流程如下:服务器生成服务器随机数,将服务器随机数作为触发信号发送到客户端,以供客户端根据所述触发信号生成客户端随机数,客户端返回客户端随机数到服务器,客户端根据服务器随机数和客户端随机数生成客户端随机字符串。同时,服务器接收客户端返回的客户端随机数,根据服务器随机数和客户端随机数采用与客户端相同算法生成服务端随机字符串。此时,客户端随机字符串和服务端随机字符串相同,因此,在后续处理过程中,无需客户端将客户端随机字符串随同视频流地址请求消息一起发送到服务器,服务器也可以实现权限校验。
本实施例中,在所述向所述服务器发送视频流地址请求消息之前,所述方法还包括:
对所述客户端请求校验码以及所述校验信息进行加密。相应的,所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。
本实施例中,客户端预先对所述客户端请求校验码以及所述校验信息进行加密,向所述服务器发送的视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。服务器接收到视频流地址请求消息之后,根据约定秘钥对其进行解密后,并采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密。
本实施例中,所述LUA脚本文件为服务器加密后的文件。相应地,在所述通过调用所述回调函数执行所述LUA脚本文件之前,所述方法还包括:采用与服务器侧的加密算法相对应的解密算法对所述LUA脚本文件进行数据解密。在一个具体实施例中,服务器向客户端发送的LUA脚本文件是经过加密后的文件进行,客户端收到LUA脚本文件之后需要根据约定秘钥对其进行解密,解密之后再执行所述LUA脚本文件,已达到进一步加强鉴权过程中加密算法的破解难度的目的,从而也可以从代码层次进行保护。
在本发明的一个可选实施例中,如图2所示,在所述接收服务器发送的LUA脚本文件之前,所述方法还包括:步骤S10、在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
进一步地,所述在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口,具体包括附图中未示出的以下步骤:
步骤S101、通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;
步骤S102、通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;
步骤S103、在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
在实际应用中,直播网站的客户端观看视频基本都是采用Flash作为播放器。下面以Flash作为客户端播放进程对本发明技术方案进行解释说明。若采用Flash作为播放器,则其视频流地址的鉴权逻辑也在Flash中。本发明实施例通过在Flash中来调用LUA脚本文件来实现对视频播放的权限校验。具体实现如下:
1、首先定义一个ActionScript的Loader实例。
在ActionScript中提供了一个Loader类用来加载SWF文件,或者是图片JPG,GIF动画,或者是LUA文件等。
具体实现如下:
VarswfLoader:Loader=new Loader();
并且设置swfLoader.dataFormat=URLLoaderDataFormat.TEXT;
为TEXT格式的文件。
2、注册SWF加载完成的回调函数。
在ActionScript中添加一个Loader实例的接口,用来注册事件,当Loader加载完成一个SWF文件后,会回调这个注册的回调函数,以告诉他SWF文件已经加载完成。
在Loader中提供了一个addEventListener接口用来注册事件。
接口具体原型如下:
addEventListener(type:String,
listener:Function,
useCapture:Boolean=false,
priority:int=0,
useWeakReference:Boolean=false)
其中,第一个参数type:String用来表示注册的事件类型,对应于本文则是Event.COMPLETE,表示注册SWF加载完成事件;第二个参数listener:Function用来表示注册的完成事件完成后的回调函数,用于触发回调函数执行;第三个参数priority:int用于标示事件的优先级,使用默认值0;第四个参数useWeakReference:Boolean指定回调函数是弱应用还是强引用,使用默认值false。
3、创建请求SWF的接口URLRequest。
ActionScript在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口,具体接口如下:
URLRequest(url:String=null)
其中,参数url:String标示传入的URL地址或者本地路径。对于本文则是LUA文件的URL地址。
4、调用Loader实例的接口来loader请求的SWF文件。
通过调用Loader的接口来加载SWF文件。具体接口如下:
load(request:URLRequest,context:LoaderContext=null)
其中参数request:URLRequest就是加载的请求对象,就是步骤3创建的URLRequest对象。
其中参数context:LoaderContext用来设置域信息,本文使用默认值空null。
5、编写回调函数swfLoadCompleteHandler。
编写回调函数swfLoadCompleteHandle,此函数即是上面调用的注册完成事件填入的回调函数。
当文件加载完成后,会调用该回调函数,通过回调函数调用LUA脚本文件。具体如下:
首先定义一个varlua:LuaAlchemy=new LuaAlchemy();在FLash中调用LUA的组件。
然后设置LUA的执行上下文为当前类的上下文。
lua.setGlobal("this",this);
若对服务器对LUA脚本文件进行了加密,还所以在下载完成后可以使用对应的解密算法解密LUA脚本文件,
Decode(swfLoader.data);
最后调用组件的接口执行所述LUA脚本文件,lua.doString(swfLoader.data);实现从服务器下载LUA文件来执行对视频流地址的鉴权。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图3示意性示出了本发明一个实施例的视频播放的权限校验装置的结构示意图。参照图3,本发明实施例的视频播放的权限校验装置具体包括接收模块301、第一生成模块302、第二生成模块303、发送模块304以及播放模块305,其中:
所述的接收模块301,用于接收服务器发送的LUA脚本文件。
所述的第一生成模块302,用于生成待请求视频流地址的客户端的校验信息。其中,所述校验信息包括客户端随机字符串和客户端信息;所述客户端信息包括用户信息和直播服务器返回的Token值,所述用户信息包括客户端的设备标识、客户端的IP地址、直播间ID和/或生成所述校验信息的时间。
所述的第二生成模块303,用于执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
所述的发送模块304,用于向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址;
所述的播放模块305,用于接收所述服务器返回的所述视频流地址。
在本发明的一个可选实施例中,所述装置还包括附图中未示出的加密模块,所述的加密模块,用于在所述向所述服务器发送视频流地址请求消息之前,对所述客户端请求校验码以及所述校验信息进行加密。相应的,所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息,以供所述服务器在根据约定秘钥进行解密后,采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密操作。
在本发明的一个可选实施例中,如图4所示,所述装置还包括配置模块300,所述的配置模块300,用于在所述接收服务器发送的LUA脚本文件之前,在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
进一步地,所述配置模块300,包括类创建单元、接口创建单元和注册单元,其中:所述的类创建单元,用于通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;所述的接口创建单元,用于通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;所述的注册单元,用于在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
此外,本发明另一实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述电子设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:接收服务器发送的LUA脚本文件;生成待请求视频流地址的客户端的校验信息;执行LUA脚本文件,根据LUA脚本文件对校验信息进行加密,生成客户端请求校验码;向服务器发送视频流地址请求消息,视频流地址请求消息中携带有客户端请求校验码以及校验信息,以供服务器采用对应的加密算法对校验信息进行加密,生成服务器校验码,若服务器校验码与客户端请求校验码一致,则服务器返回所请求的视频流地址;接收视频流地址,并根据视频流地址获取视频内容以进行视频播放。
本发明实施例提供的视频播放的权限校验方法及装置,通过使用LUA脚本文件实现对视频流地址的鉴权,由于LUA是一种脚本语言,不需要编译可以直接执行,可以通过频繁的对LUA脚本文件的更新,实现对视频流地址鉴权方式的更新,增加鉴权过程中加密算法的破解难度,从而能够有效地实现对视频流地址的鉴权验证,进而视频播放的权限校验,提高视频直播过程的安全性,提升用户体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种视频播放的权限校验方法,其特征在于,包括:
接收服务器发送的LUA脚本文件;
生成待请求视频流地址的客户端的校验信息;
执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址;
接收所述服务器返回的所述视频流地址。
2.根据权利要求1所述的方法,其特征在于,在所述向所述服务器发送视频流地址请求消息之前,所述方法还包括:
对所述客户端请求校验码以及所述校验信息进行加密;
所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。
3.根据权利要求1所述的方法,其特征在于,在所述接收服务器发送的LUA脚本文件之前,所述方法还包括:
在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
4.根据权利要求3所述的方法,其特征在于,所述在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口,包括:
通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;
通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;
在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
5.根据权利要求4所述的方法,其特征在于,所述LUA脚本文件为服务器加密后的文件;
在所述通过调用所述回调函数执行所述LUA脚本文件之前,所述方法还包括:
采用与服务器侧的加密算法相对应的解密算法对所述LUA脚本文件进行数据解密。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述校验信息包括客户端随机字符串和客户端信息;
所述客户端信息包括用户信息和直播服务器返回的Token值,所述用户信息包括客户端的设备标识、客户端的IP地址、直播间ID和/或生成所述校验信息的时间。
7.一种视频播放的权限校验装置,其特征在于,包括:
接收模块,用于接收服务器发送的LUA脚本文件;
第一生成模块,用于生成待请求视频流地址的客户端的校验信息;
第二生成模块,用于执行所述LUA脚本文件,根据所述LUA脚本文件对所述校验信息进行加密,生成视频流地址的客户端请求校验码;
发送模块,用于向所述服务器发送视频流地址请求消息,所述视频流地址请求消息中携带有所述客户端请求校验码以及所述校验信息,以供所述服务器采用与所述LUA脚本文件对应的加密算法对所述校验信息进行加密,生成服务器校验码,若所述服务器校验码与所述客户端请求校验码一致,则确定权限校验成功,所述服务器返回所请求的视频流地址;
播放模块,用于接收所述服务器返回的所述视频流地址。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
加密模块,用于在所述向所述服务器发送视频流地址请求消息之前,对所述客户端请求校验码以及所述校验信息进行加密;
所述视频流地址请求消息中携带的客户端请求校验码和校验信息为加密后的客户端请求校验码和校验信息。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
配置模块,用于在所述接收服务器发送的LUA脚本文件之前,在客户端播放进程中设置用于执行所述LUA脚本文件的调用接口。
10.根据权利要求9所述的装置,其特征在于,所述配置模块,包括:
类创建单元,用于通过动作脚本Action Script在客户端播放进程中创建用于加载所述LUA脚本文件的Loader类;
接口创建单元,用于通过动作脚本Action Script在所述Loader类中创建用于获取所述LUA脚本文件的地址请求接口;
注册单元,用于在Loader类中添加事件注册接口,通过所述事件注册接口注册回调函数,当所述LUA脚本文件加载完成后,通过调用所述回调函数执行所述LUA脚本文件,所述回调函数的关联事件为LUA脚本文件加载完成事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710160265.1A CN107094261A (zh) | 2017-03-17 | 2017-03-17 | 视频播放的权限校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710160265.1A CN107094261A (zh) | 2017-03-17 | 2017-03-17 | 视频播放的权限校验方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107094261A true CN107094261A (zh) | 2017-08-25 |
Family
ID=59648878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710160265.1A Pending CN107094261A (zh) | 2017-03-17 | 2017-03-17 | 视频播放的权限校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107094261A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801059A (zh) * | 2017-09-26 | 2018-03-13 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及服务器 |
CN108235067A (zh) * | 2018-01-04 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
CN108307211A (zh) * | 2018-01-05 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种视频流地址鉴权方法、存储介质、设备及系统 |
CN108307246A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种计算直播间人气的方法、存储介质、设备及系统 |
CN108769067A (zh) * | 2018-06-28 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种鉴权校验方法、装置、设备和介质 |
CN108769749A (zh) * | 2018-04-13 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种确定盗刷数据的方法、客户端及服务器 |
WO2019041627A1 (zh) * | 2017-08-30 | 2019-03-07 | 武汉斗鱼网络科技有限公司 | 一种视频流地址检测方法、装置、服务器及计算机可读介质 |
CN110011950A (zh) * | 2018-01-04 | 2019-07-12 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
CN110896489A (zh) * | 2019-11-18 | 2020-03-20 | 北京蜜莱坞网络科技有限公司 | 一种鉴权方法、装置、设备及存储介质 |
CN111046449A (zh) * | 2020-03-16 | 2020-04-21 | 杭州海康威视数字技术股份有限公司 | 数据显示控制方法、装置及电子设备 |
CN112261040A (zh) * | 2020-10-21 | 2021-01-22 | 厦门悦讯信息科技股份有限公司 | 一种在线音视频防盗方法及系统 |
CN113365097A (zh) * | 2021-08-10 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
CN113542812A (zh) * | 2021-06-01 | 2021-10-22 | 天翼物联科技有限公司 | 一种视频流安全分享方法、系统、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546179A (zh) * | 2011-12-31 | 2012-07-04 | 珠海市君天电子科技有限公司 | 一种服务器端和客户端之间的身份验证方法 |
CN102624931A (zh) * | 2012-04-21 | 2012-08-01 | 华为技术有限公司 | Web客户端与服务器交互的方法、装置及系统 |
CN103209158A (zh) * | 2012-01-12 | 2013-07-17 | 深圳市宇初网络技术有限公司 | 一种第三方验证方法以及系统 |
CN105471902A (zh) * | 2015-12-29 | 2016-04-06 | 深圳市瑞铭无限科技有限公司 | 基于下发加密算法的数据加密方法和系统 |
CN106028064A (zh) * | 2016-06-24 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 一种直播视频流播放地址权限校验方法及系统 |
CN106210775A (zh) * | 2016-08-26 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种视频加密的方法、摄像装置和视频处理平台 |
-
2017
- 2017-03-17 CN CN201710160265.1A patent/CN107094261A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546179A (zh) * | 2011-12-31 | 2012-07-04 | 珠海市君天电子科技有限公司 | 一种服务器端和客户端之间的身份验证方法 |
CN103209158A (zh) * | 2012-01-12 | 2013-07-17 | 深圳市宇初网络技术有限公司 | 一种第三方验证方法以及系统 |
CN102624931A (zh) * | 2012-04-21 | 2012-08-01 | 华为技术有限公司 | Web客户端与服务器交互的方法、装置及系统 |
CN105471902A (zh) * | 2015-12-29 | 2016-04-06 | 深圳市瑞铭无限科技有限公司 | 基于下发加密算法的数据加密方法和系统 |
CN106028064A (zh) * | 2016-06-24 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 一种直播视频流播放地址权限校验方法及系统 |
CN106210775A (zh) * | 2016-08-26 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种视频加密的方法、摄像装置和视频处理平台 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019041627A1 (zh) * | 2017-08-30 | 2019-03-07 | 武汉斗鱼网络科技有限公司 | 一种视频流地址检测方法、装置、服务器及计算机可读介质 |
CN107801059B (zh) * | 2017-09-26 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及服务器 |
CN107801059A (zh) * | 2017-09-26 | 2018-03-13 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及服务器 |
CN110011950A (zh) * | 2018-01-04 | 2019-07-12 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
CN108235067A (zh) * | 2018-01-04 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
CN110011950B (zh) * | 2018-01-04 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
CN108307211A (zh) * | 2018-01-05 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种视频流地址鉴权方法、存储介质、设备及系统 |
CN108307211B (zh) * | 2018-01-05 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种视频流地址鉴权方法、存储介质、设备及系统 |
WO2019134275A1 (zh) * | 2018-01-05 | 2019-07-11 | 武汉斗鱼网络科技有限公司 | 一种视频流地址鉴权方法、存储介质、设备及系统 |
CN108307246A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种计算直播间人气的方法、存储介质、设备及系统 |
CN108307246B (zh) * | 2018-01-09 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种计算直播间人气的方法、存储介质、设备及系统 |
CN108769749A (zh) * | 2018-04-13 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种确定盗刷数据的方法、客户端及服务器 |
CN108769749B (zh) * | 2018-04-13 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种确定盗刷数据的方法、客户端及服务器 |
CN108769067A (zh) * | 2018-06-28 | 2018-11-06 | 武汉斗鱼网络科技有限公司 | 一种鉴权校验方法、装置、设备和介质 |
CN108769067B (zh) * | 2018-06-28 | 2021-03-16 | 武汉斗鱼网络科技有限公司 | 一种鉴权校验方法、装置、设备和介质 |
CN110896489A (zh) * | 2019-11-18 | 2020-03-20 | 北京蜜莱坞网络科技有限公司 | 一种鉴权方法、装置、设备及存储介质 |
CN110896489B (zh) * | 2019-11-18 | 2021-08-27 | 北京蜜莱坞网络科技有限公司 | 一种鉴权方法、装置、设备及存储介质 |
CN111046449B (zh) * | 2020-03-16 | 2021-01-26 | 杭州海康威视数字技术股份有限公司 | 数据显示控制方法、装置及电子设备 |
CN111046449A (zh) * | 2020-03-16 | 2020-04-21 | 杭州海康威视数字技术股份有限公司 | 数据显示控制方法、装置及电子设备 |
CN112261040A (zh) * | 2020-10-21 | 2021-01-22 | 厦门悦讯信息科技股份有限公司 | 一种在线音视频防盗方法及系统 |
CN113542812A (zh) * | 2021-06-01 | 2021-10-22 | 天翼物联科技有限公司 | 一种视频流安全分享方法、系统、装置及存储介质 |
CN113542812B (zh) * | 2021-06-01 | 2023-09-29 | 天翼物联科技有限公司 | 一种视频流安全分享方法、系统、装置及存储介质 |
CN113365097A (zh) * | 2021-08-10 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
CN113365097B (zh) * | 2021-08-10 | 2021-12-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107094261A (zh) | 视频播放的权限校验方法及装置 | |
CN110036613B (zh) | 提供用于去中心化应用的身份认证的系统和方法 | |
JP6924739B2 (ja) | オフライン暗号文単独攻撃の緩和 | |
CN102682233B (zh) | 用于受保护内容的可缩放分发的方法和系统 | |
CN107040799A (zh) | 视频播放的权限校验方法及装置 | |
US20190037406A1 (en) | Method, system and application programmable interface within a mobile device for indicating a confidence level of the integrity of sources of information | |
CN106993201A (zh) | 视频播放的权限校验方法及装置 | |
CN109618341A (zh) | 一种数字签名认证方法、系统、装置以及存储介质 | |
CN113268715A (zh) | 软件加密方法、装置、设备及存储介质 | |
CN103927464A (zh) | 共同验证方法、二维码生成方法、设备和系统 | |
CN102611692A (zh) | 多承租人数据中心中的安全计算 | |
CN107733883B (zh) | 一种检测批量注册账号的方法及装置 | |
CN103997681A (zh) | 对视频直播进行防盗链处理的方法及其系统 | |
US20170171166A1 (en) | Anti-hotlinking method and electronic device | |
CN107145769A (zh) | 一种数字版权管理drm方法、设备及系统 | |
CN108431819B (zh) | 保护客户端访问视频播放器的drm代理的服务的方法和系统 | |
CN106663268A (zh) | 具有临时匿名身份的平台身份架构 | |
CN111934873A (zh) | 一种投标文件加解密方法及装置 | |
CN104320265A (zh) | 用于软件平台的认证方法和认证装置 | |
CN106331042A (zh) | 一种异构用户系统的单点登录方法及其装置 | |
CN108566374A (zh) | 一种应用下载方法及其系统、区块链节点设备、终端 | |
CN110012317A (zh) | 一种视频获取方法及装置、一种视频加密方法及装置 | |
CN109743338A (zh) | 一种自动登陆的验证方法、系统、服务器及可读存储介质 | |
CN112261040B (zh) | 一种在线音视频防盗方法及系统 | |
CN115567297A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170825 |