CN109218837A - 一种显示虚拟礼物特效的方法和设备 - Google Patents
一种显示虚拟礼物特效的方法和设备 Download PDFInfo
- Publication number
- CN109218837A CN109218837A CN201710524132.8A CN201710524132A CN109218837A CN 109218837 A CN109218837 A CN 109218837A CN 201710524132 A CN201710524132 A CN 201710524132A CN 109218837 A CN109218837 A CN 109218837A
- Authority
- CN
- China
- Prior art keywords
- special efficacy
- virtual present
- destination virtual
- target
- main broadcaster
- 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
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2351—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种显示虚拟礼物特效的方法和设备,所述方法包括:接收服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;利用所述目标密钥对加密的所述目标特效渲染函数进行解密;运行所述目标特效渲染函数;获得解密次数和/或运行次数;将所述目标虚拟礼物的特效与直播视频编码为视频流;将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器判断所述目标虚拟礼物的特效是否合法,并在合法时将所述视频流发送给多个观众端设备。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种显示虚拟礼物特效的方法和设备。
背景技术
在网络直播中,观众会购买虚拟礼物赠送给主播。一些虚拟礼物是具有动态特效的,例如花朵绽放或烟花绽放等。赠送具有特效的虚拟礼物的过程包括:观众在观众端设备购买虚拟礼物,观众端设备将购买的虚拟礼物消息发给服务器;然后,服务器再将购买的虚拟礼物的消息发送给主播端设备;然后,主播端设备基于虚拟礼物的消息渲染出特效;接着,主播端将该特效和直播视频共同编码成视频流发送给服务器;进而,服务器再将视频流下发到各个观众端设备播放,使所有观众都能看到直播视频和该虚拟礼物的特效。
如上述过程,在合法情况下,观众赠送了虚拟礼物才能产生对应的特效,并且,观众赠送多少虚拟礼物则应产生多少次特效。
然而,一些主播在没有观众赠送礼物的情况下向用户虚假显示特效,或者虚假地重复显示单个虚拟礼物的特效,不仅浪费了网络资源,更加不利于网站直播的信息安全。
发明内容
本发明实施例提供了一种显示虚拟礼物特效的方法和设备,用于避免主播虚假显示虚拟礼物的特效。
第一方面,本发明提供了一种显示虚拟礼物特效的方法,应用于主播端设备,所述主播端设备存储有N个加密的特效渲染函数,每个特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述方法包括:
接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数;
运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
可选的,在运行所述目标特效渲染函数之后,还包括:
删除所述目标密钥;
释放所述目标特效渲染函数。
第二方面,本发明提供了一种显示虚拟礼物特效的方法,应用于服务器,主播端设备和多个观众端设备接入所述服务器,所述服务器存储有N个密钥,所述主播端设备存储有N个加密的特效渲染函数,每个所述密钥用于解密一个加密的所述特效渲染函数,每个所述特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述方法包括:
接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器;
接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
可选的,在接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息之后,还包括:
基于所述赠送消息查询所述观众端设备对应的观众所购买的虚拟礼物;
判断所述观众所购买的虚拟礼物是否包括所述目标虚拟礼物;
如果所述观众所购买的虚拟礼物包括所述目标虚拟礼物,执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤;
如果所述观众所购买的虚拟礼物不包括所述目标虚拟礼物,确定所述赠送消息不合法,不执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤。
可选的,基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,包括:
判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
可选的,在基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法之前,还包括:
获取所述主播被赠送所述目标虚拟礼物的数量;
基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,包括:
判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
可选的,基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,包括:
判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
第三方面,本发明提供了一种主播端设备,所述主播端设备存储有N个加密的特效渲染函数,每个特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述主播端设备包括:
接收模块,用于接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
读取模块,用于基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
解密模块,用于利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得所述目标特效渲染函数;
渲染模块,用于运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
获得模块,用于获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
编码模块,用于将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
第一发送模块,用于将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
可选的,所述主播端设备还包括:
删除模块,用于在运行所述目标特效渲染函数之后,删除所述目标密钥;
释放模块,用于释放所述目标特效渲染函数。
第四方面,本发明提供了一种服务器,主播端设备和多个观众端设备接入所述服务器,所述服务器存储有N个密钥,所述主播端设备存储有N个加密的特效渲染函数,每个所述密钥用于解密一个加密的所述特效渲染函数,每个所述特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述服务器包括:
第一接收模块,用于接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
确定模块,用于基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得模块,用于获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
第一发送模块,用于向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,将所述目标虚拟礼物的特效与所述主播端采集的直播视频编码为视频流,并将所述视频流发送至所述服务器;
第二接收模块,用于接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
判断模块,用于基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
第二发送模块,用于在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
可选的,所述判断模块用于判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
可选的,所述服务器还包括:
获取模块,用于在基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法之前,获取所述主播被赠送所述目标虚拟礼物的数量;
所述判断模块用于判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
可选的,所述判断模块用于判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
第五方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。
第六方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面任一项所述方法的步骤。
第七方面,本发明提供了一种观众端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
第八方面,本发明提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第二方面任一项所述方法的步骤。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,将渲染虚拟礼物特效的N个特效渲染函数加密存储在主播端设备中,而密钥则存储在服务器中,N为正整数,所述服务器根据观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息,再基于所述赠送消息确定所述目标虚拟礼物的标识,以及解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥,然后将包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息发送给所述主播端设备。所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,再利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,然后运行所述目标特效渲染函数,渲染出所述目标虚拟礼物的特效,另外还获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,接着将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,最后所述解密次数和/或所述运行次数与视频流发送至所述服务器,所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,并且在判断合法时再将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。所以,由于所述主播端设备中的所述特效渲染函数处于加密状态,只有所述服务器提供了对应密钥才能解密并运行,而所述服务器提供的密钥与观众实际赠送的虚拟礼物一致,由此使得所述主播端设备只能渲染出观众实际赠送的虚拟礼物的特效,无法渲染出观众未赠送的虚拟礼物的特效,进而无法虚假显示虚拟礼物的特效给观众看,并且,所述服务器还进一步基于所述解密次数和/或所述运行次数对所述目标虚拟礼物的特效进行合法性判断,防止主播重复显示单个虚拟礼物的特效,所以解决了虚假显示虚拟礼物特效的技术问题,实现了避免主播虚假显示虚拟礼物的特效的技术效果,并减少了网络资源的浪费,提高了信息安全。
附图说明
图1为本发明一种可能的网络架构示意图;
图2为本发明实施例中主播端设备侧显示虚拟礼物特效的方法流程图;
图3为本发明实施例中服务器侧显示虚拟礼物特效的方法流程图;
图4为本发明实施例中一主播端设备的结构示意图;
图5为本发明实施例中一服务器的结构示意图;
图6为本发明实施例中另一主播端设备的结构示意图;
图7为本发明实施例中另一服务器的结构示意图。
具体实施方式
本发明实施例提供了一种显示虚拟礼物特效的方法和设备,用于避免主播虚假显示虚拟礼物的特效。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,将渲染虚拟礼物特效的N个特效渲染函数加密存储在主播端设备中,而密钥则存储在服务器中,N为正整数,所述服务器根据观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息,再基于所述赠送消息确定所述目标虚拟礼物的标识,以及解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥,然后将包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息发送给所述主播端设备。所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,再利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,然后运行所述目标特效渲染函数,渲染出所述目标虚拟礼物的特效,另外还获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,接着将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,最后所述解密次数和/或所述运行次数与视频流发送至所述服务器,所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,并且在判断合法时再将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。所以,由于所述主播端设备中的所述特效渲染函数处于加密状态,只有所述服务器提供了对应密钥才能解密并运行,而所述服务器提供的密钥与观众实际赠送的虚拟礼物一致,由此使得所述主播端设备只能渲染出观众实际赠送的虚拟礼物的特效,无法渲染出观众未赠送的虚拟礼物的特效,进而无法虚假显示虚拟礼物的特效给观众看,并且,所述服务器还进一步基于所述解密次数和/或所述运行次数对所述目标虚拟礼物的特效进行合法性判断,防止主播重复显示单个虚拟礼物的特效,所以解决了虚假显示虚拟礼物特效的技术问题,实现了避免主播虚假显示虚拟礼物的特效的技术效果,并减少了网络资源的浪费,提高了信息安全。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明提供了一种显示虚拟礼物特效的方法。为了方便对显示虚拟礼物特效的方法进行介绍,首先对可以应用该方法的网络架构进行介绍。请参考图1,为本发明一种可能的网络架构示意图。
具体来讲,如图1所示,在网络直播中,主播端设备可以有一个或多个(图1中仅示出一个),后文中以图1中所示的主播端设备进行介绍,其余主播端设备执行的方法类似。观众端设备则可以有零个、一个或多个。主播端设备和观众端设备均通过网络接入服务器。为方便后文介绍,假设接入服务器的观众端设备为一个或多个,且该一个或多个观众端设备均接收图1中主播端设备发送的视频流,换言之,一个或多个观众在该一个或多个观众端设备观看同一个主播的直播。
每个观众均可以通过自己的观众端设备购买虚拟礼物,以及将购买的虚拟礼物赠送给主播。在相关技术中,服务器根据观众实际赠送虚拟礼物的类型和数量通知主播端设备。在正常情况下,主播端设备将根据服务器的通知,调用并运行观众实际赠送的虚拟礼物类型对应的特效渲染函数来渲染该虚拟礼物的特效,并且调用次数与观众赠送的虚拟礼物数量一致。
接下来,首先对主播端设备侧的显示虚拟礼物特效的方法进行介绍。请参考图2,为主播端设备侧显示虚拟礼物特效的方法流程图。该方法包括:
S101:接收所述主播端设备所接入的服务器发送的虚拟礼物消息;
S102:基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
S103:利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数;
S104:运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
S105:获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
S106:将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
S107:将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器。
在本发明实施例中,主播端设备存储有N个加密的特效渲染函数。N为正整数,例如1,3或10等,本发明不做具体限制。主播端设备存储的加密的特效渲染函数的数量与服务器提供的具有特效的虚拟礼物的数量一致。服务器预先为每个虚拟礼物设置唯一的标识,并将每个虚拟礼物的标识同步到主播端设备。主播端设备按照虚拟礼物的标识,对应存储每个加密的特效渲染函数。然后将渲染出的虚拟礼物特效与主播端设备采集的直播视频编码为视频流发送给服务器。服务器再将视频流发送给所有观看该主播直播观众端设备,进而所有观众都可以在其观众端设备上观看到虚拟礼物特效和直播视频。
举例来说,服务器提供的具有特效的虚拟礼物共有3个,虚拟礼物名称具体为玫瑰花(roses)、百合花(lily)和郁金香(tulip)。玫瑰花(roses)的标识为1,百合花(lily)的标识为2,郁金香(tulip)的标识为3。玫瑰花(roses)的特效渲染函数为roses_resuoce,加密后的roses_resuoce为Roses_resuoce;百合花(lily)的特效渲染函数为lily_resuoce,加密后的lily_resuoce为Lily_resuoce;郁金香(tulip)的特效渲染函数为tulip_resuoce,加密后的tulip_resuoce为Tulip_resuoce。主播端设备按照每个虚拟礼物的标识,对应存储每个特效渲染函数。具体可以通过如下代码实现:
Map[1]=Roses_resuoce;//使用Map容器存储Roses_resuoce
Map[2]=Lily_resuoce;//使用Map容器存储Lily_resuoce
Map[3]=Tulip_resuoce;//使用Map容器存储Tulip_resuoce
为了避免主播端设备随意调用特效渲染函数,进而虚假渲染虚拟礼物,本发明实施例将解密特效渲染函数N个密钥存储在服务器中。具体来讲,服务器也按照虚拟礼物的标识对应存储N个密钥。沿用上文中的例子来说,解密Roses_resuoce的密钥为Key1,解密Lily_resuoce的密钥为Key2,解密Tulip_resuoce的密钥为Key3。服务器按照每个虚拟礼物的标识,对应存储每个密钥。具体可以通过如下代码实现:
Map[1]=Key1;//使用Map容器存储Key1
Map[2]=Key2;//使用Map容器存储Key2
Map[3]=Key3;//使用Map容器存储Key3
在具体实现过程中,N个密钥可以相同,较佳地,N个密钥不完全相同。
观众根据服务器提供的虚拟礼物列表,在观众端设备上购买虚拟礼物,并将购买的虚拟礼物赠送给主播。本发明实施例将观众赠送给主播的虚拟礼物称为目标虚拟礼物。主播端设备根据用户执行的赠送目标虚拟礼物的操作生成表示赠送主播目标虚拟礼物的赠送信息,并将赠送信息发送给服务器。
服务器接收赠送信息,然后,对赠送信息进行解析,进而确定观众所要赠送的目标虚拟礼物和目标虚拟礼物的数量。接着,确定目标虚拟礼物的标识,并且根据目标虚拟礼物的标识读取对应的密钥。在本发明实施例中,将用于渲染目标虚拟礼物特效的特效渲染函数称为目标特效渲染函数,将解密目标特效渲染函数的密钥称为目标密钥。
然后,服务器将目标虚拟礼物的标识、目标密钥和目标虚拟礼物的数量进行打包,获得虚拟礼物消息。然后将虚拟礼物消息发送给主播端设备。在S101中,主播端设备接收虚拟礼物消息。
沿用上文中的例子,假设服务器接收到一观众端设备发送的赠送消息,通过解析该赠送消息,确定观众赠送主播1个玫瑰花(roses)。接着,服务器确定目标虚拟礼物的标识为1,并且根据标识1读取出对应存储目标密钥Key1。然后,服务器按照(目标虚拟礼物的标识,目标密钥,目标虚拟礼物的数量)生成虚拟礼物消息(1,Key1,1)。其中,虚拟礼物消息(1,Key1,1)表示的目标虚拟礼物的标识为1,目标密钥为Key1,目标虚拟礼物数量为1。然后,服务器将虚拟礼物消息(1,Key1,1)发送给主播端设备。进而,主播端设备接收虚拟礼物消息(1,Key1,1)。
主播端设备接收虚拟礼物消息后,解析出虚拟礼物消息中的目标虚拟礼物的标识、目标密钥和目标虚拟礼物的数量。例如,主播端设备接收虚拟礼物消息(1,Key1,1)后,解析出目标虚拟礼物的标识1,目标密钥Key1,进一步解析出目标虚拟礼物数量1。
然后,在S102中,根据目标虚拟礼物的标识,将与该标识对应的目标特效渲染函数读取到内存中。沿用上文中的例子来说,由于解析虚拟礼物消息得到目标虚拟礼物的标识为1,故而主播端设备读取标识1对应存储的特效渲染函数Roses_resuoce。
接下来,在S103中,利用目标密钥对内存中的加密的目标特效渲染函数进行解密。在本发明实施例中,主播端设备根据预设解密函数对加密的目标特效渲染函数进行解密。其中,预设解密函数为加密特效渲染函数的预设加密函数对应的解密函数。在具体实现过程中,预设加密函数和预设解密函数可以基于例如为DES(数字加密算法,Data EncryptionAlgorithm)或AES(级加密标准,Advanced Encryption Standard)等设置,本发明不做具体限制。
另外,在一种实施方式中,主播端设备可以预先按照预设加密函数,基于N个密钥对N个特效渲染函数进行加密,进而获得N个加密的特效渲染函数。在另一种实施方式中,服务器按照预设加密函数,基于N个密钥对N个特效渲染函数进行加密,进而获得N个加密的特效渲染函数,并将N个加密的特效渲染函数发送到各个主播端设备存储。该种实施方式便于服务器变更特效渲染函数、加解密算法和密钥中的一种或任意多种。在另一种实施方式中,将N个加密的特效渲染函数包含在直播应用程序的安装包中,进而主播端设备安装直播应用程序的过程中,就可以获取N个加密的特效渲染函数。该种实施方式也便于服务器变更特效渲染函数、加解密算法和密钥中的一种或任意多种。在具体实现过程中,对于主播端设备获得N个加密的特效渲染函数的方法,本发明所属领域的普通技术人员可以根据实际选择任意一种实施方式,本发明不做具体限制。
在S102中,主播端设备按照预设解密函数和目标密钥对加密的目标特效渲染函数进行解密。沿用上文中的例子来说,加密的目标特效渲染函数为Roses_resuoce,密钥为Key1,假设预设解密函数为基于AES的函数Aes.decrypt(),则具体可以通过如下代码解密出目标特效渲染函数roses_resuoce:
Aes.decrypt(roses_resuoce Key1);
由于N个特效渲染函数均被加密,而主播端设备只具有目标密钥,而目标密钥只能解密观众实际赠送的虚拟礼物的特效渲染函数,无法解密其他特效渲染函数,因此主播端设备只能解密并运行目标特效渲染函数,进而只能渲染出目标虚拟礼物的特效。
解密出目标特效渲染函数后,在S104中,就可以运行目标特效渲染函数,进而在主播端设备的直播区域中渲染出目标虚拟礼物的特效。举例来说,目标特效渲染函数为roses_resuoce,则渲染出玫瑰花(roses)的特效。
另外,在S105中,主播端设备还需要获得解密目标特效渲染函数的解密次数和/或运行目标特效渲染函数的运行次数。
具体来讲,可以单独设置一个统计解密次数和/或运行次数的统计函数,进而由该统计函数统计并输出解密次数和/或运行次数。故而,S105就具体为获得统计函数的输出结果。
或者,也可以直接在预设解密函数中设置统计解密次数的代码,和/或在每个特效渲染函数中设置统计运行次数的代码。具体来讲,在该种实施方式中,预设解密函数不仅能够解密目标特效渲染函数,还可以计算解密目标特效渲染函数的解密次数。以及,特效渲染函数不仅可以渲染出虚拟礼物的特效,还可以计算运行次数。
在本发明实施例中,预先设置预设解密函数中初始解密次数为0,预设解密函数每运行一次,解密次数增加1,并覆盖上一次的解密次数。并且,预设解密函数每次运行除了输出解密结果,即目标特效渲染函数,还会输出解密次数。以及,预先设置每个特效渲染函数中初始运行次数为0,特效渲染函数每运行一次,运行次数增加1,并覆盖上一次的运行次数。特效渲染函数每次运行除了输出渲染结果,还会输出运行次数。故而,S105就具体为获得预设解密函数输出的解密次数,和/或获得目标特效渲染函数输出的运行次数。
其中,在一种实施方式中,解密次数和运行次数具体为历史次数,即每个特效渲染函数在主播端设备总共被解密的次数和运行的次数。在另一种实施方式中,解密次数和运行次数指的是预设时间段内解密一特效渲染函数的次数和运行该特效渲染函数的次数。预设时间段例如为7天、10天或30天等,本发明不做具体限制。在另一种实施方式中,解密次数和运行次数指的是本次直播中一特效渲染函数的被解密次数和被运行次数。
在具体实现过程中,如果由预设解密函数和特效渲染函数自己统计并输出解密次数和运行次数,那么S105获得解密次数与S103可以合成为一个步骤,S105获得运行次数与S104可以合成为一个步骤。如果由统计函数统计并输出解密次数和运行次数,那么S105获得解密次数在S103之后执行即可,S105获得运行次数在S104之后执行即可,本发明不做具体限制。
接下来,在S106中,目标虚拟礼物的特效和主播端设备采集的直播视频共同编码为视频流。最后在S107中,将S105中获得的解密次数和/或运行次数与视频流发送给服务器。
在本发明实施例中,发送解密次数和/或发送运行次数的一种实施方式:主播端设备在发送视频流之后,发送视频流之前或者发送视频流的同时,将解密次数和/或运行次数发送给服务器。发送解密次数和/或发送运行次数的另一种实施方式:将解密次数和/或运行次数包含在视频流中发送给服务器。发送解密次数和/或发送运行次数的另一种实施方式:将解密次数和/或运行次数包含在其他信息中发送给服务器。其他信息例如为身份验证信息或头像更新信息等,本发明所属领域的普通技术人员可以根据实际进行设置,本发明不做具体限制。
当服务器接收到主播端发送的解密次数和/或运行次数后,根据解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法。只有在服务器确定目标虚拟礼物的特效合法时,服务器才会将视频流发送给所有观众端设备,而如果确定目标虚拟礼物的特效不合法,服务器则不会将视频流发送给任一观众设备。由此保证了合法的虚拟礼物的特效才能显示给观众观看,虚假的虚拟礼物特效则无法显示给观众观看。
具体来讲,服务器首先需求确定解密次数和/或运行次数所表示的是哪个特效渲染函数的解密次数和/或运行次数。在一种实施方式中,目标虚拟礼物的标识与解密次数和/或运行次数共同发送给服务器,进而服务器根据目标虚拟礼物的标识确定解密次数和/或运行次数具体对应的特效渲染函数。在另一种实施方式中,服务器对视频流中的目标虚拟礼物的特效进行图像分析,确定出该特效所对应的目标虚拟礼物,进而确定解密次数和/或运行次数对应的特效渲染函数。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。
在本发明实施例中,服务器基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法有多种实施方式,以下介绍其中三种实施方式。
第一种:
在第一种实施方式中,服务器具体通过如下过程进行判断:
判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
第一种实施方式为大概判断方式。具体来讲,如果主播端设备发送的视频流中包括大量目标虚拟礼物的特效,且目标虚拟礼物的特效数量超过的正常范围,或者明显不符合常规,则确定视频流中的目标虚拟礼物的特效不合法。
在具体实现过程中,可以根据主播被赠送的虚拟礼物数量来适应设置第一预设次数和第二预设次数。例如一主播每天接收虚拟礼物玫瑰花(roses)的平均数量为3,那么可以将玫瑰花(roses)的第一预设次数和第二预设次数设置为略大于3的数,例如5。或者,根据大数据计算出所有主播接收虚拟礼物的数量,然后根据所有主播接收虚拟礼物的数量适应设置第一预设次数和第二预设次数。例如所有主播每天接收虚拟礼物玫瑰花(roses)的平均数量为30,那么可以将第一预设次数和第二预设次数设置为大于30的数,例如50。或者,还可以将第一预设次数和第二预设次数设置为较大的数,例如200,进而将数量明显很高的视频流作为不合法视频流。
在第一种实施方式中,主播端设备获取并向服务器发送解密次数,或者运行次数,或者解密次数和运行次数。那么,在一种实施方式中,主播端设备向服务器发送解密次数,或者解密次数和运行次数,服务器判断解密次数是否大于第一预设次数。当解密次数小于第一预设次数时,表示视频流中的目标虚拟礼物的特效合法;当解密次数大于等于第一预设次数时,表示视频流中的目标虚拟礼物的特效不合法。举例来说,主播每天接收虚拟礼物玫瑰花(roses)的平均数量为30,那么主播端设备每天解密Roses_resuoce的平均解密次数也应当为30。假设设置第一预设次数为35,那么,当解密次数大于等于35时,表示该主播端设备当天频繁解密roses_resuoce,非法解密目标特效渲染函数的可能性高,进而虚假渲染目标虚拟礼物的特效的可能性也高,故而服务器确定视频流中的目标虚拟礼物的特效不合法;当解密次数小于35时,表示该主播端设备当天解密Roses_resuoce的次数与往常类似,非法解密目标特效渲染函数的可能性低,进而虚假渲染目标虚拟礼物的特效的可能性也低,故而服务器确定视频流中的目标虚拟礼物的特效合法。
在另一种实施方式中,主播端设备向服务器发送运行次数,或者解密次数和运行次数,服务器判断运行次数是否大于第二预设次数。当运行次数小于第二预设次数时,表示视频流中的目标虚拟礼物的特效合法;当解密次数大于等于第二预设次数时,表示视频流中的目标虚拟礼物的特效不合法。以上一实施方式的例子来说,主播每天接收虚拟礼物玫瑰花(roses)的平均数量为30,那么主播端设备每天运行roses_resuoce的平均次数也应当为30,假设设置第二预设次数为35,那么,当运行次数大于等于35时,表示该主播端设备当天频繁运行roses_resuoce,非法运行目标特效渲染函数的可能性高,进而虚假渲染目标虚拟礼物的特效的可能性也高,故而服务器确定视频流中的目标虚拟礼物的特效不合法;当运行次数小于35时,表示该主播端设备当天运行roses_resuoce的次数与往常类似,非法运行目标特效渲染函数的可能性低,进而虚假渲染目标虚拟礼物的特效的可能性也低,故而服务器确定视频流中的目标虚拟礼物的特效合法。
在第三种实施方式中,主播端设备向服务器发送运解密次数和运行次数,服务器判断解密次数是否大于第一预设次数,以及判断运行次数是否大于第二预设次数。当解密次数小于第一预设次数,且运行次数小于第二预设次数时,表示视频流中的目标虚拟礼物的特效合法;当解密次数大于等于第一预设次数,或者运行次数大于等于第二预设次数,或者解密次数大于等于第一预设次数且运行次数大于等于第二预设次数时,表示视频流中的目标虚拟礼物的特效不合法。以上一实施方式的例子来说,主播每天接收虚拟礼物玫瑰花(roses)的平均数量为30,那么主播端设备每天解密和运行roses_resuoce的平均次数也应当为30,假设设置第一预设次数和第二预设次数均为35,那么,当运行次数或解密次数中的一个或两个大于等于35时,表示该主播端设备当天频繁解密或运行roses_resuoce,非法解密或运行目标特效渲染函数的可能性高,进而虚假渲染目标虚拟礼物的特效的可能性也高,故而服务器确定视频流中的目标虚拟礼物的特效不合法;当运行次数小于35,解密次数也小于35时,表示该主播端设备当天解密和运行目标特效渲染函数的次数与往常类似,非法解密和运行目标特效渲染函数的可能性低,进而虚假渲染目标虚拟礼物的特效的可能性也低,故而服务器确定视频流中的目标虚拟礼物的特效合法。
由上述描述可以看出,通过上述第一种实施方式,对视频例中虚拟礼物的特效合法性进行大概判断,可以拦截包含虚假信息的视频流发送给观众,由此进一步避免了虚假显示虚拟礼物的特效。
第二种:
在第二种实施方式中,服务器在判断虚拟礼物的特效合法性之前,还包括:
获取所述主播被赠送所述目标虚拟礼物的数量;
具体通过如下过程进行判断:
判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
为了对视频流中目标虚拟礼物的特效的合法性进行判断,服务器预先记录主播被赠送的各类型虚拟礼物的数量,并且,根据实际赠送情况更新各虚拟礼物的数量。
对应地,目标虚拟礼物的数量的含义与解密次数和运行次数的含义一致。例如,若解密次数和运行次数具体为历史次数,则目标虚拟礼物的数量也为历史数量,即主播总共被赠送的目标虚拟礼物的数量;若解密次数和运行次数指的是预设时间段内的解密次数和运行次数,则目标虚拟礼物的数量也为在该预设时间段内主播被赠送目标虚拟礼物的数量;若解密次数和运行次数指的是本次直播中特效渲染函数的解密次数和运行次数,则目标虚拟礼物的数量为本次直播中主播被赠送目标虚拟礼物的数量。
第二种实施方式为精确判断方式。由于服务器是在观众向主播赠送了目标虚拟礼物的情况下才向主播端设备发送目标密钥,因此主播端设备利用目标密钥解密目标特效渲染函数的解密次数,以及运行目标特效渲染函数的次数应当与目标虚拟礼物的数量相等。
所以,在第二种实施方式中,服务器首先获取发送目标虚拟礼物的数量。然后,在一种实施方式中,主播端设备向服务器发送解密次数,或者解密次数和运行次数,服务器判断解密次数是否与目标虚拟礼物的数量相等。当解密次数与目标虚拟礼物的数量相等时,表示主播端设备按照目标虚拟礼物的数量解密目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数与目标虚拟礼物的数量不相等时,表示主播端设备未按照目标虚拟礼物的数量解密目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
在另一种实施方式中,主播端设备向服务器发送运行次数,或者解密次数和运行次数,服务器判断运行次数是否与目标虚拟礼物的数量相等。当运行次数与目标虚拟礼物的数量相等时,表示主播端设备按照目标虚拟礼物的数量运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当运行次数与目标虚拟礼物的数量不相等时,表示主播端设备未在目标虚拟礼物的数量运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
在另一种实施方式中,主播端设备向服务器发送解密次数和运行次数,服务器判断解密次数和运行次数是否均与目标虚拟礼物的数量相等。当解密次数和运行次数与目标虚拟礼物的数量均相等,表示主播端设备按照目标虚拟礼物的数量解密并运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数或运行次数中的一个或两个与目标虚拟礼物的数量不相等时,表示主播端设备未按照目标虚拟礼物的数量解密或者运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
由上述描述可知,通过记录主播被赠送目标虚拟礼物的数量,将解密次数和/或运行次数与目标虚拟礼物的数量不相等的目标虚拟礼物的特效确定为不合法,精确地过滤出不合法视频流,可以拦截重复渲染虚拟礼物特效的视频流发送给观众,由此进一步避免了虚假显示虚拟礼物的特效。
第三种:
在第三种实施方式中,服务器具体通过如下过程进行判断:
判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
在本发明实施例中,目标特效渲染函数加密存储在主播端设备中,只有解密了目标特效渲染函数才能运行。再次运行目标特效渲染函数则需要再次解密。因此,在正常情况下,解密次数与运行次数相等。
因此,服务器判断解密次数是否与运行次数相等。当解密次数与运行次数相等时,表示主播端设备解密一次目标特效渲染函数才会运行一次目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数与运行次数不相等时,则确定视频流中的目标虚拟礼物的特效不合法。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择上述任一种实施方式来判断视频流中目标虚拟礼物的特效是否合法,且在不冲突的情况下可以选择多种实施方式结合,例如大概判断与精准判断结合等,本发明不做具体限制。
接下来,服务器如果确定视频流中的目标虚拟礼物的特效合法,则将视频流发送给所有观众端设备。每个观众端设备接收视频流后,对视频流进行解析,进而将解析出的视频显示在观众端设备的直播区域内。由于视频流包括了直播视频和目标虚拟礼物的特效,故而观众端设备能够同时显示直播视频和目标虚拟礼物的特效。进而,赠送该目标虚拟礼物的观众和其他所有观众均能从自己的观众端设备上观看到该目标虚拟礼物的特效。
可选的,在本发明实施例中,如果视频流中的目标虚拟礼物的特效不合法,服务器将拦截该视频流并警告主播,进而避免该视频流发送到观众端设备,进而避免观众观看到虚假的虚拟礼物特效。
在本发明实施例的技术方案中,将渲染虚拟礼物特效的N个特效渲染函数加密存储在主播端设备中,而密钥则存储在服务器中,N为正整数,所述服务器根据观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息,再基于所述赠送消息确定所述目标虚拟礼物的标识,以及解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥,然后将包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息发送给所述主播端设备。所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,再利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,然后运行所述目标特效渲染函数,渲染出所述目标虚拟礼物的特效,另外还获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,接着将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,最后所述解密次数和/或所述运行次数与视频流发送至所述服务器,所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,并且在判断合法时再将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。所以,由于所述主播端设备中的所述特效渲染函数处于加密状态,只有所述服务器提供了对应密钥才能解密并运行,而所述服务器提供的密钥与观众实际赠送的虚拟礼物一致,由此使得所述主播端设备只能渲染出观众实际赠送的虚拟礼物的特效,无法渲染出观众未赠送的虚拟礼物的特效,进而无法虚假显示虚拟礼物的特效给观众看,并且,所述服务器还进一步基于所述解密次数和/或所述运行次数对所述目标虚拟礼物的特效进行合法性判断,防止主播重复显示单个虚拟礼物的特效,所以解决了虚假显示虚拟礼物特效的技术问题,实现了避免主播虚假显示虚拟礼物的特效的技术效果,并减少了网络资源的浪费,提高了信息安全。
作为一种可选的实施例,在S104之后,还可以进一步包括:
删除所述目标密钥;
释放所述目标特效渲染函数。
具体来讲,在目标特效渲染函数运行输出目标虚拟礼物的特效后,主播端设备将删除目标密钥,并且释放内存中处于解密状态的目标特效渲染函数,避免目标密钥被盗窃,以及避免目标特效渲染函数被反复运行或者被导出,进一步避免了虚假显示虚拟礼物特效。
下面对服务器侧显示虚拟礼物特效的方法进行介绍,如图3所示,包括:
S201:接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
S202:基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
S203:获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
S204:向所述主播端设备发送所述虚拟礼物消息;
S205:接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
S206:基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
S207:在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备。
上文中已经对S201至S207的具体实施方式进行了详述,具体请参考上文,这里就不再重复赘述了。
作为一种可选的实施方式,在S201之后,服务器还可以进一步执行:
基于所述赠送消息查询所述观众端设备对应的观众所购买的虚拟礼物;
判断所述观众所购买的虚拟礼物是否包括所述目标虚拟礼物;
如果所述观众所购买的虚拟礼物包括所述目标虚拟礼物,执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤;
如果所述观众所购买的虚拟礼物不包括所述目标虚拟礼物,确定所述赠送消息不合法,不执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤。
具体来讲,在本发明实施例中,服务器会记录每个观众所购买的虚拟礼物,而观众所赠送的目标虚拟礼物应当是已购买的虚拟礼物。所以,在接收到赠送消息后,服务器基于赠送消息包括的观众标识和/或观众端设备标识,查询该观众所购买的虚拟礼物。然后,判断该观众购买虚拟礼物中是否包括目标虚拟礼物。
在本发明实施例中,如果观众所购买的虚拟礼物包括目标虚拟礼物,则表示该观众赠送主播目标虚拟礼物的行为是合法的,故而执行S202。反之,如果该观众所购买的虚拟礼物不包括目标虚拟礼物,那么该观众此时并不能赠送目标虚拟礼物,赠送行为是非法的,所以确定赠送消息不合法。由于赠送消息不合法,所以服务器将不执行S202,进而不执行后续S203至S207,由此拒绝非法赠送行为。
进一步,当确定赠送消息不合法时,服务器还可以向该观众端设备发送表示需要购买目标虚拟礼物的第一提示消息,或者发送表示当前赠送行为服务器不支持的第二提示消息,或者发送警告消息等,本发明不做具体限制。
由上述描述可知,通过判断观众所赠送的目标虚拟礼物是否包括在该观众购买的虚拟礼物中,并且在目标虚拟礼物不包括在该观众购买的虚拟礼物中,即赠送行为不合法时拒绝执行赠送,不仅避免了主播虚假显示虚拟礼物特效,并且还避免了观众非法赠送,从而进一步避免了网络资源浪费,提高了信息安全。
作为一种可选的实施方式,基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,至少可以通过如下三种方式实现。
第一种:
判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
第二种:
在基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法之前,还包括:
获取所述主播被赠送所述目标虚拟礼物的数量;
基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,具体包括:
判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
第三种:
基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,具体包括:
判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
上述三种实施方式由于上文中已经进行了详述,因此这里就不再重复赘述了。
基于与前述实施例中主播端设备侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种主播端设备,如图4所示,包括:
接收模块101,用于接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
读取模块102,用于基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
解密模块103,用于利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得所述目标特效渲染函数;
渲染模块104,用于运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
获得模块105,用于获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
编码模块106,用于将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
第一发送模块107,用于将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
进一步,所述主播端设备还包括:
删除模块,用于在运行所述目标特效渲染函数之后,删除所述目标密钥;
释放模块,用于释放所述目标特效渲染函数。
前述图1-图2实施例中的显示虚拟礼物特效的方法的各种变化方式和具体实例同样适用于本实施例的主播端设备,通过前述对显示虚拟礼物特效的方法的详细描述,本领域技术人员可以清楚的知道本实施例中主播端设备的实施方法,所以为了说明书的简洁,在此不再详述。
基于与前述实施例中服务器侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种服务器,如图5所示,包括:
第一接收模块201,用于接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
确定模块202,用于基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得模块203,用于获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
第一发送模块204,用于向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,将所述目标虚拟礼物的特效与所述主播端采集的直播视频编码为视频流,并将所述视频流发送至所述服务器;
第二接收模块205,用于接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
判断模块206,用于基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
第二发送模块207,用于在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
进一步,判断模块206用于判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
进一步,所述服务器还包括:
获取模块,用于在基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法之前,获取所述主播被赠送所述目标虚拟礼物的数量;
判断模块206用于判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。。
进一步,判断模块206用于判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
前述图1-图3实施例中的显示虚拟礼物特效的方法的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对显示虚拟礼物特效的方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
基于与前述实施例中主播端设备侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述主播端设备显示虚拟礼物特效的方法的任一方法的步骤。
基于与前述实施例中服务器侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述服务器显示虚拟礼物特效的方法的任一方法的步骤。
基于与前述实施例中主播端设备侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种主播端设备,如图6所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现前文所述主播端设备显示虚拟礼物特效的方法的任一方法的步骤。
其中,在图6中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
基于与前述实施例中服务器侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种服务器,如图7所示,包括存储器404、处理器402及存储在存储器404上并可在处理器上运行的计算机程序,所述处理器402执行所述程序时实现前文所述服务器侧显示虚拟礼物特效的方法的任一方法的步骤。
其中,在图7中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
前述图1-图3实施例中的显示虚拟礼物特效的方法的各种变化方式和具体实例同样适用于本实施例的主播端设备和服务器,通过前述对显示虚拟礼物特效的方法的详细描述,本领域技术人员可以清楚的知道本实施例中主播端设备和服务器的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,将渲染虚拟礼物特效的N个特效渲染函数加密存储在主播端设备中,而密钥则存储在服务器中,N为正整数,所述服务器根据观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息,再基于所述赠送消息确定所述目标虚拟礼物的标识,以及解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥,然后将包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息发送给所述主播端设备。所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,再利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,然后运行所述目标特效渲染函数,渲染出所述目标虚拟礼物的特效,另外还获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,接着将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,最后所述解密次数和/或所述运行次数与视频流发送至所述服务器,所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,并且在判断合法时再将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。所以,由于所述主播端设备中的所述特效渲染函数处于加密状态,只有所述服务器提供了对应密钥才能解密并运行,而所述服务器提供的密钥与观众实际赠送的虚拟礼物一致,由此使得所述主播端设备只能渲染出观众实际赠送的虚拟礼物的特效,无法渲染出观众未赠送的虚拟礼物的特效,进而无法虚假显示虚拟礼物的特效给观众看,并且,所述服务器还进一步基于所述解密次数和/或所述运行次数对所述目标虚拟礼物的特效进行合法性判断,防止主播重复显示单个虚拟礼物的特效,所以解决了虚假显示虚拟礼物特效的技术问题,实现了避免主播虚假显示虚拟礼物的特效的技术效果,并减少了网络资源的浪费,提高了信息安全。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种显示虚拟礼物特效的方法,应用于主播端设备,其特征在于,所述主播端设备存储有N个加密的特效渲染函数,每个特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述方法包括:
接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数;
运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
2.如权利要求1所述的方法,其特征在于,在运行所述目标特效渲染函数之后,还包括:
删除所述目标密钥;
释放所述目标特效渲染函数。
3.一种显示虚拟礼物特效的方法,应用于服务器,主播端设备和多个观众端设备接入所述服务器,其特征在于,所述服务器存储有N个密钥,所述主播端设备存储有N个加密的特效渲染函数,每个所述密钥用于解密一个加密的所述特效渲染函数,每个所述特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述方法包括:
接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数,将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流,将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器;
接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
4.如权利要求3所述的方法,其特征在于,在接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息之后,还包括:
基于所述赠送消息查询所述观众端设备对应的观众所购买的虚拟礼物;
判断所述观众所购买的虚拟礼物是否包括所述目标虚拟礼物;
如果所述观众所购买的虚拟礼物包括所述目标虚拟礼物,执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤;
如果所述观众所购买的虚拟礼物不包括所述目标虚拟礼物,确定所述赠送消息不合法,不执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤。
5.一种主播端设备,其特征在于,所述主播端设备存储有N个加密的特效渲染函数,每个特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述主播端设备包括:
接收模块,用于接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
读取模块,用于基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
解密模块,用于利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得所述目标特效渲染函数;
渲染模块,用于运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
获得模块,用于获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
编码模块,用于将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
第一发送模块,用于将所述解密次数和/或所述运行次数与所述视频流发送至所述服务器,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
6.一种服务器,主播端设备和多个观众端设备接入所述服务器,其特征在于,所述服务器存储有N个密钥,所述主播端设备存储有N个加密的特效渲染函数,每个所述密钥用于解密一个加密的所述特效渲染函数,每个所述特效渲染函数用于渲染一个虚拟礼物的特效,每个加密的所述特效渲染函数与每个虚拟礼物的标识对应存储,N为正整数,所述服务器包括:
第一接收模块,用于接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
确定模块,用于基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得模块,用于获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
第一发送模块,用于向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,将所述目标虚拟礼物的特效与所述主播端采集的直播视频编码为视频流,并将所述视频流发送至所述服务器;
第二接收模块,用于接收所述主播端设备发送的所述解密次数和/或所述运行次数与所述视频流;
判断模块,用于基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
第二发送模块,用于在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1或2所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求3或4所述方法的步骤。
9.一种主播端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1或2所述方法的步骤。
10.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求3或4所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710524132.8A CN109218837B (zh) | 2017-06-30 | 2017-06-30 | 一种显示虚拟礼物特效的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710524132.8A CN109218837B (zh) | 2017-06-30 | 2017-06-30 | 一种显示虚拟礼物特效的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218837A true CN109218837A (zh) | 2019-01-15 |
CN109218837B CN109218837B (zh) | 2020-09-08 |
Family
ID=64961093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710524132.8A Active CN109218837B (zh) | 2017-06-30 | 2017-06-30 | 一种显示虚拟礼物特效的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218837B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541909A (zh) * | 2020-04-30 | 2020-08-14 | 广州华多网络科技有限公司 | 全景直播的送礼方法、装置、设备及存储介质 |
CN114339270A (zh) * | 2020-10-12 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 直播中发放物品的控制方法、***、电子设备及存储介质 |
CN115348413A (zh) * | 2022-08-12 | 2022-11-15 | 上海华万通信科技有限公司 | 一种无线视频会议*** |
WO2023045973A1 (zh) * | 2021-09-27 | 2023-03-30 | 北京字跳网络技术有限公司 | 直播礼物云渲染方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079693A (zh) * | 2007-06-22 | 2007-11-28 | 广州金山多益网络科技有限公司 | 一种提高虚拟物品安全性的方法及其*** |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
CN104363519A (zh) * | 2014-11-21 | 2015-02-18 | 广州华多网络科技有限公司 | 一种基于在线直播的信息显示方法、相关装置及*** |
CN104618797A (zh) * | 2015-02-06 | 2015-05-13 | 腾讯科技(北京)有限公司 | 信息处理方法、装置及客户端 |
CN105247883A (zh) * | 2013-04-26 | 2016-01-13 | 耐瑞唯信有限公司 | 用于给媒体内容加水印的方法以及实现这一方法的*** |
US20160381427A1 (en) * | 2015-06-26 | 2016-12-29 | Amazon Technologies, Inc. | Broadcaster tools for interactive shopping interfaces |
CN106303578A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种基于主播节目的信息处理方法、电子设备及服务器 |
-
2017
- 2017-06-30 CN CN201710524132.8A patent/CN109218837B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079693A (zh) * | 2007-06-22 | 2007-11-28 | 广州金山多益网络科技有限公司 | 一种提高虚拟物品安全性的方法及其*** |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
CN105247883A (zh) * | 2013-04-26 | 2016-01-13 | 耐瑞唯信有限公司 | 用于给媒体内容加水印的方法以及实现这一方法的*** |
CN104363519A (zh) * | 2014-11-21 | 2015-02-18 | 广州华多网络科技有限公司 | 一种基于在线直播的信息显示方法、相关装置及*** |
CN104618797A (zh) * | 2015-02-06 | 2015-05-13 | 腾讯科技(北京)有限公司 | 信息处理方法、装置及客户端 |
US20160381427A1 (en) * | 2015-06-26 | 2016-12-29 | Amazon Technologies, Inc. | Broadcaster tools for interactive shopping interfaces |
CN106303578A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种基于主播节目的信息处理方法、电子设备及服务器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541909A (zh) * | 2020-04-30 | 2020-08-14 | 广州华多网络科技有限公司 | 全景直播的送礼方法、装置、设备及存储介质 |
CN114339270A (zh) * | 2020-10-12 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 直播中发放物品的控制方法、***、电子设备及存储介质 |
CN114339270B (zh) * | 2020-10-12 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 直播中发放物品的控制方法、***、电子设备及存储介质 |
WO2023045973A1 (zh) * | 2021-09-27 | 2023-03-30 | 北京字跳网络技术有限公司 | 直播礼物云渲染方法、装置、电子设备及存储介质 |
CN115348413A (zh) * | 2022-08-12 | 2022-11-15 | 上海华万通信科技有限公司 | 一种无线视频会议*** |
Also Published As
Publication number | Publication date |
---|---|
CN109218837B (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101271501B (zh) | 数字媒体文件的加解密方法及装置 | |
CN107454441B (zh) | 一种检测直播间刷人气行为的方法、直播平台服务器及计算机可读存储介质 | |
CN102333236B (zh) | 视频内容的加解密*** | |
CN100559829C (zh) | 管理音频/视频数据的单元和所述数据的访问控制方法 | |
CN100592683C (zh) | 来自数字权利管理加密解密器的受保护的返回路径 | |
CN109218837A (zh) | 一种显示虚拟礼物特效的方法和设备 | |
KR102206142B1 (ko) | 미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템 | |
CN101390391A (zh) | 用于传送管理数据的方法 | |
CN107613316B (zh) | 一种网络直播推流验证方法及*** | |
CN101277181A (zh) | 一种流媒体数字权限管理的动态多层加密方法 | |
CN101977190A (zh) | 数字内容加密传送方法以及服务器端 | |
KR20020086226A (ko) | 디지털 미디어의 복제 제어 방법 및 시스템 | |
CN105721903A (zh) | 在线播放视频的方法和*** | |
CN110113326A (zh) | 一种基于区块链的竞争排名方法及装置 | |
CN103237010A (zh) | 以加密方式提供数字内容的服务器端 | |
CN109561323A (zh) | Mp4文件加密、解密方法及装置 | |
CN109640175A (zh) | 一种基于视频文件的区块链加解密方法 | |
CA2633116C (en) | Method for encrypting and decrypting a conditional access content | |
CN103237011A (zh) | 数字内容加密传送方法以及服务器端 | |
CN109348293A (zh) | 基于hls技术的app端密钥混淆错序视频加密方法 | |
FR2970134A1 (fr) | Procede de transmission et de reception d'un contenu multimedia | |
CN109275030A (zh) | 基于hls技术的web端密钥混淆错序视频加密方法 | |
CN109218757A (zh) | 一种显示虚拟礼物特效的方法和设备 | |
CN103250423B (zh) | 用于接收借助控制字加扰的多媒体内容和captcha的方法 | |
CN110380843B (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 |