CN107613316A - 一种网络直播推流验证方法及*** - Google Patents
一种网络直播推流验证方法及*** Download PDFInfo
- Publication number
- CN107613316A CN107613316A CN201710801661.8A CN201710801661A CN107613316A CN 107613316 A CN107613316 A CN 107613316A CN 201710801661 A CN201710801661 A CN 201710801661A CN 107613316 A CN107613316 A CN 107613316A
- Authority
- CN
- China
- Prior art keywords
- main broadcaster
- client
- plug
- flow
- server
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000001052 transient effect Effects 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 7
- 230000001010 compromised effect Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种网络直播推流验证方法及***,所述方法包括:S1,根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;S2,接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;S3,对主播客户端上报的推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。本发明设计了一套方案来对网络直播的推流过程进行保护,从而防止黑客入侵或者推流地址被泄漏而导致非主播本人进行直播,从而可能直播一些非法内容,损害主播的利益。
Description
技术领域
本发明涉及网络直播技术领域,更具体地,涉及一种网络直播推流验证方法及***。
背景技术
目前,网络直播是利用互联网及流媒体技术进行直播,主播客户端通过采集摄像头的数据,并将数据进行视频编码,将编码的视频流推送到直播平台的CDN(ContentDelivery Network,内容分发网络服务器)服务器。其它观众则会从CDN服务器拉取视频流进行观看。
对于每个主播在直播平台都会进行注册,从而直播平台会给每一个主播分配一个房间号和一个推流地址,主播直播时产生的视频流则会通过推流地址推送到直播平台CDN服务器。
在实际中,直播平台服务器给主播客户端下发的推流地址很容易被黑客入侵或者泄露,从而导致非主播本人进行直播,可能会直播一些非法内容,损害主播的利益。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的网络直播推流验证方法及***,克服了现有技术的网络直播不安全的问题。
根据本发明的第一个方面,提供了一种网络直播推流验证方法,包括:
S1,根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;
S2,接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;
S3,对主播客户端上报的推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
本发明的有益效果为:主播客户端在向服务器进行直播推流的过程中,服务器会向主播客户端下发推流码,其中,推流码中包括多个关键字段,当主播客户端向服务器推流时,会将推流码以及主播客户端信息一并上报给服务器,服务器会对推流码以及主播客户端信息进行校验,只有校验通过后,才允许主播客户端向服务器进行推流,对网络直播的推流过程进行保护,从而防止黑客或者推流地址被泄漏而导致非主播本人进行直播,从而可能直播一些非法内容,损害主播的利益。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述推流码中的多个关键字段包括服务器生成推流码的明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳。
进一步的,所述步骤S1还包括:
利用非对称加密算法生成对应的公钥Key值和私钥Key值,并利用公钥key值对服务器生成推流码的明文时间戳进行加密,形成加密后的时间戳;
利用对称加密算法对服务器节点路径值进行加密,形成加密后的服务器节点路径值;
将明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳组成推流码,并进行加密后打包下发给主播客户端。
进一步的,所述步骤S2还包括:
主播客户端根据服务器下发的推流码,获取推流码中的明文时间戳、加密后的时间戳以及服务器节点路径值和公钥Key值,并获取主播客户端信息,其中,所述主播客户端信息包括主播客户端IP地址、主播客户端令牌Token以及主播客户端设备唯一ID;
采用公钥Key值对明文时间戳、加密后的时间戳以及主播客户端信息加密后,携带于视频流中形成视频流信息,且根据服务器节点路径值,通过推流地址将视频流信息上报给服务器。
进一步的,所述步骤S3还包括:
服务器接收到主播客户端上报的视频流信息,采用与公钥key值对应的私钥Key值进行解密,从中得到主播客户端的P地址、主播客户端令牌Token、主播客户端设备唯一ID、明文时间戳以及加密时间戳。
进一步的,所述步骤S3进一步包括:
分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行验证,若验证均通过,则允许主播客户端向服务器推流,否则,拒绝主播客户端向服务器推流。
进一步的,所述分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及时间戳和加密时间戳进行验证进一步包括:
将主播客户端令牌Token与服务器下发给主播客户端的令牌Token进行比较,若一致,则验证通过,否则,验证不通过;
利用私钥Key值对加密时间戳进行解密,得到解密时间戳,将解密时间戳与明文时间戳进行对比,若一致,则验证通过,否则,验证不通过;
判断主播客户端IP地址与主播向主播平台注册时的IP地址或者与该主播上一次在主播客户端直播时的IP地址是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过;
判断主播客户端设备唯一ID是否与主播向主播平台注册时的设备唯一ID是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。
进一步的,所述步骤S3还包括:
当服务器接收到主播客户端上报的视频流信息时,获取当前时间戳;
将获取的当前时间戳与解密时间戳进行对比,若时间戳差值在预设范围内,则验证通过,否则,验证不通过。
根据本发明的第二方面,还提供了一种网络直播推流验证***,包括主播客户端和服务器,所述服务器包括下发模块、接收模块和验证模块;
下发模块,用于根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;
接收模块,用于接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;
验证模块,用于对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
根据本发明的第三个方面,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上网络直播推流验证方法。
附图说明
图1为本发明一个实施例的网络直播推流验证方法流程图;
图2为本发明另一个实施例的网络直播推流验证***连接框图;
图3为本发明又一个实施例的网络直播推流验证***整体连接框图;
图4为本发明再一个实施例的网络直播推流验证***中验证模块的内部连接框图;
图5为本发明又一个实施例的网络直播推流验证方法的设备连接框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1,提供了本发明一个实施例的网络直播推流验证方法,包括:S1,根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;S2,接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;S3,对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
在网络直播领域,主播客户端通过采集摄像头的数据,并将数据进行视频编码,将编码后的视频流数据推送至直播平台的CDN服务器。在主播客户端向服务器进行推流时,服务器会向主播客户端下发推流地址,主播客户端通过推流地址向服务器进行推流,该推流地址容易被黑客破解或者被泄漏,导致直播的损失。
因此,本实施例提供一套能够防止推流地址被入侵的方法,该方法的主要实现过程为,当主播在直播平台注册成为主播时,主播在直播平台上会进行用户名和密码的注册,包括填入手机号码和身份证实名注册。注册成功后,直播平台会给主播分配一个房间号码,以标示主播以后在此房间内直播。同时,服务器也会向主播分配一个推流地址,标示主播客户端推流到CDN服务器的地址。在主播开始直播时,根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,推流码中包括多个关键字段,该多个字段用于后续校验。服务器接收主播客户端通过推流地址上报的视频流信息,其中,视频流信息中携带有推流码和主播客户端信息。服务器对推流码中的多个关键字段以及主播客户端信息进行校验,若校验通过,则允许主播客户端向服务器推流,若校验不通过,则拒绝主播客户端向服务器推流。
本实施例设计了一套方案来对网络直播的推流过程进行保护,从而防止黑客或者推流地址被泄漏而导致非主播本人进行直播,从而可能直播一些非法内容,损害主播的利益。
在上述实施例的基础上,本发明的一个实施例中,所述推流码中的多个关键字段包括服务器生成推流码的明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳。
其中,服务器向主播客户端下发推流码,推流码中包括多个关键字段,多个关键字段包括服务器生成推流码的明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳。
在上述各个实施例的基础上,本发明的另一个实施例中,所述步骤S1还包括:利用非对称加密算法生成对应的公钥Key值和私钥Key值,并利用公钥key值对服务器生成推流码的明文时间戳进行加密,形成加密后的时间戳;利用对称加密算法对服务器节点路径进行加密,形成加密后的服务器节点路径值;服务器将明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳组成推流码,并进行加密后打包下发给主播客户端。
推流码的设计主要是完成主播客户端的合法性校验,是出于安全性的角度设计。其中,推流码中主要包括多个字段,具体如下:
Time&Key&ServerPath&EncryptTime;
其中,Time字段是服务器生成推流码的明文时间戳,Key字段是服务器下发的一个非对称加密的公钥Key值,其中,服务器每次生成推流码时,则会生成一对加密秘钥,并将公钥Key值下发给主播客户端,次公钥key值,则对应推流码中的Key值。使用公钥Key值对Time字段进行加密,从而生成加密后的时间戳,即EncryptTime字段。ServerPath字段则是由服务器上具体的CDN节点路径,使用公钥加密后的结果,从而对于此推流码中,其中的服务器CDN节点路径和推流码的时间戳时需要加密的。
在本实施例中,服务器生成推流码的具体过程,由于推流码中包括的字段有明文时间戳、推流Key值、加密后的服务器节点路径值以及加密后的时间戳。因此,服务器首先获取生成推流码时的当前时间戳Time,随后,服务器会使用非对称加密算法生成一对Key,具体为一个公钥Key值和一个私钥Key值。在本实施例中,非对称加密算法采用RSA算法,根据RSA.CreatePairKey(SecretKey,PublicKey)来生成一个公钥Key值和一个私钥Key值,后续数据会采用公钥Key值来加密,采用对应的私钥Key值来进行解密。
随后,采用公钥来加密明文时间戳,EncryptTime=RSA.Encrypt(Time,PublicKey),通过调用RSA算法Encrypt来使用公钥来对当前时间戳进行加密。推流码中会附带一个加密时间戳是为了防止主播修改时间戳从而绕过后续的校验。
其中,对服务器CDN节点路径进行加密,具体为ServerPath=Encrypt(Path,PublicKey),其中Path则是CDN服务器上的节点路径。然后使用公钥对此节点路径进行加密,形成加密后的CDN节点路径值。在本实施例中,使用对称加密算法对CDN节点路径的加密,具体则可以是TEA加密算法或者DES加密算法等,主播客户端则会使用同样的对称加密算法来对节点的路径进行解密。
服务器生成上述多个字段后,将明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳组成推流码,并将推流码和推流地址进行加密后打包下发给主播客户端。
在上述各个实施例的基础上,本发明的一个实施例中,所述步骤S2还包括:主播客户端根据服务器下发的推流码,获取推流码中的明文时间戳、加密后的时间戳以及服务器节点路径值和公钥Key值,并获取主播客户端信息,其中,所述主播客户端信息包括主播客户端IP地址、主播客户端令牌Token以及主播客户端设备唯一ID;采用公钥Key值对明文时间戳、加密后的时间戳以及主播客户端信息加密后,携带于视频流中形成视频流信息,且根据服务器节点路径值,通过推流地址将视频流信息上报给服务器。
服务器将生成的推流码和推流地址下发给主播客户端,主播客户端获取推流码中的明文时间戳、加密后的时间戳、加密的服务器节点路径值以及公钥Key值,并获取主播客户端信息。其中,主播客户端信息主要包括主播客户端IP地址、主播客户端令牌Token以及主播客户端设备唯一ID。主播客户端采用服务器下发的推流码中的公钥Key值对服务器下发的明文时间戳、加密后的时间戳以及主播客户端信息进行加密,将加密后的信息携带于视频流中形成视频流信息,通过推流地址将视频流信息推送给服务器上与节点路径值对应的节点。
在上述个实施例的基础上,本发明的另一个实施例中,所述步骤S3进一步包括:分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行验证,若验证均通过,则允许主播客户端向服务器推流,否则,拒绝主播客户端向服务器推流。
主播客户端将视频流信息上报给服务器后,服务器采用对应的私钥进行解密,得到主播客户端信息以及明文时间戳和加密时间戳。服务器分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行校验,若校验均通过,则允许主播客户端向服务器推流,只要其中的一项数据校验失败,则校验通不过,则拒绝主播客户端向服务器推流。
本实施例对服务器下发的推流码以及主播客户端信息进行校验,校验通过,才允许主播客户端向服务器推流,否则,不允许主播客户端向服务器推流,这样就防止了由于推流地址被黑客入侵或者泄露等进行非法的推流,损害主播的利益。
在上述各个实施例的基础上,本发明的另一个实施例中,服务器分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行校验的具体过程为,服务器将主播客户端令牌Token与服务器下发给主播客户端令牌Token进行比较,若一致,则验证通过,否则,验证不通过。
利用私钥Key值对加密时间戳进行解密,得到解密时间戳,将解密时间戳与明文时间戳进行对比,若一致,则验证通过,若明文时间戳和解密时间戳不一致,则表明明文时间戳可能被黑客所修改,黑客很容易修改明文的时间戳,而无法修改加密时间戳。因此,在服务器向主播客户端下发的推流码中既包括明文时间戳,也包括加密时间戳。在主播客户端,黑客能够修改明文时间戳,但是无法修改加密时间戳,因此,主播客户端向服务器上报的加密时间戳是准确的,而上报的明文时间戳有可能是经过修改的,故服务器将主播客户端上报的明文时间戳和加密时间戳进行比较,一致,则表明明文时间戳未被修改,若不一致,则表明明文时间戳已经被篡改了。
判断主播客户端IP地址与主播向主播平台注册时的IP地址或者与该主播上一次在主播客户端直播时的IP地址是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。同理,判断主播客户端的设备唯一ID是否与主播客户端向主播平台注册时的设备唯一ID是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。即若主播客户端的IP地址与服务器分配给主播客户端的IP地址不一致或者主播客户端设备唯一ID与主播客户端向主播平台注册时的设备唯一ID不一致,则向主播的移动手机发送短信验证,防止主播推流码盗用直接进行直播,只要接受到主播发送的正确的短信验证才允许进行直播推流。
在上述各个实施例的基础上,本发明的一个实施例中,所述步骤S3还包括:当服务器接收到主播客户端上报的视频流信息时,获取当前时间戳;将获取的当前时间戳与解密时间戳进行对比,若时间戳差值在预设范围内,则验证通过,否则,验证不通过。
在本实施例中,服务器还会将解密时间戳和当前时间戳进行比较,判断两个时间戳的差值是否在预设范围内。具体为,服务器接收到主播客户端上报的视频流信息后,从视频流信息中获取加密时间戳,对加密时间戳采用对应的私钥进行解密,得到解密时间戳。此时服务器还获取当前时间戳,计算当前时间戳和解密时间戳之间的差值,若该差值在预设范围内,比如,该差值在5分钟之内,则允许主播客户端向服务器推流,否则,拒绝主播客户端向服务器推流。此时,主播客户端需要向服务器重新请求新的推流码。
参见图2,提供了本发明另一个实施例的网络直播推流验证***,包括主播客户端1和服务器2,其中,服务器2包括下发模块21、接收模块22和验证模块23。
下发模块21,用于根据主播客户端的请求,向主播客户端1下发推流地址和推流码,其中,所述推流码中包括多个关键字段。
接收模块22,用于接收主播客户端1通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息。
验证模块23,用于对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端1的推流,否则,拒绝主播客户端1的推流。
其中,推流码中的多个关键字段包括服务器生成推流码的明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳。
参见图3,服务器2中还包括第一加密模块24和第二加密模块25。其中,第一加密模块24,用于利用非对称加密算法生成对应的公钥Key值和私钥Key值,并利用公钥key值对服务器2生成推流码的时间戳进行加密,形成加密后的时间戳。
第二加密模块25,用于利用对称加密算法对服务器CDN节点路径进行加密,形成加密后的服务器节点路径值。
相应的,下发模块21,还用于将明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳组成推流码,并进行加密后打包下发给主播客户端。
如图3所示,主播客户端1中具体包括获取模块11和上报模块12,其中,获取模块11,用于根据服务器2下发的推流码,获取推流码中的明文时间戳、加密后的时间戳以及公钥Key值,并获取主播客户端信息,其中,所述主播客户端信息包括主播客户端IP地址、主播客户端令牌Token以及主播客户端设备唯一ID。
上报模块12,用于采用公钥Key值对时间戳、加密后的时间戳以及主播客户端信息加密后,携带于视频流中形成视频流信息,并通过推流地址上报给服务器。
如图3所示,服务器2还包括解密模块26,用于接收到主播客户端1上报的视频流信息,采用与公钥key值对应的私钥Key值进行解密,从中得到主播客户端IP地址、主播客户端令牌Token、主播客户端设备唯一ID、明文时间戳以及加密时间戳。
参见图4,验证模块23包括第一验证单元231、第二验证单元232、第三验证单元233、第四验证单元234和第五验证单元235。
其中,验证模块23,具体用于分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行验证,若验证均通过,则允许主播客户端1向服务器2推流,否则,拒绝主播客户端1向服务器2推流。
第一验证单元231,用于将主播客户端令牌Token与服务器2下发给主播客户端的令牌Token进行比较,若一致,则验证通过,否则,验证不通过。
第二验证单元232,用于利用私钥Key值对加密时间戳进行解密,得到解密时间戳,将解密时间戳与明文时间戳进行对比,若一致,则验证通过,否则,验证不通过。
第三验证单元233,用于验证主播客户端IP地址与主播向主播平台注册时的IP地址或者与该主播上一次在主播客户端直播时的IP地址是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。
第四验证单元234,用于验证主播客户端设备唯一ID是否与主播向主播平台注册时的设备唯一ID是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。
第五验证单元235,用于将获取的当前时间戳与解密时间戳进行对比,若时间戳差值在预设范围内,则验证通过,否则,验证不通过,其中,所述当前时间戳是指服务器接收到主播客户端上报的视频流信息时的时间。
参见图5,示出本申请实施例的网络直播推流验证方法的设备的结构框图。
参照图5,网络直播推流验证方法的设备包括:处理器(processor)501、存储器(memory)502和总线503;其中,所述处理器501和存储器502通过所述总线503完成相互间的通信。
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
本发明公开一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述对应实施例所提供的网络直播推流验证方法,例如包括:根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
本发明还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述对应实施例所提供的网络直播推流验证方法,例如包括:根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的网络直播推流验证方法的设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。
本发明提供的一种网络直播推流验证方法及***,主播客户端在向服务器进行直播推流的过程中,服务器会向主播客户端下发推流码,其中,推流码中包括多个关键字段,当主播客户端向服务器推流时,会将推流码以及主播客户端信息一并上报给服务器,服务器会对推流码以及主播客户端信息进行校验,只有校验通过后,才允许主播客户端向服务器进行推流,对网络直播的推流过程进行保护,从而防止黑客或者推流地址被泄漏而导致非主播本人进行直播,从而可能直播一些非法内容,损害主播的利益。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种网络直播推流验证方法,其特征在于,包括:
S1,根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;
S2,接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;
S3,对主播客户端上报的推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
2.如权利要求1所述的网络直播推流验证方法,其特征在于,所述推流码中的多个关键字段包括服务器生成推流码的明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳。
3.如权利要求2所述的网络直播推流验证方法,其特征在于,所述步骤S1还包括:
利用非对称加密算法生成对应的公钥Key值和私钥Key值,并利用公钥key值对服务器生成推流码的明文时间戳进行加密,形成加密后的时间戳;
利用对称加密算法对服务器节点路径值进行加密,形成加密后的服务器节点路径值;
将明文时间戳、非对称加密的公钥Key值、加密后的服务器节点路径值以及加密后的时间戳组成推流码,并进行加密后打包下发给主播客户端。
4.如权利要求3所述的网络直播推流验证方法,其特征在于,所述步骤S2还包括:
主播客户端根据服务器下发的推流码,获取推流码中的明文时间戳、加密后的时间戳以及服务器节点路径值和公钥Key值,并获取主播客户端信息,其中,所述主播客户端信息包括主播客户端IP地址、主播客户端令牌Token以及主播客户端设备唯一ID;
采用公钥Key值对明文时间戳、加密后的时间戳以及主播客户端信息加密后,携带于视频流中形成视频流信息,且根据服务器节点路径值,通过推流地址将视频流信息上报给服务器。
5.如权利要求4所述的网络直播推流验证方法,其特征在于,所述步骤S3还包括:
服务器接收到主播客户端上报的视频流信息,采用与公钥key值对应的私钥Key值进行解密,从中得到主播客户端IP地址、主播客户端令牌Token、主播客户端设备唯一ID、明文时间戳以及加密时间戳。
6.如权利要求5所述的网络直播推流验证方法,其特征在于,所述步骤S3进一步包括:
分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及明文时间戳和加密时间戳进行验证,若验证均通过,则允许主播客户端向服务器推流,否则,拒绝主播客户端向服务器推流。
7.如权利要求6所述的网络直播推流验证方法,其特征在于,所述分别对主播客户端令牌Token、主播客户端IP地址、主播客户端设备唯一ID以及时间戳和加密时间戳进行验证进一步包括:
将主播客户端令牌Token与服务器下发给主播客户端的令牌Token进行比较,若一致,则验证通过,否则,验证不通过;
利用私钥Key值对加密时间戳进行解密,得到解密时间戳,将解密时间戳与明文时间戳进行对比,若一致,则验证通过,否则,验证不通过;
判断主播客户端IP地址与主播向主播平台注册时的IP地址或者与该主播上一次在主播客户端直播时的IP地址是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过;
判断主播客户端设备唯一ID是否与主播向主播平台注册时的设备唯一ID是否一致,若一致,则验证通过,否则,进行短信验证,根据短信验证的结果确定此次验证是否通过。
8.如权利要求7所述的网络直播推流验证方法,其特征在于,所述步骤S3还包括:
当服务器接收到主播客户端上报的视频流信息时,获取当前时间戳;
将获取的当前时间戳与解密时间戳进行对比,若时间戳差值在预设范围内,则验证通过,否则,验证不通过。
9.一种网络直播推流验证***,其特征在于,包括主播客户端和服务器,所述服务器包括下发模块、接收模块和验证模块;
下发模块,用于根据主播客户端的请求,向主播客户端下发推流地址和推流码,其中,所述推流码中包括多个关键字段;
接收模块,用于接收主播客户端通过推流地址上报的视频流信息,所述视频流信息中携带有推流码和主播客户端信息;
验证模块,用于对推流码中的多个关键字段以及主播客户端信息进行校验,当校验通过,则允许主播客户端的推流,否则,拒绝主播客户端的推流。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710801661.8A CN107613316B (zh) | 2017-09-07 | 2017-09-07 | 一种网络直播推流验证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710801661.8A CN107613316B (zh) | 2017-09-07 | 2017-09-07 | 一种网络直播推流验证方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107613316A true CN107613316A (zh) | 2018-01-19 |
CN107613316B CN107613316B (zh) | 2020-01-03 |
Family
ID=61062550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710801661.8A Active CN107613316B (zh) | 2017-09-07 | 2017-09-07 | 一种网络直播推流验证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107613316B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769728A (zh) * | 2018-06-15 | 2018-11-06 | 京信通信***(中国)有限公司 | 直播方法、装置、***及计算机可读存储介质 |
CN109862382A (zh) * | 2019-02-25 | 2019-06-07 | 广州虎牙信息科技有限公司 | 多人语音方法、服务器以及计算机存储介质 |
CN110662091A (zh) * | 2018-06-29 | 2020-01-07 | 武汉斗鱼网络科技有限公司 | 第三方直播视频接入方法、存储介质、电子设备及*** |
CN111314725A (zh) * | 2020-02-19 | 2020-06-19 | 安徽文香信息技术有限公司 | 一种直播访问的方法、***、设备及计算机存储介质 |
CN111669606A (zh) * | 2019-03-09 | 2020-09-15 | 苏州知了信息科技有限公司 | 一种线下线上同步教学的直播*** |
CN113891148A (zh) * | 2021-09-29 | 2022-01-04 | 湖北美和易思教育科技有限公司 | 一种基于udp和组播的投屏直播方法及*** |
EP4125272A1 (en) * | 2021-07-30 | 2023-02-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Method and apparatus for displaying page, electronic device and storage medium |
EP4135331A1 (en) * | 2021-08-10 | 2023-02-15 | Beijing Dajia Internet Information Technology Co., Ltd. | Method for processing live broadcast information stream, electronic device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070269047A1 (en) * | 2003-10-20 | 2007-11-22 | Aesop Corporation | Information Encryption Transmission/Reception Method |
CN102624740A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种数据交互方法及客户端、服务器 |
CN105872639A (zh) * | 2016-04-20 | 2016-08-17 | 乐视控股(北京)有限公司 | 直播方法及直播终端 |
CN106686395A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种直播非法视频的检测方法及*** |
CN106954079A (zh) * | 2017-03-14 | 2017-07-14 | 北京潘达互娱科技有限公司 | 直播记录统计方法及装置 |
CN106993201A (zh) * | 2017-03-17 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
-
2017
- 2017-09-07 CN CN201710801661.8A patent/CN107613316B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070269047A1 (en) * | 2003-10-20 | 2007-11-22 | Aesop Corporation | Information Encryption Transmission/Reception Method |
CN102624740A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种数据交互方法及客户端、服务器 |
CN105872639A (zh) * | 2016-04-20 | 2016-08-17 | 乐视控股(北京)有限公司 | 直播方法及直播终端 |
CN106686395A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种直播非法视频的检测方法及*** |
CN106954079A (zh) * | 2017-03-14 | 2017-07-14 | 北京潘达互娱科技有限公司 | 直播记录统计方法及装置 |
CN106993201A (zh) * | 2017-03-17 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769728A (zh) * | 2018-06-15 | 2018-11-06 | 京信通信***(中国)有限公司 | 直播方法、装置、***及计算机可读存储介质 |
CN110662091A (zh) * | 2018-06-29 | 2020-01-07 | 武汉斗鱼网络科技有限公司 | 第三方直播视频接入方法、存储介质、电子设备及*** |
CN110662091B (zh) * | 2018-06-29 | 2022-03-25 | 武汉斗鱼网络科技有限公司 | 第三方直播视频接入方法、存储介质、电子设备及*** |
CN109862382A (zh) * | 2019-02-25 | 2019-06-07 | 广州虎牙信息科技有限公司 | 多人语音方法、服务器以及计算机存储介质 |
CN111669606A (zh) * | 2019-03-09 | 2020-09-15 | 苏州知了信息科技有限公司 | 一种线下线上同步教学的直播*** |
CN111314725A (zh) * | 2020-02-19 | 2020-06-19 | 安徽文香信息技术有限公司 | 一种直播访问的方法、***、设备及计算机存储介质 |
EP4125272A1 (en) * | 2021-07-30 | 2023-02-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Method and apparatus for displaying page, electronic device and storage medium |
EP4135331A1 (en) * | 2021-08-10 | 2023-02-15 | Beijing Dajia Internet Information Technology Co., Ltd. | Method for processing live broadcast information stream, electronic device |
CN113891148A (zh) * | 2021-09-29 | 2022-01-04 | 湖北美和易思教育科技有限公司 | 一种基于udp和组播的投屏直播方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107613316B (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107613316A (zh) | 一种网络直播推流验证方法及*** | |
CN107911216B (zh) | 一种区块链交易隐私保护方法及*** | |
CN110022217B (zh) | 一种基于区块链的广告传媒业务数据可信存证*** | |
CN100592678C (zh) | 用于网络元件的密钥管理 | |
WO2018040758A1 (zh) | 认证方法、认证装置和认证*** | |
KR101985179B1 (ko) | 블록체인 기반의 ID as a Service | |
CN101977190B (zh) | 数字内容加密传送方法以及服务器端 | |
JP6950745B2 (ja) | 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム | |
CN102281300A (zh) | 数字版权管理许可证分发方法和***、服务器及终端 | |
CN113326541B (zh) | 一种基于智能合约的云边协同多模式隐私数据流转方法 | |
CN105049877A (zh) | 一种用于直录播互动***的加密方法及装置 | |
CN109242404B (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
CN113128999B (zh) | 一种区块链隐私保护方法及装置 | |
CN109151508A (zh) | 一种视频加密方法 | |
CN105721903A (zh) | 在线播放视频的方法和*** | |
CN103237010B (zh) | 以加密方式提供数字内容的服务器端 | |
JP2011524676A (ja) | 移動体ブロードキャストシステムにおける暗号化キー分配方法、暗号化キーの分配を受ける方法及びこのためのシステム | |
CN109151507A (zh) | 视频播放***及方法 | |
KR20170019308A (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
CN102546528B (zh) | 流媒体播放的方法和设备 | |
CN103237011B (zh) | 数字内容加密传送方法以及服务器端 | |
CN105868987B (zh) | 一种在设备之间共享信息的方法和*** | |
Khan et al. | Buyer seller watermarking protocols issues and challenges–a survey | |
CN114726536A (zh) | 一种时间戳生成方法、装置、电子设备及存储介质 | |
CN106027254A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240105 Address after: Room 202, 1st Floor, Building 10, Huancheng West Second Street, Huancheng West Road, Panyu District, Guangzhou City, Guangdong Province, 511400 Patentee after: Xiao Hua Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |