本申请涉及计算机及通信技术领域,具体而言,涉及一种基于视频的互动方法、装置、计算机可读介质及电子设备。
背景技术:
在视频直播场景中,主播有时需要与观众进行互动,相关技术中的做法是配置web活动入口,但是这种配置方式依赖于后套配置,主播不能根据开播内容灵活地与观众进行互动,而且web配置的方式也存在兼容性较差的问题。
技术实现要素:
本申请的实施例提供了一种基于视频的互动方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以通过画面融合生成直播视频流的方式来实现主播端与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播端能够根据开播内容灵活地选择互动方式。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种基于视频的互动方法,包括:将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流;将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流;获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的;基于所述更新画面重新生成直播视频流并发送至所述观众端。
根据本申请实施例的一个方面,提供了一种基于视频的互动方法,包括:显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的;检测观众端的用户针对所述直播视频流所触发的第一互动信息;将所述第一互动信息反馈至所述指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面;接收并显示所述指定处理端发送的根据所述更新画面重新生成的直播视频流。
根据本申请实施例的一个方面,提供了一种基于视频的互动装置,包括:融合单元,用于将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流;发送单元,用于将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流;获取单元,用于获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的;处理单元,用于基于所述更新画面重新生成直播视频流并发送至所述观众端。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置设置在直播端中的情况下,所述融合单元还用于:检测主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或者,检测主播端的用户选择的目标互动程序,将所述目标互动程序的信息发送至云端,获取所述云端返回的根据所述目标互动程序生成的所述互动程序画面。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置设置在云端中的情况下,所述融合单元还用于:检测主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或者,检测主播端的用户选择的目标互动程序,将所述目标互动程序的信息发送至云端,获取所述云端返回的根据所述目标互动程序生成的所述互动程序画面。
在本申请的一些实施例中,基于前述方案,所述融合单元配置为:对所述视频直播画面进行渲染,得到第一纹理;通过离屏渲染的方式对所述互动程序画面进行渲染,得到第二纹理;将所述第一纹理与所述第二纹理按照设定的透明度进行融合,得到融合纹理;对所述融合纹理进行编码处理得到视频数据流,基于所述视频数据流生成所述直播视频流。
在本申请的一些实施例中,基于前述方案,所述融合单元配置为:对获取到的音频数据进行编码处理得到音频数据流;将所述视频数据流和所述音频数据流按照时间戳进行融合处理,生成所述直播视频流。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置设置在直播端中的情况下,所述获取单元配置为:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至云端,获取所述云端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面;或者,接收云端发送的所述更新画面,所述更新画面是由所述云端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置设置在云端中的情况下,所述获取单元配置为:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收主播端发送的所述更新画面,所述更新画面是由所述主播端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至主播端,获取所述主播端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面。
在本申请的一些实施例中,基于前述方案,若所述观众端的数量为多个,则所述获取单元配置为:获取根据目标观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述目标观众端是多个所述观众端中针对所述直播视频流中的同一显示对象最先反馈所述第一互动信息的观众端。
在本申请的一些实施例中,基于前述方案,所述发送单元还用于:在基于所述更新画面重新生成直播视频流并发送至所述观众端之后,向所述目标观众端反馈针对所述第一互动信息的互动结果。
在本申请的一些实施例中,基于前述方案,所述处理单元还用于:若检测到主播端的用户针对所述直播视频流所触发的第二互动信息,则获取根据所述第二互动信息对所述互动程序画面进行更新得到的更新画面,并基于得到的更新画面重新生成所述直播视频流。
根据本申请实施例的一个方面,提供了一种基于视频的互动装置,包括:显示单元,用于显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的;检测单元,用于检测观众端的用户针对所述直播视频流所触发的第一互动信息;反馈单元,用于将所述第一互动信息反馈至指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面;处理单元,用于接收并显示所述指定处理端发送的根据所述更新画面重新生成的直播视频流。
在本申请的一些实施例中,基于前述方案,所述基于视频的互动装置配置于观众端,所述观众端包括视频显示层和触控层,所述触控层叠放于所述视频显示层上;所述显示单元通过所述视频显示层显示所述直播视频流,所述检测单元通过所述触控层检测所述第一互动信息。
在本申请的一些实施例中,基于前述方案,所述观众端还包括叠放于所述触控层上的私有显示层;所述处理单元通过所述私有显示层接收并显示所述主播端反馈的针对所述第一互动信息的互动结果。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的基于视频的互动方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的基于视频的互动方法。
在本申请的一些实施例所提供的技术方案中,主播端通过将视频直播画面与互动程序画面进行融合生成直播视频流,将直播视频流发送至观众端进行显示,然后获取根据观众端反馈的第一互动信息对互动程序画面进行更新得到的更新画面,以基于更新画面重新生成直播视频流并发送至观众端,使得能够通过画面融合生成直播视频流的方式来实现主播端与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播端能够根据开播内容灵活地选择互动方式。
在本申请的一些实施例所提供的技术方案中,观众端通过显示接收到的直播视频流,并将观众端的用户针对直播视频流所触发的第一互动信息反馈至指定处理端,以使指定处理端根据第一互动信息对互动程序画面进行更新得到更新画面,然后接收并显示指定处理端发送的根据更新画面重新生成的直播视频流,使得主播能够通过画面融合生成直播视频流的方式来实现与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播能够根据开播内容灵活地选择互动方式;同时,观众端也无需配置及运行互动程序的代码,安全性较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的一种示例性系统架构的示意图;
图2示出了可以应用本申请实施例的技术方案的另一种示例性系统架构的示意图;
图3a示出了根据本申请的一个实施例的基于视频的互动方法的流程图;
图3b示出了根据本申请的一个实施例的基于视频的互动方法的流程图;
图4示出了根据本申请的一个实施例的将视频直播画面与互动程序画面进行融合处理的流程图;
图5示出了根据本申请的一个实施例的基于视频的互动方法的流程图;
图6示出了根据本申请的一个实施例的渲染得到的互动小游戏的画面;
图7示出了根据本申请的一个实施例的渲染得到的互动抽奖活动的画面;
图8示出了根据本申请的一个实施例的在直播过程中进行互动游戏的交互界面的组成结构图;
图9示出了根据本申请的一个实施例的在直播过程中进行互动抽奖活动的交互界面的组成结构图;
图10示出了根据本申请的一个实施例的生成视频流的流程图;
图11至图16示出了根据本申请的实施例的视频互动界面示意图;
图17示出了根据本申请的一个实施例的主播端与观众端的具体交互过程图;
图18示出了根据本申请的一个实施例的基于视频的互动装置的框图;
图19示出了根据本申请的一个实施例的基于视频的互动装置的框图;
图20示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的一种示例性系统架构的示意图。
如图1所示,系统架构100可以包括观众端(观众端可以是如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等等)、网络104和主播端105。网络104用以在观众端和主播端105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的观众端和主播端105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的观众端和主播端105。
在本申请的一个实施例中,主播端105的用户可以在主播端105上选择需要与观众进行互动的互动程序,然后根据该互动程序生成互动程序画面,进而将视频直播画面与该互动程序画面进行融合处理生成直播视频流,并显示该直播视频流。主播端105在显示该直播视频流的同时,还可以将直播视频流通过网络104发送给观众端,以便于观众端显示该直播视频流。
观众端在显示该直播视频流的同时,可以检测观众针对显示出的直播视频流所触发的互动信息。比如,若观众端101检测到观众针对显示的直播视频流所触发的互动信息,则观众端101可以将该互动信息发送至主播端105。主播端105在接收到该互动信息之后,可以根据该互动信息对互动程序画面进行更新得到更新画面,并根据该更新画面和视频直播画面重新生成直播视频流,并将重新生成的直播视频流发送给各个观众端进行显示。此外,主播端105还可以向观众端101发送互动响应信息,进而观众端101可以通过私有屏的方式来展示该互动响应信息。
图2示出了可以应用本申请实施例的技术方案的另一种示例性系统架构的示意图,该系统架构200在包括图1中所示的观众端、网络104和主播端105之外,还可以包括云端106。
基于图2所示的系统架构,在本申请的一个实施例中,互动程序可以运行在云端106,以类似于云游戏的方式运行。在这种情况下,主播端105的用户可以在主播端105上选择需要与观众进行互动的互动程序,然后主播端105将互动程序的信息(比如互动程序的标识等)发送至云端106,云端106根据该互动程序生成互动程序画面,并将该互动程序画面发送给主播端105。主播端105在获取到该互动程序画面之后,将视频直播画面与该互动程序画面进行融合处理生成直播视频流,并显示该直播视频流。主播端105在显示该直播视频流的同时,还可以将直播视频流通过网络104发送给观众端,以便于观众端显示该直播视频流。
观众端在显示该直播视频流的同时,可以检测观众针对显示出的直播视频流所触发的互动信息。比如,若观众端101检测到观众针对显示的直播视频流所触发的互动信息,则观众端101可以将该互动信息通过网络104发送至云端106,云端106在接收到该互动信息之后,可以根据该互动信息对互动程序画面进行更新得到更新画面,并将该更新画面返回给主播端105。主播端105在接收到该更新画面之后,可以根据该更新画面和视频直播画面重新生成直播视频流,并将重新生成的直播视频流发送给各个观众端进行显示。此外,主播端105还可以向观众端101发送互动响应信息,进而观众端101可以通过私有屏的方式来展示该互动响应信息。在这种交互方式中,观众端的互动信息是直接通过网络104发送给云端106的。
在另一种交互方式中,观众端101在检测到观众针对显示的直播视频流所触发的互动信息之后,可以将该互动信息通过网络104发送至主播端105,然后由主播端105将该互动信息发送给云端106,云端106在接收到该互动信息之后,可以根据该互动信息对互动程序画面进行更新得到更新画面,并将该更新画面返回给主播端105。主播端105在接收到该更新画面之后,可以根据该更新画面和视频直播画面重新生成直播视频流,并将重新生成的直播视频流发送给各个观众端进行显示。即在这种交互方式中,观众端的互动信息是通过主播端105反馈给云端106的。
在本申请的一个实施例中,云端106可以是区块链网络中的一个区块链节点,比如可以根据距离因素、网络状态因素等从区块链网络中选择与观众端和主播端105进行交互的区块链节点作为云端106。其中,区块链网络是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain)本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图3a示出了根据本申请的一个实施例的基于视频的互动方法的流程图,该基于视频的互动方法可以由作为主播端的终端设备来执行,比如可以由图1或图2中所示的主播端105来执行。参照图3a所示,该基于视频的互动方法至少包括步骤s310至步骤s340,详细介绍如下:
在步骤s310中,将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流。
在本申请的一个实施例中,互动程序画面可以是由主播端生成的。比如主播端可以检测用户选择的目标互动程序,然后根据目标互动程序生成互动程序画面。更具体地,主播端的显示界面上可以显示出待选择的互动程序的信息,进而用户可以在该显示界面上选择需要与观众进行互动的目标互动程序。
在本申请的一个实施例中,互动程序也可以是通过类似于云游戏的方式运行在云端。在这种情况下,主播端可以检测用户选择的目标互动程序,然后将目标互动程序的信息发送至云端,由云端生成目标互动程序对应的互动程序画面,进而主播端可以从云端获取到该互动程序画面。
在本申请的一个实施例中,如图4所示,将视频直播画面与互动程序画面进行融合处理的过程,可以包括如下步骤:
步骤s410,对视频直播画面进行渲染,得到第一纹理,通过离屏渲染的方式对互动程序画面进行渲染,得到第二纹理。
在本申请的一个实施例中,离屏渲染是在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作,即将视频直播画面在当前屏幕缓冲区进行渲染,将互动程序画面在当前屏幕缓冲区以外开辟一个缓冲区进行渲染。通过对互动程序画面进行离屏渲染,使得互动程序画面的渲染过程与视频直播画面的渲染过程可以相互独立,进而可以方便地对互动程序画面和视频直播画面分别进行渲染。
步骤s420,将第一纹理与第二纹理按照设定的透明度进行融合,得到融合纹理。
在本申请的一个实施例中,在将第一纹理与第二纹理按照设定的透明度进行融合时,可以保证第二纹理能够显示在第一纹理之上,进而能够实现在视频直播画面上进行互动的效果。
步骤s430,对融合纹理进行编码处理得到视频数据流,基于该视频数据流生成直播视频流。
在本申请的一个实施例中,还可以对采集到的音频数据进行编码处理得到音频数据流,然后将视频数据流和音频数据流按照时间戳进行融合处理,生成直播视频流。具体而言,音频数据流与视频数据流之间存在时间对应关系,因此可以按照时间戳来将视频数据流和音频数据流进行融合处理。
继续参照图3a所示,在步骤s320中,显示所述直播视频流,将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流。
在本申请的实施例中,通过显示直播视频流,并将直播视频流发送至观众端进行显示,使得主播端与观众端之间可以同步显示直播视频流。
在步骤s330中,获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的。
在本申请的一个实施例中,主播端可以接收观众端反馈的第一互动信息,然后响应该第一互动信息来对互动程序画面进行更新得到更新画面。即在该实施例中,主播端可以直接获取到观众端反馈的互动信息,然后基于该互动信息对互动程序画面进行更新。
在本申请的一个实施例中,主播端可以接收观众端反馈的第一互动信息,然后将该第一互动信息发送至云端,由云端根据该第一互动信息对互动程序画面进行更新得到更新画面,进而主播端从云端获取到该更新画面。即在该实施例中,主播端用于接收观众端反馈的互动信息,云端用于根据互动信息对互动程序画面进行更新得到更新画面。
在本申请的一个实施例中,观众端可以直接将第一互动信息发送至云端,然后由云端根据该第一互动信息来对互动程序画面进行更新得到更新画面,进而主播端可以从云端获取到该更新画面。
在本申请的一个实施例中,观众端的数量通常为多个,在这种情况下,主播端可以获取到根据目标观众端反馈的第一互动信息对互动程序画面进行更新得到的更新画面,其中,该目标观众端是多个观众端中针对直播视频流中的同一显示对象最先反馈第一互动信息的观众端。在该实施例的基础上,当主播端基于更新画面重新生成直播视频流并发送至观众端之后,可以向目标观众端反馈针对该第一互动信息的互动结果。比如,主播端可以根据最先反馈的第一互动信息来对互动程序画面进行更新得到更新画面,然后基于更新画面重新生成直播视频流并发送至观众端,并且可以向最先反馈第一互动信息的目标观众端发送互动结果,以便于目标观众端通过私有屏展示该互动结果。
在本申请的一个实施例中,主播端的用户也可以参与到直播互动的过程中,在这种情况下,若主播端检测到主播端的用户针对直播视频流所触发的第二互动信息,则获取根据第二互动信息对互动程序画面进行更新得到的更新画面,并基于得到的更新画面重新生成直播视频流。
需要说明的是,主播端在检测到第二互动信息之后,可以直接根据该第二互动信息来对互动程序画面进行更新得到更新画面。或者也可以将第二互动信息发送至云端,由云端根据该第二互动信息来对互动程序画面进行更新得到更新画面。此外,若主播端的用户和观众端的用户都是针对同一显示对象触发的互动信息,那么可以根据最先触发的互动信息来对互动程序画面进行更新。比如若主播端的用户是最先触发互动信息的用户,那么可以根据第二互动信息来对互动程序画面进行更新;若观众端的用户是最先触发互动信息的用户,那么可以根据最先反馈的第一互动信息来对互动程序画面进行更新得到更新画面。
继续参照图3a所示,在步骤s340中,基于所述更新画面重新生成直播视频流并发送至所述观众端。
图3a所示实施例的技术方案使得主播端能够通过画面融合生成直播视频流的方式来实现主播端与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播端能够根据开播内容灵活地选择互动方式。
图3b示出了根据本申请的一个实施例的基于视频的互动方法的流程图,该基于视频的互动方法可以由云端设备来执行,比如可以由图2中所示的云端106来执行。参照图3b所示,该基于视频的互动方法至少包括步骤s310'至步骤s340',详细介绍如下:
在步骤s310'中,将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流。
在本申请的一个实施例周董,云端在将视频直播画面与互动程序画面进行融合处理之前,可以从主播端获取到视频直播画面。具体地,主播端在采集到视频直播画面后,通过网络发送给云端。
在本申请的一个实施例中,互动程序画面可以是由云端生成的。比如云端可以获取主播端的用户选择的目标互动程序(比如由主播端检测用户选择的目标互动程序,并将检测到的目标互动程序的信息发送给云端),然后根据该目标互动程序生成互动程序画面。
在本申请的一个实施例中,互动程序画面可以是由主播端生成的。比如主播端可以检测用户选择的目标互动程序,然后根据目标互动程序生成互动程序画面,进而将生成的互动程序画面发送给云端。
在本申请的一个实施例中,将视频直播画面与互动程序画面进行融合处理的过程可以参照上述图4所示实施例的技术方案,不再赘述。
继续参照图3b所示,在步骤s320'中,将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流。
在本申请的一个实施例中,云端在将直播视频流发送给观众端的同时,也可以发送给主播端进行显示,使得主播端与观众端之间可以同步显示直播视频流。
在步骤s330'中,获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的。
在本申请的一个实施例中,云端可以接收观众端反馈的第一互动信息,然后响应该第一互动信息来对互动程序画面进行更新得到更新画面。即在该实施例中,云端可以直接获取到观众端反馈的互动信息,然后基于该互动信息对互动程序画面进行更新。
在本申请的一个实施例中,观众端可以直接将第一互动信息发送至主播端,然后由主播端根据该第一互动信息来对互动程序画面进行更新得到更新画面,进而云端可以从主播端获取到该更新画面。
在本申请的一个实施例中,云端可以接收观众端反馈的第一互动信息,然后将该第一互动信息发送至主播端,由主播端根据该第一互动信息对互动程序画面进行更新得到更新画面,进而云端从主播端获取到该更新画面。即在该实施例中,云端用于接收观众端反馈的互动信息,主播端用于根据互动信息对互动程序画面进行更新得到更新画面。
在本申请的一个实施例中,观众端的数量通常为多个,在这种情况下,云端可以获取到根据目标观众端反馈的第一互动信息对互动程序画面进行更新得到的更新画面,其中,该目标观众端是多个观众端中针对直播视频流中的同一显示对象最先反馈第一互动信息的观众端。在该实施例的基础上,当云端基于更新画面重新生成直播视频流并发送至观众端之后,可以向目标观众端反馈针对该第一互动信息的互动结果。比如,云端可以根据最先反馈的第一互动信息来对互动程序画面进行更新得到更新画面,然后基于更新画面重新生成直播视频流并发送至观众端,并且可以向最先反馈第一互动信息的目标观众端发送互动结果(该互动结果可以是主播端发送给云端的,也可以是云端默认发送的),以便于目标观众端通过私有屏展示该互动结果。
在本申请的一个实施例中,主播端的用户也可以参与到直播互动的过程中,在这种情况下,若云端检测到主播端的用户针对直播视频流所触发的第二互动信息,则获取根据第二互动信息对互动程序画面进行更新得到的更新画面,并基于得到的更新画面重新生成直播视频流。
继续参照图3b所示,在步骤s340'中,基于所述更新画面重新生成直播视频流并发送至所述观众端。
图3b所示实施例的技术方案使得云端能够通过画面融合生成直播视频流的方式来实现主播端与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播端能够根据开播内容灵活地选择互动方式。
图5示出了根据本申请的一个实施例的基于视频的互动方法的流程图,该基于视频的互动方法可以由作为观众端的终端设备来执行,比如可以由图1或图2中所示的观众端来执行。参照图5所示,该基于视频的互动方法至少包括步骤s510至步骤s540,详细介绍如下:
在步骤s510中,显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的。
在本申请的一个实施例中,观众端接收到的直播视频流可以是由主播端进行融合后发送的,也可以是由云端融合后发送的,即指定处理端可以是主播端,也可以是云端。具体的融合处理过程如前述实施例所述,不再赘述。
在步骤s520中,检测观众端的用户针对所述直播视频流所触发的第一互动信息。
在本申请的一个实施例中,第一互动信息可以是观众端的用户所触发的触控信息、语音指令等。
在步骤s530中,将所述第一互动信息反馈至所述指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面。
在本申请的一个实施例中,若观众端将第一互动信息反馈至云端,则云端可以根据该第一互动信息对互动程序画面进行更新得到更新画面;或者,云端也可以将该第一互动信息发送至主播端,由主播端对互动程序画面进行更新得到更新画面。
在本申请的一个实施例中,若观众端将第一互动信息反馈至主播端,则主播端既可以根据该第一互动信息直接对互动程序画面进行更新得到更新画面,也可以将该第一互动信息发送至云端,由云端根据该第一互动信息对互动程序画面进行更新得到更新画面。
在步骤s540中,接收并显示所述指定处理端发送的根据所述更新画面重新生成的直播视频流。
在本申请的一个实施例中,根据更新画面重新生成的直播视频流的过程既可以是主播端执行的,也可以是云端执行的,具体参照前述实施例的技术方案,不再赘述。
需要说明的是,观众端在显示主播端发送的根据更新画面重新生成的直播视频流之后,还可以继续检测用户触发的互动信息,并继续执行前述的各个步骤。
在本申请的一个实施例中,观众端可以包括视频显示层和触控层,触控层叠放于视频显示层之上,在这种界面布局下,视频显示层可以用于显示直播视频流,触控层可以用于检测第一互动信息。
在本申请的一个实施例中,观众端还可以包括叠放于触控层上的私有显示层,该私有显示层用于接收并显示主播端反馈的针对第一互动信息的互动结果。
图5所示实施例的技术方案使得主播端能够通过画面融合生成直播视频流的方式来实现与观众端之间的互动,确保不带来额外的兼容性问题,并且也不需要依赖于后台的配置,进而主播端能够根据开播内容灵活地选择互动方式;同时,观众端也无需配置及运行互动程序的代码,安全性较高。
以下结合图6至图17,对本申请实施例的技术方案进行详细阐述:
在本申请的一个实施例中,主播端在进行直播之前或者在直播过程中,可以选择互动程序来与观众进行互动。其中,互动程序可以是互动插件,互动插件可以是互动小游戏,也可以互动抽奖活动等。
在本申请的一个实施例中,当主播选择互动插件之后,可以通过音频接口播放声频,并且可以通过opengl(opengraphicslibrary,开放图形库)采用离屏渲染的方式将插件画面渲染到一张离屏的纹理上。作为示例,如图6所示为本申请一个实施例的渲染得到的互动小游戏的画面;图7所示为本申请一个实施例的渲染得到的互动抽奖活动的画面。
在本申请的一个实施例中,可以将视频窗口的opengl上下文共享给互动插件,这样视频窗口通过共享上下文获取到互动插件对应的纹理。进而可以先渲染视频纹理,然后再把视频纹理与互动插件纹理按透明度进行融合。
在本申请的一个实施例中,在将互动插件界面与直播画面进行融合之后,可以在融合后的画面上叠加一层触控层,用于向互动插件传递主播的触控信息。即对于主播端而言,界面可以包括直播画面层、互动插件画面层、触控层。当然,主播端的界面还可以包括私有显示层,该私有显示层可以在主播端显示私有信息。
如图8所示,对于直播过程中进行互动游戏的应用场景而言,画面801是直播画面、画面802是互动游戏插件的界面、803是触控层。如图9所示,对于直播过程中进行互动抽奖活动的应用场景而言,画面901是直播画面、画面902是互动抽奖活动的界面、903是触控层。
在本申请的一个实施例中,当对互动插件界面与直播画面进行融合之后,可以将融合后的纹理输出到surface上,然后将surface里的图像输入到编码器中生成视频流,并将采集的音频通过编码生成音频流,进而将音频流和视频流按时间戳进行混合发送给观众端。其中,surface是操作系统(如安卓系统)平台下的原始缓冲区(rawbuffer)的句柄,对应了一块屏幕缓冲区,每个窗口(window)对应一个surface,任何视图(view)都要画在surface的画布(canvas)上,可以认为surface就是一个用来画图形(graphics)或图像(image)的地方,是用来管理显示内容的数据的。
具体处理流程如图10所示,包括如下步骤:
步骤s1001,opengl进行上下文共享。即将视频窗口的opengl上下文共享给互动插件。
步骤s1002,渲染直播视频纹理。
步骤s1003,渲染互动插件纹理。
步骤s1004,将视频纹理与互动插件纹理按透明度进行融合。
步骤s1005,对融合后的纹理进行编码处理,生成视频流。进而可以将视频流和音频流按照时间戳进行融合并发送给观众端。
在本申请的一个实施例中,观众端在播放音视频形式的直播画面的过程中,可以通过触控层检测观众的操控信息(如观众通过触控屏幕来发出操控信息),并传递到主播端。主播端在接收到观众端发送的操控信息之后,可以通过公共屏(即直播房间中所有观众都能看到的视频界面)或者音频与观众进行互动,并且可以反馈互动结果给观众侧。当观众侧收到互动结果之后,可以通过私有屏(即主播响应某一观众的交互请求后,在特定观众侧展示的个性化界面)进行个性化的界面展示。因此对于观众端而言,界面可以包括视频显示层、触控层。当然,观众端的界面还可以包括私有显示层,该私有显示层可以在观众端显示私有信息。
以下对本申请实施例的终端显示界面进行说明:
在本申请的一个实施例中,如图11所示为视频直播的界面,主播端与观众端显示相同的直播画面。当主播选择互动游戏插件之后,如图12所示在视频直播界面上显示互动游戏插件对应的互动游戏画面,互动游戏画面上显示有互动对象1201、1202和1203,观众和主播都可以通过触控互动对象来参与互动游戏。当主播选择互动抽奖活动之后,如图13所示在视频直播界面上显示互动抽奖活动插件对应的互动抽奖画面,互动抽奖画面上显示有互动对象1301,观众和主播都可以通过触控互动对象来参与抽奖活动。以下以互动游戏为例对本申请实施例的互动界面进行说明:
如图14所示,若观众触控了互动对象1202,则观众端会将触控信息发送给主播端,进而主播端可以根据该触控信息对互动游戏画面进行更新,并重新生成视频直播画面发送给观众端进行展示,比如如图15所示,视频直播画面上显示出爆炸的画面以及相应的视觉效果1501。同时,主播端可以向第一个触控了互动对象1202的观众端发送互动效果信息,进而该观众端可以通过私有屏进行展示,比如如图16所示,通过私有屏1502展示互动效果信息。
在本申请的一个实施例中,主播端与观众端的具体交互过程如图17所示,包括如下步骤:
步骤s1701,主播端根据视频直播画面和互动插件画面进行画面合成,得到音视频流。
步骤s1702,主播端将音视频流发送给服务端。
步骤s1703,服务端将音视频流发送给观众端。
步骤s1704,观众端播放音视频流。
步骤s1705,观众端检测到触控事件后,将触控事件的信息发送给服务端。
步骤s1706,服务端将触控事件信息发送给主播端。
步骤s1707,主播端根据触控事件信息对视频直播画面进行调整。
步骤s1708,主播端反馈界面信息给服务端。
步骤s1709,服务端向观众端反馈界面调整信息。
步骤s1710,观众端根据界面调整信息播放音视频流。
步骤s1711,观众端可以通过私有屏展示个性化界面。
步骤s1712,观众端向主播端反馈响应信息。
本申请上述实施例的技术方案使得主播端能够通过画面融合生成直播视频流的方式来实现与观众端之间的互动,不依赖于后台配置,主播能根据开播内容自主选择与观众互动方式,并且不会带来额外的性能和网络开销。同时,观众端只有触控输入,无需运行互动插件的代码,安全性较高,并且由于依然是视频播放的形式来进行互动,所以不会带来额外的兼容性问题;此外,本申请实施例的互动方式无须加载资源,点击观看直播的同时就可以进行互动,而且也无须多端开发和适配,节省人力成本。
需要说明的是:图6至图17所示实施例的技术方案是以主播端对视频纹理与互动插件纹理进行融合为例进行了说明,在本申请的其它实施例中,也可以由云端对视频纹理与互动插件纹理进行融合处理。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于视频的互动方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于视频的互动方法的实施例。
图18示出了根据本申请的一个实施例的基于视频的互动装置的框图,该互动装置可以设置在作为主播端的终端设备内,或者也可以设置云端设备内。
参照图18所示,根据本申请的一个实施例的基于视频的互动装置1800,包括:融合单元1802、发送单元1804、获取单元1806和处理单元1808。
其中,融合单元1802用于将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流;发送单元1804用于将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流;获取单元1806用于获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的;处理单元1808用于基于所述更新画面重新生成直播视频流并发送至所述观众端。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置1800设置在直播端中的情况下,融合单元1802还用于:检测主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或检测主播端的用户选择的目标互动程序,将所述目标互动程序的信息发送至云端,获取所述云端返回的根据所述目标互动程序生成的所述互动程序画面。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置1800设置在云端中的情况下,融合单元1802还用于:检测主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或者,检测主播端的用户选择的目标互动程序,将所述目标互动程序的信息发送至云端,获取所述云端返回的根据所述目标互动程序生成的所述互动程序画面。
在本申请的一些实施例中,基于前述方案,融合单元1802配置为:对所述视频直播画面进行渲染,得到第一纹理;通过离屏渲染的方式对所述互动程序画面进行渲染,得到第二纹理;将所述第一纹理与所述第二纹理按照设定的透明度进行融合,得到融合纹理;对所述融合纹理进行编码处理得到视频数据流,基于所述视频数据流生成所述直播视频流。
在本申请的一些实施例中,基于前述方案,融合单元1802配置为:对采集到的音频数据进行编码处理得到音频数据流;将所述视频数据流和所述音频数据流按照时间戳进行融合处理,生成所述直播视频流。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置1800设置在直播端中的情况下,获取单元1806配置为:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至云端,获取所述云端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面;或者,接收云端发送的所述更新画面,所述更新画面是由所述云端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的。
在本申请的一些实施例中,基于前述方案,在所述基于视频的互动装置1800设置在云端中的情况下,获取单元1806配置为:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收主播端发送的所述更新画面,所述更新画面是由所述主播端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至主播端,获取所述主播端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面。
在本申请的一些实施例中,基于前述方案,若所述观众端的数量为多个,则获取单元1808配置为:获取根据目标观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述目标观众端是多个所述观众端中针对所述直播视频流中的同一显示对象最先反馈所述第一互动信息的观众端。
在本申请的一些实施例中,基于前述方案,发送单元1806还用于:在基于所述更新画面重新生成直播视频流并发送至所述观众端之后,向所述目标观众端反馈针对所述第一互动信息的互动结果。
在本申请的一些实施例中,基于前述方案,处理单元1810还用于:若检测到主播端的用户针对所述直播视频流所触发的第二互动信息,则获取根据所述第二互动信息对所述互动程序画面进行更新得到的更新画面,并基于得到的更新画面重新生成所述直播视频流。
图19示出了根据本申请的一个实施例的基于视频的互动装置的框图,该互动装置可以设置在作为观众端的终端设备内。
参照图19所示,根据本申请的一个实施例的基于视频的互动装置1900,包括:显示单元1902、检测单元1904、反馈单元1906和处理单元1908。
其中,显示单元1902用于显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的;检测单元1904用于检测观众端的用户针对所述直播视频流所触发的第一互动信息;反馈单元1906用于将所述第一互动信息反馈至指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面;处理单元1908用于接收并显示所述主播端发送的根据所述更新画面重新生成的直播视频流。
在本申请的一些实施例中,基于前述方案,所述基于视频的互动装置1900配置于观众端,所述观众端包括视频显示层和触控层,所述触控层叠放于所述视频显示层上;所述显示单元1902通过所述视频显示层显示所述直播视频流,所述检测单元1904通过所述触控层检测所述第一互动信息。
在本申请的一些实施例中,基于前述方案,所述观众端还包括叠放于所述触控层上的私有显示层;所述处理单元1908通过所述私有显示层接收并显示所述主播端反馈的针对所述第一互动信息的互动结果。
图20示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图20示出的电子设备的计算机系统2000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图20所示,计算机系统2000包括中央处理单元(centralprocessingunit,cpu)2001,其可以根据存储在只读存储器(read-onlymemory,rom)2002中的程序或者从存储部分2008加载到随机访问存储器(randomaccessmemory,ram)2003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram2003中,还存储有系统操作所需的各种程序和数据。cpu2001、rom2002以及ram2003通过总线2004彼此相连。输入/输出(input/output,i/o)接口2005也连接至总线2004。
以下部件连接至i/o接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至i/o接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(cpu)2001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
1.一种基于视频的互动方法,其特征在于,包括:
将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流;
将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流;
获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的;
基于所述更新画面重新生成直播视频流并发送至所述观众端。
2.根据权利要求1所述的基于视频的互动方法,其特征在于,
在所述互动方法由直播端执行的情况下,所述互动方法还包括:检测主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或者,检测主播端的用户选择的目标互动程序,将所述目标互动程序的信息发送至云端,获取所述云端返回的根据所述目标互动程序生成的所述互动程序画面;
在所述互动方法由云端执行的情况下,所述互动方法还包括:获取主播端的用户选择的目标互动程序,根据所述目标互动程序生成所述互动程序画面;或者,获取主播端发送的所述互动程序界面,所述互动程序界面是由所述主播端根据用户选择的目标互动程序生成的。
3.根据权利要求1所述的基于视频的互动方法,其特征在于,将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,包括:
对所述视频直播画面进行渲染,得到第一纹理;
通过离屏渲染的方式对所述互动程序画面进行渲染,得到第二纹理;
将所述第一纹理与所述第二纹理按照设定的透明度进行融合,得到融合纹理;
对所述融合纹理进行编码处理得到视频数据流,基于所述视频数据流生成所述直播视频流。
4.根据权利要求3所述的基于视频的互动方法,其特征在于,基于所述视频数据流生成所述直播视频流,包括:
对获取到的音频数据进行编码处理得到音频数据流;
将所述视频数据流和所述音频数据流按照时间戳进行融合处理,生成所述直播视频流。
5.根据权利要求1所述的基于视频的互动方法,其特征在于,
在所述互动方法由直播端执行的情况下,获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,包括:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至云端,获取所述云端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面;或者,接收云端发送的所述更新画面,所述更新画面是由所述云端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的;
在所述互动方法由云端执行的情况下,获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,包括:接收所述观众端反馈的所述第一互动信息,响应所述第一互动信息,以对所述互动程序画面进行更新得到所述更新画面;或者,接收主播端发送的所述更新画面,所述更新画面是由所述主播端根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的;或者,接收所述观众端反馈的所述第一互动信息,将所述第一互动信息发送至主播端,获取所述主播端根据所述第一互动信息对所述互动程序画面进行更新得到的所述更新画面。
6.根据权利要求1所述的基于视频的互动方法,其特征在于,若所述观众端的数量为多个,则所述获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,包括:
获取根据目标观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述目标观众端是多个所述观众端中针对所述直播视频流中的同一显示对象最先反馈所述第一互动信息的观众端。
7.根据权利要求6所述的基于视频的互动方法,其特征在于,在基于所述更新画面重新生成直播视频流并发送至所述观众端之后,所述互动方法还包括:
向所述目标观众端反馈针对所述第一互动信息的互动结果。
8.根据权利要求1至7中任一项所述的基于视频的互动方法,其特征在于,还包括:
若检测到主播端的用户针对所述直播视频流所触发的第二互动信息,则获取根据所述第二互动信息对所述互动程序画面进行更新得到的更新画面,并基于得到的更新画面重新生成所述直播视频流。
9.一种基于视频的互动方法,其特征在于,包括:
显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的;
检测观众端的用户针对所述直播视频流所触发的第一互动信息;
将所述第一互动信息反馈至所述指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面;
接收并显示所述指定处理端发送的根据所述更新画面重新生成的直播视频流。
10.根据权利要求9所述的基于视频的互动方法,其特征在于,所述基于视频的互动方法由所述观众端执行,所述观众端包括视频显示层和触控层,所述触控层叠放于所述视频显示层上;
所述视频显示层用于显示所述直播视频流,所述触控层用于检测所述第一互动信息。
11.根据权利要求10所述的基于视频的互动方法,其特征在于,所述观众端还包括叠放于所述触控层上的私有显示层;
所述私有显示层用于接收并显示主播端反馈的针对所述第一互动信息的互动结果。
12.一种基于视频的互动装置,其特征在于,包括:
融合单元,用于将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理,生成直播视频流;
发送单元,用于将所述直播视频流发送至观众端,以使所述观众端显示所述直播视频流;
获取单元,用于获取根据所述观众端反馈的第一互动信息对所述互动程序画面进行更新得到的更新画面,所述第一互动信息是所述观众端的用户针对显示出的所述直播视频流所触发的;
处理单元,用于基于所述更新画面重新生成直播视频流并发送至所述观众端。
13.一种基于视频的互动装置,其特征在于,包括:
显示单元,用于显示接收到的直播视频流,所述直播视频流是由指定处理端将视频直播画面与基于目标互动程序生成的互动程序画面进行融合处理得到的;
检测单元,用于检测观众端的用户针对所述直播视频流所触发的第一互动信息;
反馈单元,用于将所述第一互动信息反馈至所述指定处理端,以使所述指定处理端根据所述第一互动信息对所述互动程序画面进行更新得到更新画面;
处理单元,用于接收并显示所述指定处理端发送的根据所述更新画面重新生成的直播视频流。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的基于视频的互动方法,或实现如权利要求9至11中任一项所述的基于视频的互动方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的基于视频的互动方法,或实现如权利要求9至11中任一项所述的基于视频的互动方法。
技术总结