一种直播视频流播放地址权限校验方法及系统的制作方法

文档序号:10661371阅读:484来源:国知局
一种直播视频流播放地址权限校验方法及系统的制作方法
【专利摘要】本发明公开了一种直播视频流播放地址权限校验方法,涉及直播视频流播放技术领域,包括用户进入视频直播房间点播视频时,服务器根据视频播放请求生成令牌token、包含token的验证字符wsAuth以及包含wsAuth的播放地址并发送给客户端,客户端将包含wsAuth的播放地址发送至CDN厂商服务端;CDN厂商服务端验证wsAuth是否正确并校验服务器上是否存在token;均校验通过,CDN厂商服务端发送视频流资源至客户端;校验不通过,CDN厂商服务端返回客户端视频播放错误。本发明可准确判断直播视频流播放地址是否为有视频直播提供方的授权,有效防止盗链。本发明公开了一种直播视频流播放地址权限校验系统。
【专利说明】
一种直播视频流播放地址权限校验方法及系统
技术领域
[0001]本发明涉及直播视频流播放技术领域,具体涉及一种直播视频流播放地址权限校验方法及系统。【背景技术】
[0002]视频直播是利用互联网及流媒体技术进行直播,然而视频直播的提供方常常面临盗链视频流地址的现象,即通过一定的技术手段,破解网络视频播放器里面的视频流地址, 然后通过第三方的播放器来直接播放该视频流地址,即绕过视频直播提供方的网络播放器直接播放该视频的行为。盗链侵犯视频直播提供方的权益,还会给用户带来个人信息泄露的风险,从而给个人财产带来安全隐患。因此亟需一种直播视频流播放地址权限校验方法, 准确判断直播视频流播放地址是否为有视频直播提供方的授权,及判断直播视频流播放地址是否为盗链,并对盗链播放地址作出处理。
【发明内容】

[0003]针对现有技术中存在的缺陷,本发明的目的在于提供一种直播视频流播放地址权限校验方法及系统,准确判断直播视频流播放地址是否为有视频直播提供方的授权,有效防止盗链。
[0004]为达到以上目的,本发明采取的技术方案是:一种直播视频流播放地址权限校验方法,用户进入视频直播房间点播视频时,服务器根据视频播放请求生成令牌token、包含 token的验证字符wsAuth以及包含wsAuth的播放地址,并且将播放地址发送给客户端,客户端将包含wsAuth的播放地址发送至内容分发网络CDN厂商服务端;CDN厂商服务端验证 wsAuth是否正确,并校验服务器上是否存在token;均校验通过,⑶N厂商服务端发送视频流资源至客户端;校验不通过,⑶N厂商服务端返回客户端,视频播放错误。
[0005]在上述技术方案的基础上,包括以下步骤:
[0006]S1,用户进入视频直播房间点播视频,客户端发送视频播放请求至服务器;[〇〇〇7] S2,服务器根据视频播放请求查询相应的用户信息和视频直播房间信息,并根据视频播放请求、用户信息、视频直播房间信息和令牌加密规则生成token,并将token写入服务器数据库中;
[0008]S3,服务器根据视频播放请求及验证字符加密规则生成包含token的wsAuth;进而生成包含wsAuth的播放地址并发将播放地址送至客户端;
[0009]S4,客户端接收包含wsAuth的播放地址并发送至对应的⑶N厂商服务端,CDN厂商服务端根据客户端发送的播放地址及验证字符加密规则生成新验证字符wsAuth’;
[0010]S5,CDN厂商服务端校验wsAuth与wsAuth ’是否一致;若一致,进入步骤S6;若不一致,进入步骤S8;
[0011]S6,⑶N厂商服务端访问服务器并校验服务器数据库中是否存在客户端发送的播放地址中包含的token;若存在,进入步骤S7;若不存在,进入步骤S8;
[0012]S7,服务器删除通过校验后的token,⑶N厂商服务端发送视频流资源至客户端,视频直播房间的用户成功播放视频,结束;[0013 ]S8,CDN厂商服务端返回客户端,视频播放错误,结束。
[0014]在上述技术方案的基础上,令牌加密规则为:
[0015]token = source-uid-roomId-md5( {source-uid-roomld} {IP} {key} {随机数}}), 其中source为视频播放请求来源,uid为访问视频直播房间的用户的账号,roomld为从视频直播房间信息中提取的访问视频直播房间的房间号,ip为访问视频直播房间的用户的IP地址,key为服务器与⑶N厂商服务端约定的密钥。
[0016] 在上述技术方案的基础上,验证字符加密规则为:wsAuth = md5 ( {1 i ve id} # {token}#{logo}#{expire}#{key}),其中liveid为从视频播放请求中提取的播放流名, logo为从视频播放请求中提取的视频是否加水印,expire为服务器设定的wsAuth有效时间。[0〇17]在上述技术方案的基础上,步骤S4中生成wsAuth’的过程为:CDN厂商服务端从客户端发送的播放地址中提取liveid、token、logo和expire的值,根据⑶N厂商服务端自留的 key以及验证字符加密规则生成wsAuth ’。
[0018]在上述技术方案的基础上,logo值为1表示加水印,为0表示不加水印。
[0019]本发明还公开了一种直播视频流播放地址权限校验系统,包括:客户端、服务器和 CDN厂商服务端,其中:[0〇2〇]客户端用于接收服务器发送的包含wsAuth的播放地址;将包含wsAuth的播放地址发送至⑶N厂商服务端;接收⑶N厂商服务端发送的校验结果并显示;
[0021]服务器用于接收客户端发送的视频播放请求;根据视频播放请求查询相应的用户信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播房间信息以及令牌加密规则生成令牌token、包含token的验证字符wsAuth,以及包含wsAuth的播放地址,并且将播放地址发送给客户端;[〇〇22]⑶N厂商服务端用于接收客户端发送的包含wsAuth的播放地址;校验客户端发送的wsAuth是否正确;校验服务器数据库中是否存在客户端发送的播放地址中包含的token; 并将校验结果发送至客户端。
[0023]在上述技术方案的基础上,所述客户端包括:
[0024]播放请求发送单元,用于发送视频播放请求至服务器;[0〇25]播放地址接收与发送单元,用于接收服务器发送的包含wsAuth的播放地址;将包含wsAuth的播放地址发送至⑶N厂商服务端;[〇〇26]校验结果接收与显示单元,用于接收CDN厂商服务端发送的校验结果并显示。
[0027]在上述技术方案的基础上,所述服务器包括:[0〇28]token生成与管理单元,用于接收客户端发送的视频播放请求;根据视频播放请求查询相应的用户信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播房间信息以及令牌加密规则生成令牌token并将token写入服务器数据库中;⑶N对token的校验完成后,删除服务器数据库中的token;[〇〇29]播放地址生成与发送单元,用于根据视频播放请求及验证字符加密规则生成包含 token的验证字符wsAuth;进而生成包含wsAuth的播放地址并发送至客户端;
[0030]在上述技术方案的基础上,所述⑶N厂商服务端包括:[0〇31 ]wsAuth’生成单元,用于接收客户端发送的包含wsAuth的播放地址;并根据客户端发送的播放地址及验证字符加密规则生成wsAuth’ ;
[0032]校验单元,用于校验客户端发送的wsAuth与wsAuth’生成单元生成的wsAuth’是否一致,以及访问服务器并校验服务器数据库中是否存在客户端发送的播放地址中包含的 token;
[0033]结果发送单元,用于将校验单元的校验结果发送至客户端。
[0034]与现有技术相比,本发明的优点在于:[0〇35]服务器根据客户端的视频播放请求生成token和包含token的wsAuth,由⑶N厂商服务端校验wsAuth是否正确并校验服务器上是否存在token;均校验通过,CDN厂商服务端才会发送视频流资源至客户端;校验不通过,CDN厂商服务端返回客户端视频不能播放,可准确判断直播视频流播放地址是否为有视频直播提供方的授权,有效防止盗链。【附图说明】
[0036]图1为本发明实施例中直播视频流播放地址权限校验方法的流程示意图;
[0037]图2为本发明实施例中直播视频流播放地址权限校验系统的结构示意图。
[0038]图中:1-客户端,11-播放请求发送单元,12-播放地址接收与发送单元,13-校验结果接收与显示单元,2-服务器,21-token生成与管理单元,22-播放地址生成与发送单元,3-⑶N厂商服务端,31-wsAuth ’生成单元,32-校验单元,33-结果发送单元。【具体实施方式】[〇〇39]以下结合附图及实施例对本发明作进一步详细说明。
[0040]参见图1所示,本发明实施例提供一种直播视频流播放地址权限校验方法,服务器 2根据视频播放请求生成令牌token、包含token的验证字符wsAuth以及包含wsAuth的播放地址,并且将播放地址发送给客户端1,客户端1将包含wsAuth的播放地址发送至内容分发网络CDN厂商服务端3 ;CDN厂商服务端3验证wsAuth是否正确并校验服务器2上是否存在 token;均校验通过,CDN厂商服务端3发送视频流资源至客户端1;校验不通过,CDN厂商服务端3返回客户端1视频播放错误。
[0041]具体包括以下步骤:
[0042]S1,用户进入视频直播房间点播视频,视频直播播放客户端1发送视频播放请求至服务器2;
[0043]S2,服务器2根据视频播放请求查询相应的用户信息和视频直播房间信息,并根据视频播放请求、用户信息和视频直播房间信息以及令牌加密规则生成token并写入服务器2 数据库中;令牌加密规则为1:〇1^11 = 80111'。6-111(1-1'001111(1-111(15({80111'。6-111(1-1'001111(1}{1?} {key} {随机数}}),其中source为视频播放请求来源,uid为访问视频直播房间的用户的账号,roomld为从视频直播房间信息中提取的访问视频直播房间的房间号,ip为访问视频直播房间的用户的IP地址,key为服务器2与⑶N厂商服务端3约定的密钥。md5为一种加密算法。[〇〇44]S3,服务器2根据视频播放请求及验证字符加密规则生成包含token的wsAuth;进而生成包含wsAuth的播放地址并发送至客户端1;验证字符加密规则为wsAuth = md5 ({liveid}#{token}#{logo}#{expire}#{key}),其中liveid为从视频播放请求中提取的播放流名,logo为从视频播放请求中提取的是否加水印,expire为服务器2设定的wsAuth有效时间,key为服务器2与⑶N厂商服务端3约定的密钥。liveid中的播放流名不包含.flv。logo 为1是加水印,为0是不加水印。md5为一种加密算法。[〇〇45]S4,客户端1接收包含wsAuth的播放地址并发送至对应的内容分发网络⑶N厂商服务端3,⑶N厂商服务端3根据客户端1发送的播放地址及验证字符加密规则生成新验证字符 wsAuth’;其中,CDN厂商服务端3根据客户端1发送的播放地址及验证字符加密规则生成 wsAuth ’的过程为:⑶N厂商服务端3从客户端1发送的播放地址中提取1 iveid和token值,根据CDN厂商服务端3自留的key以及验证字符加密规则生成wsAuth’ ;[OO46]S5,Q)N厂商服务端3校验wsAuth与wsAuth ’是否一致;若一致,进入步骤S6;若不一致,进入步骤S8;[〇〇47]S6,CDN厂商服务端3访问服务器2并校验服务器2数据库中是否存在客户端1发送的播放地址中包含的token;若存在,进入步骤S7;若不存在,进入步骤S8;[〇〇48]S7,服务器2删除通过校验后的token,⑶N厂商服务端3发送视频流资源至客户端1,视频直播房间的用户成功播放视频,结束;
[0049]S8,⑶N厂商服务端3返回客户端1视频播放错误,结束。[0〇5〇]服务器2根据客户端1的视频播放请求生成token和包含token的wsAuth,由CDN厂商服务端3校验wsAuth是否正确并校验服务器2上是否存在token;均校验通过,CDN厂商服务端3才会发送视频流资源至客户端1;校验不通过,⑶N厂商服务端3返回客户端1视频不能播放,可准确判断直播视频流播放地址是否为有视频直播提供方的授权,有效防止盗链。
[0051]参见图2所示,本发明还公开了一种基于直播视频流播放地址权限校验方法的直播视频流播放地址权限校验系统,包括:客户端1、服务器2和⑶N厂商服务端3,其中:[0〇52]客户端1用于接收服务器2发送的包含wsAuth的播放地址;将包含wsAuth的播放地址发送至⑶N厂商服务端3;接收⑶N厂商服务端3发送的校验结果并显示;[〇〇53]服务器2用于接收客户端1发送的视频播放请求;根据视频播放请求查询相应的用户信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播房间信息以及令牌加密规则生成令牌token、包含token的验证字符wsAuth以及包含wsAuth的播放地址,并且将播放地址发送给客户端1;[〇〇54]⑶N厂商服务端3用于接收客户端1发送的包含wsAuth的播放地址;校验客户端1发送的wsAuth是否正确;校验服务器2数据库中是否存在客户端1发送的播放地址中包含的 token;将校验结果发送至客户端1。[〇〇55]客户端1包括:
[0056]播放请求发送单元11,用于发送视频播放请求至服务器2;[0〇57]播放地址接收与发送单元12,用于接收服务器2发送的包含wsAuth的播放地址;将包含wsAuth的播放地址发送至⑶N厂商服务端3;[〇〇58]校验结果接收与显示单元13,用于接收CDN厂商服务端3发送的校验结果并显示出来;
[0059]服务器2包括:
[0060]token生成与管理单元21,用于接收客户端1发送的视频播放请求;根据视频播放请求查询相应的用户信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播房间信息以及令牌加密规则生成令牌token并将token写入服务器2数据库中;CDN对token 的校验完成后,删除服务器2数据库中的token;
[0061]播放地址生成与发送单元22,用于根据视频播放请求及验证字符加密规则生成包含token的验证字符wsAuth;进而生成包含wsAuth的播放地址并发送至客户端1;[〇〇62]⑶N厂商服务端3包括:[0〇63]wsAuth’生成单元31,用于接收客户端1发送的包含wsAuth的播放地址;并根据客户端1发送的播放地址及验证字符加密规则生成wsAuth’ ;[0〇64]校验单元32,用于接收客户端1发送的包含wsAuth的播放地址;校验客户端1发送的wsAuth与wsAuth’生成单元31生成的wsAuth’是否一致;访问服务器2并校验服务器2数据库中是否存在客户端1发送的播放地址中包含的token;[0〇65]结果发送单元33,用于将wsAuth’校验单元32和token校验单元33的校验结果分别发送至客户端1。
[0066]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种直播视频流播放地址权限校验方法,其特征在于:用户进入视频直播房间点播 视频时,服务器(2)根据视频播放请求生成令牌token、包含token的验证字符wsAuth以及包 含wsAuth的播放地址,并且将播放地址发送给客户端(1),客户端(1)将包含wsAuth的播放 地址发送至内容分发网络CDN厂商服务端(3);CDN厂商服务端(3)验证wsAuth是否正确,并 校验服务器(2)上是否存在token;均校验通过,CDN厂商服务端(3)发送视频流资源至客户 端(1);校验不通过,CDN厂商服务端(3)返回客户端(1),视频播放错误。2.如权利要求1所述的一种直播视频流播放地址权限校验方法,其特征在于:包括以下 步骤:S1,用户进入视频直播房间点播视频,客户端(1)发送视频播放请求至服务器(2);52,服务器(2)根据视频播放请求查询相应的用户信息和视频直播房间信息,并根据视 频播放请求、用户信息、视频直播房间信息和令牌加密规则生成token,并将token写入服务 器(2)数据库中;53,服务器(2)根据视频播放请求及验证字符加密规则生成包含token的wsAuth;进而 生成包含wsAuth的播放地址并发将播放地址送至客户端(1);54,客户端(1)接收包含wsAuth的播放地址并发送至对应的⑶N厂商服务端(3),⑶N厂 商服务端(3)根据客户端(1)发送的播放地址及验证字符加密规则生成新验证字符 wsAuth’;S5,CDN厂商服务端(3)校验wsAuth与wsAuth ’是否一致;若一致,进入步骤S6;若不一 致,进入步骤S8;S6,CDN厂商服务端(3)访问服务器(2)并校验服务器(2)数据库中是否存在客户端(1) 发送的播放地址中包含的token;若存在,进入步骤S7;若不存在,进入步骤S8;S7,服务器(2)删除通过校验后的token,⑶N厂商服务端(3)发送视频流资源至客户端 (1 ),视频直播房间的用户成功播放视频,结束;S8,CDN厂商服务端(3)返回客户端(1),视频播放错误,结束。3.如权利要求2所述的一种直播视频流播放地址权限校验方法,其特征在于,令牌加密 规则为:token = source-uid-roomId-md5( {source-uid-roomld} {IP} {key} {随机数}}),其中 source为视频播放请求来源,uid为访问视频直播房间的用户的账号,roomld为从视频直播 房间信息中提取的访问视频直播房间的房间号,ip为访问视频直播房间的用户的IP地址, key为服务器(2)与CDN厂商服务端(3)约定的密钥。4.如权利要求3所述的一种直播视频流播放地址权限校验方法,其特征在于,验证字符 加密规则为:wsAuth=md5( {live id }#{ token }#{ logo }#{exp ire }#{ key }),其中 live id 为从视频播 放请求中提取的播放流名,logo为从视频播放请求中提取的视频是否加水印,expire为服 务器(2)设定的wsAuth有效时间。5.如权利要求4所述的一种直播视频流播放地址权限校验方法,其特征在于:步骤S4中 生成wsAuth’的过程为:CDN厂商服务端(3)从客户端(1)发送的播放地址中提取liveid、 token、logo和expire的值,根据CDN厂商服务端(3)自留的key以及验证字符加密规则生成 wsAuth’。6.如权利要求4所述的一种直播视频流播放地址权限校验方法,其特征在于:logo值 为1表示加水印,为0表示不加水印。7.—种直播视频流播放地址权限校验系统,其特征在于,包括:客户端(1)、服务器(2) 和CDN厂商服务端(3),其中:客户端(1)用于接收服务器(2)发送的包含wsAuth的播放地址;将包含wsAuth的播放地 址发送至⑶N厂商服务端(3);接收⑶N厂商服务端(3)发送的校验结果并显示;服务器(2)用于接收客户端发送的视频播放请求;根据视频播放请求查询相应的用户 信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播房间信息以及令牌加 密规则生成令牌token、包含token的验证字符wsAuth,以及包含wsAuth的播放地址,并且将 播放地址发送给客户端(1);CDN厂商服务端(3)用于接收客户端(1)发送的包含wsAuth的播放地址;校验客户端(1) 发送的wsAuth是否正确;校验服务器(2)数据库中是否存在客户端(1)发送的播放地址中包 含的token;并将校验结果发送至客户端(1)。8.如权利要求7所述一种直播视频流播放地址权限校验系统,其特征在于,所述客户端(1)包括:播放请求发送单元(11),用于发送视频播放请求至服务器(2);播放地址接收与发送单元(12),用于接收服务器(2)发送的包含wsAuth的播放地址;将 包含wsAuth的播放地址发送至⑶N厂商服务端(3);校验结果接收与显示单元(13),用于接收CDN厂商服务端(3)发送的校验结果并显示。9.如权利要求8所述一种直播视频流播放地址权限校验系统,其特征在于,所述服务器(2)包括:token生成与管理单元(21 ),用于接收客户端(1)发送的视频播放请求;根据视频播放 请求查询相应的用户信息和视频直播房间信息;根据视频播放请求、用户信息和视频直播 房间信息以及令牌加密规则生成令牌token并将token写入服务器(2)数据库中;CDN对 token的校验完成后,删除服务器(2)数据库中的token;播放地址生成与发送单元(22),用于根据视频播放请求及验证字符加密规则生成包含 token的验证字符wsAuth;进而生成包含wsAuth的播放地址并发送至客户端(1)。10.如权利要求9所述一种直播视频流播放地址权限校验系统,其特征在于:所述CDN厂 商服务端(3)包括:wsAuth’生成单元(31),用于接收客户端(1)发送的包含wsAuth的播放地址;并根据客 户端(1)发送的播放地址及验证字符加密规则生成wsAuth’ ;校验单元(32),用于校验客户端(1)发送的wsAuth与wsAuth’生成单元(31)生成的 wsAuth’是否一致,以及访问服务器(2)并校验服务器(2)数据库中是否存在客户端(1)发送 的播放地址中包含的token;结果发送单元(33 ),用于将校验单元(32)的校验结果发送至客户端(1)。
【文档编号】H04N21/4627GK106028064SQ201610478254
【公开日】2016年10月12日
【申请日】2016年6月24日
【发明人】杨鹭, 彭友顺, 刘腾
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1