CN109218757B - 一种显示虚拟礼物特效的方法和设备 - Google Patents

一种显示虚拟礼物特效的方法和设备 Download PDF

Info

Publication number
CN109218757B
CN109218757B CN201710522432.2A CN201710522432A CN109218757B CN 109218757 B CN109218757 B CN 109218757B CN 201710522432 A CN201710522432 A CN 201710522432A CN 109218757 B CN109218757 B CN 109218757B
Authority
CN
China
Prior art keywords
special effect
virtual gift
target
target virtual
rendering function
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.)
Active
Application number
CN201710522432.2A
Other languages
English (en)
Other versions
CN109218757A (zh
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710522432.2A priority Critical patent/CN109218757B/zh
Publication of CN109218757A publication Critical patent/CN109218757A/zh
Application granted granted Critical
Publication of CN109218757B publication Critical patent/CN109218757B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental 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)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (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:将所述视频流发送至所述服务器。
在本发明实施例中,主播端设备存储有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中,将目标虚拟礼物的特效和主播端设备采集的直播视频共同编码为视频流。然后在S106中,将视频流发送给服务器。
接下来,服务器接收视频流后,再将视频流发送给所有观众端设备。每个观众端设备接收视频流后,对视频流进行解析,进而将解析出的视频显示在观众端设备的直播区域内。由于视频流包括了直播视频和目标虚拟礼物的特效,故而观众端设备能够同时显示直播视频和目标虚拟礼物的特效。进而,赠送该目标虚拟礼物的观众和其他所有观众均能从自己的观众端设备上观看到该目标虚拟礼物的特效。
在本发明实施例的技术方案中,将渲染虚拟礼物特效的N个特效渲染函数加密存储在主播端设备中,而密钥则存储在服务器中,N为正整数,所述服务器根据观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息,再基于所述赠送消息确定所述目标虚拟礼物的标识,以及解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥,然后将包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息发送给所述主播端设备。所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,再利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,然后运行所述目标特效渲染函数,渲染出所述目标虚拟礼物的特效,再将所述目标虚拟礼物的特效与所述主播端采集的直播视频编码为视频流,最后将所述视频流发送至所述服务器,所述服务器再将所述视频流发送给多个所述观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。所以,由于所述主播端设备中的所述特效渲染函数处于加密状态,只有所述服务器提供了对应密钥才能解密并运行,而所述服务器提供的密钥与观众实际赠送的虚拟礼物一致,由此使得所述主播端设备只能渲染出观众实际赠送的虚拟礼物的特效,无法渲染出观众未赠送的虚拟礼物的特效,进而无法虚假显示虚拟礼物的特效给观众看,所以解决了虚假显示虚拟礼物特效的技术问题,实现了避免主播虚假显示虚拟礼物的特效的技术效果,并减少了网络资源的浪费,提高了信息安全。
作为一种可选的实施例,主播端设备侧的显示虚拟礼物特效的方法还可以进一步包括:
获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
向所述服务器发送所述解密次数和/或所述运行次数,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备。
具体来讲,本发明实施例中的预设解密函数不仅能够解密目标特效渲染函数,还可以计算解密目标特效渲染函数的解密次数。以及,本发明实施例中的特效渲染函数不仅可以渲染出虚拟礼物的特效,还可以计算运行次数。其中,在一种实施方式中,解密次数和运行次数具体为历史次数,即每个特效渲染函数在主播端设备总共被解密的次数和运行的次数。在另一种实施方式中,解密次数和运行次数指的是预设时间段内解密一特效渲染函数的次数和运行该特效渲染函数的次数。预设时间段例如为7天、10天或30天等,本发明不做具体限制。在另一种实施方式中,解密次数和运行次数指的是本次直播中一特效渲染函数的被解密次数和被运行次数。
在本发明实施例中,预先设置预设解密函数中初始解密次数为0,预设解密函数每运行一次,解密次数增加1,并覆盖上一次的解密次数。并且,预设解密函数每次运行除了输出解密结果,即目标特效渲染函数,还会输出解密次数。以及,预先设置每个特效渲染函数中初始运行次数为0,特效渲染函数每运行一次,运行次数增加1,并覆盖上一次的运行次数。特效渲染函数每次运行除了输出渲染结果,还会输出运行次数。
在本发明实施例中,发送解密次数和/或发送运行次数的一种实施方式:主播端设备在发送视频流之后,发送视频流之前或者发送视频流的同时,将解密次数和/或运行次数发送给服务器。发送解密次数和/或发送运行次数的另一种实施方式:将解密次数和/或运行次数包含在视频流中发送给服务器。发送解密次数和/或发送运行次数的另一种实施方式:将解密次数和/或运行次数包含在其他信息中发送给服务器。其他信息例如为身份验证信息或头像更新信息等,本发明所属领域的普通技术人员可以根据实际进行设置,本发明不做具体限制。
当服务器接收到主播端发送的解密次数和/或运行次数后,根据解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法。只有在服务器确定目标虚拟礼物的特效合法时,服务器才会将视频流发送给所有观众端设备,而如果确定目标虚拟礼物的特效不合法,服务器则不会将视频流发送给任一观众设备。由此保证了合法的虚拟礼物的特效才能显示给观众观看,虚假的虚拟礼物特效则无法显示给观众观看。
具体来讲,服务器首先需求确定解密次数和/或运行次数所表示的是哪个特效渲染函数的解密次数和/或运行次数。在一种实施方式中,目标虚拟礼物的标识与解密次数和/或运行次数共同发送给服务器,进而服务器根据目标虚拟礼物的标识确定解密次数和/或运行次数具体对应的特效渲染函数。在另一种实施方式中,服务器对视频流中的目标虚拟礼物的特效进行图像分析,确定出该特效所对应的目标虚拟礼物,进而确定解密次数和/或运行次数对应的特效渲染函数。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。
在本发明实施例中,服务器基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法有多种实施方式,以下介绍其中三种实施方式。
第一种:
在第一种实施方式中,服务器具体通过如下过程进行判断:
判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
第一种实施方式为大概判断方式。具体来讲,如果主播端设备发送的视频流中包括大量目标虚拟礼物的特效,且目标虚拟礼物的特效数量超过的正常范围,或者明显不符合常规,则确定视频流中的目标虚拟礼物的特效不合法。
在具体实现过程中,可以根据主播被赠送的虚拟礼物数量来适应设置第一预设次数和第二预设次数。例如一主播每天接收虚拟礼物玫瑰花(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时,表示该主播端设备当天解密和运行目标特效渲染函数的次数与往常类似,非法解密和运行目标特效渲染函数的可能性低,进而虚假渲染目标虚拟礼物的特效的可能性也低,故而服务器确定视频流中的目标虚拟礼物的特效合法。
由上述描述可以看出,通过上述第一种实施方式,对视频例中虚拟礼物的特效合法性进行大概判断,可以拦截包含虚假信息的视频流发送给观众,由此进一步避免了虚假显示虚拟礼物的特效。
第二种:
在第二种实施方式中,服务器在判断虚拟礼物的特效合法性之前,还包括:
获取所述主播被赠送所述目标虚拟礼物的数量;
具体通过如下过程进行判断:
判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
为了对视频流中目标虚拟礼物的特效的合法性进行判断,服务器预先记录主播被赠送的各类型虚拟礼物的数量,并且,根据实际赠送情况更新各虚拟礼物的数量。
对应地,目标虚拟礼物的数量的含义与解密次数和运行次数的含义一致。例如,若解密次数和运行次数具体为历史次数,则目标虚拟礼物的数量也为历史数量,即主播总共被赠送的目标虚拟礼物的数量;若解密次数和运行次数指的是预设时间段内的解密次数和运行次数,则目标虚拟礼物的数量也为在该预设时间段内主播被赠送目标虚拟礼物的数量;若解密次数和运行次数指的是本次直播中特效渲染函数的解密次数和运行次数,则目标虚拟礼物的数量为本次直播中主播被赠送目标虚拟礼物的数量。
第二种实施方式为精确判断方式。由于服务器是在观众向主播赠送了目标虚拟礼物的情况下才向主播端设备发送目标密钥,因此主播端设备利用目标密钥解密目标特效渲染函数的解密次数,以及运行目标特效渲染函数的次数应当与目标虚拟礼物的数量相等。
所以,在第二种实施方式中,服务器首先获取发送目标虚拟礼物的数量。然后,在一种实施方式中,主播端设备向服务器发送解密次数,或者解密次数和运行次数,服务器判断解密次数是否与目标虚拟礼物的数量相等。当解密次数与目标虚拟礼物的数量相等时,表示主播端设备按照目标虚拟礼物的数量解密目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数与目标虚拟礼物的数量不相等时,表示主播端设备未按照目标虚拟礼物的数量解密目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
在另一种实施方式中,主播端设备向服务器发送运行次数,或者解密次数和运行次数,服务器判断运行次数是否与目标虚拟礼物的数量相等。当运行次数与目标虚拟礼物的数量相等时,表示主播端设备按照目标虚拟礼物的数量运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当运行次数与目标虚拟礼物的数量不相等时,表示主播端设备未在目标虚拟礼物的数量运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
在另一种实施方式中,主播端设备向服务器发送解密次数和运行次数,服务器判断解密次数和运行次数是否均与目标虚拟礼物的数量相等。当解密次数和运行次数与目标虚拟礼物的数量均相等,表示主播端设备按照目标虚拟礼物的数量解密并运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数或运行次数中的一个或两个与目标虚拟礼物的数量不相等时,表示主播端设备未按照目标虚拟礼物的数量解密或者运行目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效不合法。
由上述描述可知,通过记录主播被赠送目标虚拟礼物的数量,将解密次数和/或运行次数与目标虚拟礼物的数量不相等的目标虚拟礼物的特效确定为不合法,精确地过滤出不合法视频流,可以拦截重复渲染虚拟礼物特效的视频流发送给观众,由此进一步避免了虚假显示虚拟礼物的特效。
第三种:
在第三种实施方式中,服务器具体通过如下过程进行判断:
判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
在本发明实施例中,目标特效渲染函数加密存储在主播端设备中,只有解密了目标特效渲染函数才能运行。再次运行目标特效渲染函数则需要再次解密。因此,在正常情况下,解密次数与运行次数相等。
因此,服务器判断解密次数是否与运行次数相等。当解密次数与运行次数相等时,表示主播端设备解密一次目标特效渲染函数才会运行一次目标特效渲染函数,进而确定视频流中的目标虚拟礼物的特效合法;当解密次数与运行次数不相等时,则确定视频流中的目标虚拟礼物的特效不合法。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择上述任一种实施方式来判断视频流中目标虚拟礼物的特效是否合法,且在不冲突的情况下可以选择多种实施方式结合,例如大概判断与精准判断结合等,本发明不做具体限制。
作为一种可选的实施例,在S104之后,还可以进一步包括:
删除所述目标密钥;
释放所述目标特效渲染函数。
具体来讲,在目标特效渲染函数运行输出目标虚拟礼物的特效后,主播端设备将删除目标密钥,并且释放内存中处于解密状态的目标特效渲染函数,避免目标密钥被盗窃,以及避免目标特效渲染函数被反复运行或者被导出,进一步避免了虚假显示虚拟礼物特效。
下面对服务器侧显示虚拟礼物特效的方法进行介绍,如图3所示,包括:
S201:接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
S202:基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
S203:获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
S204:向所述主播端设备发送所述虚拟礼物消息;
S205:接收所述主播端设备发送的所述视频流;
S206:将所述视频流发送给多个所述观众端设备。
上文中已经对S201至S206的具体实施方式进行了详述,具体请参考上文,这里就不再重复赘述了。
作为一种可选的实施方式,在S201之后,服务器还可以进一步执行:
基于所述赠送消息查询所述观众端设备对应的观众所购买的虚拟礼物;
判断所述观众所购买的虚拟礼物是否包括所述目标虚拟礼物;
如果所述观众所购买的虚拟礼物包括所述目标虚拟礼物,执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤;
如果所述观众所购买的虚拟礼物不包括所述目标虚拟礼物,确定所述赠送消息不合法,不执行所述基于所述赠送消息确定所述目标虚拟礼物的标识以及所述目标虚拟礼物对应的目标密钥的步骤。
具体来讲,在本发明实施例中,服务器会记录每个观众所购买的虚拟礼物,而观众所赠送的目标虚拟礼物应当是已购买的虚拟礼物。所以,在接收到赠送消息后,服务器基于赠送消息包括的观众标识和/或观众端设备标识,查询该观众所购买的虚拟礼物。然后,判断该观众购买虚拟礼物中是否包括目标虚拟礼物。
在本发明实施例中,如果观众所购买的虚拟礼物包括目标虚拟礼物,则表示该观众赠送主播目标虚拟礼物的行为是合法的,故而执行S202。反之,如果该观众所购买的虚拟礼物不包括目标虚拟礼物,那么该观众此时并不能赠送目标虚拟礼物,赠送行为是非法的,所以确定赠送消息不合法。由于赠送消息不合法,所以服务器将不执行S202,进而不执行后续S203至S206,由此拒绝非法赠送行为。
进一步,当确定赠送消息不合法时,服务器还可以向该观众端设备发送表示需要购买目标虚拟礼物的第一提示消息,或者发送表示当前赠送行为服务器不支持的第二提示消息,或者发送警告消息等,本发明不做具体限制。
由上述描述可知,通过判断观众所赠送的目标虚拟礼物是否包括在该观众购买的虚拟礼物中,并且在目标虚拟礼物不包括在该观众购买的虚拟礼物中,即赠送行为不合法时拒绝执行赠送,不仅避免了主播虚假显示虚拟礼物特效,并且还避免了观众非法赠送,从而进一步避免了网络资源浪费,提高了信息安全。
作为一种可选的实施方式,在S205之后,服务器还可以进一步执行:
接收所述主播端设备发送的所述主播端设备解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法;
在所述视频流中的目标虚拟礼物的特效合法时,执行所述将所述视频流发送给接入所述服务器的多个观众端设备的步骤。
具体来讲,基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,至少可以通过如下三种方式实现。
第一种:
判断所述解密次数是否小于第一预设次数;当所述解密次数小于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否小于第二预设次数;当所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数是否小于第一预设次数,以及判断所述运行次数是否小于第二预设次数;当所述解密次数小于所述第一预设次数,且所述运行次数小于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数大于等于所述第一预设次数,和/或所述运行次数大于等于所述第二预设次数时,表示所述视频流中的目标虚拟礼物的特效不合法。
第二种:
在基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法之前,还包括:
获取所述主播被赠送所述目标虚拟礼物的数量;
基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,具体包括:
判断所述解密次数是否与所述目标虚拟礼物的数量相等;当所述解密次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述运行次数是否与所述目标虚拟礼物的数量相等;当所述运行次数与所述目标虚拟礼物的数量相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法;或者
判断所述解密次数和所述运行次数是否均与所述目标虚拟礼物的数量相等;当所述解密次数和运行次数与所述目标虚拟礼物的数量均相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数和/或所述运行次数与所述目标虚拟礼物的数量不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
第三种:
基于解密次数和/或运行次数判断视频流中的目标虚拟礼物的特效是否合法,具体包括:
判断所述解密次数与所述运行次数是否相等;当所述解密次数与所述运行次数相等时,表示所述视频流中的目标虚拟礼物的特效合法;当所述解密次数与所述运行次数不相等时,表示所述视频流中的目标虚拟礼物的特效不合法。
上述三种实施方式由于上文中已经进行了详述,因此这里就不再重复赘述了。
基于与前述实施例中主播端设备侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种主播端设备,如图4所示,包括:
接收模块101,用于接收所述主播端设备所接入的服务器发送的虚拟礼物消息,所述虚拟礼物消息包括观众赠送的目标虚拟礼物的标识以及用于解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
读取模块102,用于基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数;
解密模块103,用于利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得所述目标特效渲染函数;
渲染模块104,用于运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效;
编码模块105,用于将所述目标虚拟礼物的特效与所述主播端设备采集的直播视频编码为视频流;
第一发送模块106,用于将所述视频流发送至所述服务器,以使所述服务器将所述视频流发送给接入所述服务器的多个观众端设备,以使多个所述观众端设备基于所述视频流显示所述目标虚拟礼物的特效以及直播视频。
进一步,所述主播端设备还包括:
删除模块,用于在运行所述目标特效渲染函数之后,删除所述目标密钥;
释放模块,用于释放所述目标特效渲染函数。
更进一步,所述主播端设备还包括:
获得模块,用于获得解密所述目标特效渲染函数的解密次数和/或运行所述目标特效渲染函数的运行次数;
第二发送模块,用于向所述服务器发送所述解密次数和/或所述运行次数,以使所述服务器基于所述解密次数和/或所述运行次数判断所述视频流中的目标虚拟礼物的特效是否合法,在所述视频流中的目标虚拟礼物的特效合法时,将所述视频流发送给接入所述服务器的多个观众端设备。
前述图1-图2实施例中的显示虚拟礼物特效的方法的各种变化方式和具体实例同样适用于本实施例的主播端设备,通过前述对显示虚拟礼物特效的方法的详细描述,本领域技术人员可以清楚的知道本实施例中主播端设备的实施方法,所以为了说明书的简洁,在此不再详述。
基于与前述实施例中服务器侧显示虚拟礼物特效的方法同样的发明构思,本发明还提供一种服务器,如图5所示,包括:
第一接收模块201,用于接收所述观众端设备发送的表示赠送主播目标虚拟礼物的赠送消息;
确定模块202,用于基于所述赠送消息确定所述目标虚拟礼物的标识,以及确定解密所述目标虚拟礼物对应的目标特效渲染函数的目标密钥;
获得模块203,用于获得包括所述目标虚拟礼物的标识和所述目标密钥的虚拟礼物消息;
第一发送模块204,用于向所述主播端设备发送所述虚拟礼物消息,以使所述主播端设备基于所述目标虚拟礼物的标识读取出加密的所述目标特效渲染函数,利用所述目标密钥对加密的所述目标特效渲染函数进行解密,获得解密后的所述目标特效渲染函数,运行所述目标特效渲染函数,以渲染出所述目标虚拟礼物的特效,将所述目标虚拟礼物的特效与所述主播端采集的直播视频编码为视频流,并将所述视频流发送至所述服务器;
第二接收模块205,用于接收所述主播端设备发送的所述视频流;
第二发送模块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所述方法的步骤。
CN201710522432.2A 2017-06-30 2017-06-30 一种显示虚拟礼物特效的方法和设备 Active CN109218757B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710522432.2A CN109218757B (zh) 2017-06-30 2017-06-30 一种显示虚拟礼物特效的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710522432.2A CN109218757B (zh) 2017-06-30 2017-06-30 一种显示虚拟礼物特效的方法和设备

Publications (2)

Publication Number Publication Date
CN109218757A CN109218757A (zh) 2019-01-15
CN109218757B true CN109218757B (zh) 2020-09-08

Family

ID=64976806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710522432.2A Active CN109218757B (zh) 2017-06-30 2017-06-30 一种显示虚拟礼物特效的方法和设备

Country Status (1)

Country Link
CN (1) CN109218757B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572689B (zh) * 2019-09-23 2021-09-21 广州方硅信息技术有限公司 展示资源的方法、装置、设备及直播***

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143133A (zh) * 2010-08-05 2011-08-03 华为技术有限公司 Http流播放方式中支持广告内容的方法、装置和***
CN103634681A (zh) * 2013-11-29 2014-03-12 腾讯科技(成都)有限公司 直播互动方法、装置、客户端、服务器及***
CN104221392A (zh) * 2012-03-23 2014-12-17 耶德托公司 控制对ip流送内容的访问
CN104363519A (zh) * 2014-11-21 2015-02-18 广州华多网络科技有限公司 一种基于在线直播的信息显示方法、相关装置及***
CN104618797A (zh) * 2015-02-06 2015-05-13 腾讯科技(北京)有限公司 信息处理方法、装置及客户端
CN104936004A (zh) * 2015-06-05 2015-09-23 广州酷狗计算机科技有限公司 视频录制方法及装置
CN105100080A (zh) * 2015-06-30 2015-11-25 广州华多网络科技有限公司 一种基于在线直播的牌类互动方法、相关设备及***
US9270724B1 (en) * 2015-06-25 2016-02-23 Amarone Partners, Llc System and method for content streaming with feature detection
CN105516748A (zh) * 2015-11-27 2016-04-20 北京奇虎科技有限公司 一种实现网络直播的方法和服务器
CN106101736A (zh) * 2016-06-28 2016-11-09 广州华多网络科技有限公司 一种虚拟礼物的展示方法和***
CN106101146A (zh) * 2016-08-12 2016-11-09 暴风集团股份有限公司 基于分块格式进行Flash对等网络直播的方法及***
CN106453559A (zh) * 2016-10-13 2017-02-22 北京奇虎科技有限公司 一种业务对象的处理方法、服务器、终端和***
CN106789992A (zh) * 2016-12-09 2017-05-31 武汉斗鱼网络科技有限公司 一种直播平台主播白名单管理方法及管理***

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143133A (zh) * 2010-08-05 2011-08-03 华为技术有限公司 Http流播放方式中支持广告内容的方法、装置和***
CN104221392A (zh) * 2012-03-23 2014-12-17 耶德托公司 控制对ip流送内容的访问
CN103634681A (zh) * 2013-11-29 2014-03-12 腾讯科技(成都)有限公司 直播互动方法、装置、客户端、服务器及***
CN104363519A (zh) * 2014-11-21 2015-02-18 广州华多网络科技有限公司 一种基于在线直播的信息显示方法、相关装置及***
CN104618797A (zh) * 2015-02-06 2015-05-13 腾讯科技(北京)有限公司 信息处理方法、装置及客户端
CN104936004A (zh) * 2015-06-05 2015-09-23 广州酷狗计算机科技有限公司 视频录制方法及装置
US9270724B1 (en) * 2015-06-25 2016-02-23 Amarone Partners, Llc System and method for content streaming with feature detection
CN105100080A (zh) * 2015-06-30 2015-11-25 广州华多网络科技有限公司 一种基于在线直播的牌类互动方法、相关设备及***
CN105516748A (zh) * 2015-11-27 2016-04-20 北京奇虎科技有限公司 一种实现网络直播的方法和服务器
CN106101736A (zh) * 2016-06-28 2016-11-09 广州华多网络科技有限公司 一种虚拟礼物的展示方法和***
CN106101146A (zh) * 2016-08-12 2016-11-09 暴风集团股份有限公司 基于分块格式进行Flash对等网络直播的方法及***
CN106453559A (zh) * 2016-10-13 2017-02-22 北京奇虎科技有限公司 一种业务对象的处理方法、服务器、终端和***
CN106789992A (zh) * 2016-12-09 2017-05-31 武汉斗鱼网络科技有限公司 一种直播平台主播白名单管理方法及管理***

Also Published As

Publication number Publication date
CN109218757A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
US20190340384A1 (en) Key providing method, video playing method, server and client
US8233623B2 (en) Methods and systems for blackout provisioning in a distribution network
KR100977106B1 (ko) 안전한 데이터 전송 프로세스 및 전자 모듈
US9215505B2 (en) Method and system for secure processing a stream of encrypted digital audio/video data
CN101977190B (zh) 数字内容加密传送方法以及服务器端
CN107613316B (zh) 一种网络直播推流验证方法及***
CN109218837B (zh) 一种显示虚拟礼物特效的方法和设备
CN109768978B (zh) 一种混淆数据的方法及相关装置
CN111093097A (zh) 流媒体数据加密、解密方法、装置、电子设备及存储介质
CN100401769C (zh) 一种对直播流媒体数据进行加密和解密的方法
CN113128999B (zh) 一种区块链隐私保护方法及装置
TWI559755B (zh) 用於隱私保護之廣告選擇的系統與方法
CN105871805A (zh) 防盗链的方法及装置
CN104506497A (zh) 一种信息发布方法和***
CN106549757B (zh) Web服务的数据真伪识别方法、服务端和客户端
CN109218753B (zh) 一种显示虚拟礼物特效的方法和设备
CN109218757B (zh) 一种显示虚拟礼物特效的方法和设备
TW201228399A (en) Method for transmitting and receiving a multimedia content
EP3051768A1 (en) Secure data transmission
US9258612B2 (en) Transmission, reception and identification methods, security processor and information recording medium for said methods
CN108055356A (zh) 一种信息处理方法、服务器、客户端及可读存储介质
CN115225934B (zh) 视频播放方法、***、电子设备以及存储介质
CN101331768B (zh) 传送有条件访问内容的方法
CN112804339B (zh) 一种定时推送消息的处理***及其控制方法
CN110572689B (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