流媒体的防盗链方法、设备以及系统的制作方法_2

文档序号:9754603阅读:来源:国知局
的请求,相应的,Web服务器接收客户端发送的获取流媒体链接的请求。其中,获取流媒体链接的请求中包括用于校验客户端合法性的第一字段。
[0027]第一字段包括客户端的包名和与包名对应的第一密钥;第一密钥根据客户端的包名生成并被提供给客户端和Web服务器。客户端的包名(Bundle Identifier)具有唯一性,第一密钥例如可以是根据客户端包名随机生成32位唯一的密钥并与客户端的包名唯一对应。例如可以由管理员将第一密钥提供给客户端同时录入到Web服务器侧的数据库中。
[0028]其中,流媒体链接例如为RSTP的链接URL。
[0029]步骤S104,Web服务器根据获取流媒体链接的请求中的第一字段校验客户端的合法性,如果客户端合法,则执行步骤S106。
[0030]其中,Web服务器将数据库中存储的客户端的包名和第一密钥与获取流媒体链接的请求中的客户端的包名和第一密钥一一比对,验证客户端的合法性。
[0031]步骤S106,Web服务器生成第二字段,向客户端发送包括第二字段的流媒体链接,并向媒体服务器发送包括第二字段的通知消息,以便媒体服务器基于第二字段校验客户端的合法性。
[0032]其中,第二字段包括第二密钥和/或超期时间。第二密钥例如由Web服务器根据当前的时间戳和随机数生成32位唯一随机密钥。Web服务器向媒体服务器发送的通知消息中还包括网络摄像头唯一标识码,网络摄像头唯一标识码与第二字段对应。当然,Web服务器也可以在向媒体服务器发送的通知消息中携带其他可以唯一标识客户端本身或客户端要访问的媒体资源的标识码,以便媒体服务器将该标识码与第二字段对应从而校验客户端的合法性。
[0033]在一个实施例中,第二字段中的超期时间具有以下作用:一、Web服务器通过流媒体链接中超期时间通知客户端流媒体链接的有效期。二、媒体服务器存储网络摄像头唯一标识码对应的第二密钥和超期时间,进行周期性循环遍历,将超过超期时间的第二密钥删除。三、不同的客户端可以配置不同的超期时间,媒体服务器基于第二字段校验客户端的合法性时可以将超期时间也作为一项验证依据。
[0034]步骤S108,客户端通过流媒体链接向媒体服务器发送流媒体资源访问请求,相应的,媒体服务器接收客户端通过流媒体链接发送的流媒体资源访问请求。流媒体链接中包括第二字段。
[0035]步骤SI10,媒体服务器根据第二字段校验客户端的合法性,如果客户端合法,则执行步骤SI 12。
[0036]在一个实施例中,媒体服务器将流媒体链接中的网络摄像头唯一标识码、第二密钥和超期时间与Web服务器发送的通知消息中的网络摄像头唯一标识码、第二密钥和超期时间一一进行比对,如果相同则认为该客户端合法。
[0037]步骤S112,客户端获得访问流媒体资源的权限,访问对相应的流媒体资源。
[0038]上述实施例的方法中在客户端获取流媒体链接时进行一次校验,在客户端访问流媒体资源时进行第二次校验,提高了系统的安全性,防止服务端被伪造的客户端攻击和非法接入,同时消除服务端的流媒体资源被非法盗链的风险。
[0039]下面结合图2对本发明流媒体的防盗链方法的一个具体实施例进行描述。
[0040]图2为本发明流媒体的防盗链方法另一个实施例的流程图。如图2所示,该实施例的方法包括:
[0041]步骤S202,根据客户端的唯一包名生成包名唯一对应的第一密钥,并将第一密钥返回给客户端,同时将包名和对应的第一密钥录入Web服务器侧的数据库。
[0042]其中,上述过程例如可以由管理员进行操作,如果管理员获知第一密钥泄露,可以为客户端重新生成新的第一密钥,同时通知客户端并对Web服务器侧的数据库进行更新。其中数据库可以独立设置用于存储客户端相关信息,供Web服务器和媒体服务器查询和存储使用,也可以设置于Web服务器和媒体服务中。
[0043]步骤S204,客户端向Web服务器发送获取流媒体链接的请求,该请求中包括客户端的包名和与包名对应的第一密钥。
[0044]一种示例性的实施方式:客户端向Web服务器发送获取流媒体链接的请求采用SOAP (Simp Ie Object Access Protocol,简单对象访问协议)信令,客户端在向Web服务器发送获取流媒体链接的请求之前将AppKey (表示第一字段)和AppName (表示包名)字段加入SOAP的消息头节点中。移动客户端的唯一包名假设为com.zjxcgssxkj.megaeyes,该包名由所在平台底层生成,具有唯一性。包名对应第一密钥为el0adc3949ba59abbe56e057f 20f883e,则移动客户端在请求消息的SOAP的消息头中需要加入两个节点:
[0045]<AppKey>el0adc3949ba59abbe56e057f20f883e
[0046]</AppKeyXAppName>com.zjxcgssxkj.megaeyes</AppName>
[0047]步骤S206,Web服务器根据获取流媒体链接的请求中的包名和与第一密钥校验客户端的合法性,如果客户端合法,则执行步骤S208。
[0048]其中,Web服务端接收到来自客户端的获取流媒体链接的请求消息,校验消息头中的AppKey和AppName节点,与数据库做匹配查询操作,针对不配对的消息返回错误,拒绝接入。
[0049]步骤S208,Web服务器生成第二密钥和对应的超期时间,向客户端发送包括第二密钥和对应的超期时间流媒体链接,并向媒体服务器发送包括网络摄像头唯一标识码,对应的第二密钥和超期时间通知消息。
[0050]—种示例性的实施方法:Web服务器将第二密钥和对应的超期时间一起作为特定字段加入RTSP链接URL中,RTSP链接URL的格式为:
[0051 ] rtsp://122.224.82.77:554/service?PuId-ChannelNo = 123123000100000061-01&PlayMethod = 0&StreamingType = I &UserId = 123123200000040001 &NetType = l&ExpireTime = 20150101080000&HashToken = b83708276a25fa6fdea2dfd422a4c08e,将包含网络摄像头唯一识别码(PuId-ChanneINo),超期时间(Expire Time),第二密钥(HashToken)的通知消息发送给媒体服务器,同时将生成的RTSP链接URL返回给客户端。
[0052]步骤S210,媒体服务器接收Web服务器发送的通知消息,存储网络摄像头唯一标识码对应的第二密钥和超期时间,进行周期性循环遍历,将超过超期时间的第二密钥删除。
[0053]步骤S212,客户端通过流媒体链接向媒体服务器发送流媒体资源访问请求,流媒体链接中包括第二密钥和超期时间。
[0054]步骤S214,媒体服务器根据流媒体链接中的第二密钥和超期时间校验客户端的合法性,如果客户端合法
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1