一种直播数据处理方法和装置与流程

文档序号:11157695阅读:233来源:国知局
一种直播数据处理方法和装置与制造工艺

本发明涉及计算机技术领域,特别是涉及一种直播数据处理方法和一种直播数据处理装置。



背景技术:

随着网络和终端技术的发展,用户可以通过终端执行各种网络操作,如上网、玩游戏、观看视频等,因此也兴起了一种新的多媒体互动方式,即网络直播。

网络直播是通过信号采集设备采用直播视频,然后将直播视频上传到服务器,再由服务器反馈给各用户终端的播放的多媒体互动方式,该多媒体互动方式还支持用户和该网络直播的主播进行互动,即用户的消息可以反馈给主播,从而主播基于该消息进行互动。

上述互动消息会显示在直播画面中,但是,在网络直播过程中互动消息通常存在一定的时延,影响直播效果。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的直播数据处理方法和相应的直播数据处理装置。

依据本发明的一个方面,提供了一种直播数据处理方法,具体包括:在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除直播视频数据外的信息,所述直播返回信息包括弹幕数据;渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面;依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

可选地,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,包括:依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面;将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像;其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

可选地,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,包括:依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

可选地,依据所述显示图像展示直播界面,包括:依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

可选地,依据所述直播界面生成具有弹幕数据的直播视频数据,包括:依据所述应用映射架构数据调用第二接口,获取所述显示图像;依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

可选地,所述直播返回信息还包括:业务数据和/或非公开信息。

可选地,所述直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

可选地,获取所述显示图像,包括:获取由所述目标应用的应用界面和公开图像叠加生成的显示图像。

可选地,还包括:预先通过挂起的目标对象,在初始化所述目标应用创建应用映射架构数据和应用源架构数据;依据所述应用映射架构数据确定至少一个目标接口。

可选地,所述预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据,包括:对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象;在所述目标对象初始化目标应用时,依据所述应用信息确定映射对象和接口调用,搭建应用映射架构数据,再依据所述应用信息确定源对象和接口调用,搭建应用源架构数据。

可选地,还包括:在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址;在调用接口时,依据所述应用信息在对应各接口处设置一组钩子程序,并确定各接口的接口信息。

可选地,依据所述应用映射架构数据确定至少一个目标接口,包括:基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

根据本发明的另一方面,提供了一种直播数据处理装置,具体包括:获取模块,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据外的信息,所述直播返回信息包括弹幕数据;渲染显示模块,用于渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面;直播返回模块,用于依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

可选地,所述渲染显示模块,包括:渲染子模块,用于依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面;将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像;其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

可选地,所述渲染显示模块,包括:绘制子模块,用于依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

可选地,所述绘制显示模块,包括:显示子模块,用于依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

可选地,所述直播返回模块,包括:获取子模块,用于依据所述应用映射架构数据调用第二接口,获取所述显示图像;直播生成子模块,用于依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

可选地,所述直播返回信息还包括:业务数据和/或非公开信息。

可选地,所述直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

可选地,所述获取子模块,用于获取由所述目标应用的应用界面和公开图像叠加生成的显示图像。

可选地,还包括:初始化模块,用于预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据;依据所述应用映射架构数据确定至少一个目标接口。

可选地,初始化模块,包括:挂起子模块,用于对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象;架构搭建子模块,用于在所述目标对象初始化目标应用创建应用,依据所述应用信息确定映射对象和接口调用,搭建应用映射架构数据,再依据所述应用信息确定源对象和接口调用,搭建应用源架构数据。

可选地,架构搭建子模块,还用于在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址;在调用接口时,依据所述应用信息在对应各接口处设置一组钩子程序,并确定各接口的接口信息。

可选地,初始化模块,还包括:接口分析子模块,用于基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除直播视频数据外的信息,所述直播返回信息包括弹幕数据,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面,依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据;从而在直播的主播端直接生成带有弹幕等数据的直播视频数据,无需在服务端进行直播视频和弹幕等直播返回信息的合成,减少时延。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种直播数据处理方法实施例的步骤流程图;

图2示出了根据本发明另一个实施例的一种直播数据处理方法实施例的步骤流程图;

图3示出了根据本发明另一个实施例的另一种直播数据处理方法实施例的步骤流程图;

图4示出了根据本发明一个实施例的一种直播数据处理装置实施例的结构框图;

图5示出了根据本发明另一个实施例的一种直播数据处理装置实施例的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了根据本发明一个实施例的一种直播数据处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤102,在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除直播视频数据外的信息,所述直播返回信息包括弹幕数据。

本实施例的直播是基于目标应用的直播,即将目标应用的数据作为直播数据,例如游戏直播是用户在使用游戏应用玩游戏的过程中,将游戏应用对应画面的数据作为直播数据。直播过程中观看直播的用户和主播可以进行互动,主播即进行该直播的用户,如游戏直播中游戏玩家即主播。用户可以发送弹幕数据,也可以给主播送礼物等,其中,弹幕指的是视频中大量以字幕弹出形式从屏幕飘过的显示方式。

本实施例应用于直播过程的主播端,为了便于主播与用户互动,在基于目标应用进行直播的过程中,可以获取直播返回信息。为了减少对主播带宽的占用,本实施例的直播返回信息用于反馈除视频数据之外的信息,即该直播返回信息为不携带直播视频数据的互动消息,可以包括弹幕数据,也可以包括礼物等数据。

步骤104,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面。

步骤106,依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

其中,在系统底层以及屏幕显示的角度,在系统中显示的界面、窗口都可以看作是一帧图像,因此目标应用运行过程中,需要绘制、渲染目标应用的应用界面,在该过程中可以在应用界面上绘制叠加的直播返回信息,得到相应的显示图像,对于每帧分别绘制该显示图像,从而将各帧显示图像按照时间戳的时间顺序进行组合可以展示相应的直播界面,该直接界面显示有弹幕数据,以及其他返回数据如礼物等。然后可以依据该直播界面生成具有弹幕数据的直播视频数据,即将各帧直播界面组合得到直播视频数据,上传具有弹幕数据的直播视频数据。

从而在直播的主播端直接生成带有弹幕等数据的直播视频数据,无需在服务端进行直播视频和弹幕等直播返回信息的合成,减少时延。

参照图2,示出了根据本发明另一个实施例的一种直播数据处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤202,预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据。

预先对系统进行监控,监控系统的创建函数如crate函数,当调用该创建函数创建目标对象时,可以挂起该目标对象,即在初始化目标对象时设置第一钩子程序,从而在目标对象的源头设置钩子程序。该目标对象为系统的重要组件对象,用于执行各种应用所需的操作。

系统中部分应用的创建、运行等均需要目标对象的参与,因此在目标对象的源头设置钩子,就可以截获各个针对目标对象的调用,从而确定所需的信息。本实施例中,应用在创建需要调用目标对象执行操作,因此可以通过第一钩子程序截获调用所述目标对象时的应用信息,该应用信息用于指示创建该目标应用的应用源架构数据。即在目标应用创建时需要调用目标对应的一系列接口获取数据,并创建所需的函数对象等,通过该接口调用和函数对象可以确定出该目标应用的应用源架构数据,从而启动并运行该目标应用。

因此本实施例先采用应用信息搭建该目标应用的应用映射架构数据,再搭建应用源架构数据,即依据该应用信息确定所需操作,先创建一个映射信息再创建源信息,且该映射信息与源信息指向相同的内容地址,即采用映射架构数据搭建一个与应用源架构数据相同的外壳,但其实质内容仍然由应用源架构数据提供,从而极少量的消耗内存信息,且能够获知该目标应用的架构,并控制应用所需数据的返回。

本发明实施例中,可以在各种系统的各种目标对象设置钩子程序,本实施例中以组件对象模型(Component Object Model,COM)作为目标对象为例,可以在创建函数初始化COM组件时,为COM组件设置第一钩子程序,从而在COM组件的源头设置钩子,实现对COM组件的接管。其中,COM组件是微软对于网页服务器与客户端之间交互的一项软件组件技术,是一种面向对象的编程模式,它定义了对象在单个应用程序内部或多个应用程序之间的行为方式。并且COM被实现于多个平台之上,并不限于Windows操作系统。例如,游戏客户端采用DirectX(Direct eXtension,DX)的3D引擎,该DirectX是由微软公司创建的多媒体编程接口,由C++编程语言实现,遵循COM组件。因此在启动运行该游戏客户端,涉及到3D引擎操作时,需要调用COM组件,通过在COM组件设置的第一钩子引擎,可以获取调用COM组件的应用信息,从而确定出该游戏客户端的3D引擎的源架构数据,即获知3D引擎运行所需的各种接口以及函数对象等。

步骤204,依据所述应用映射架构数据确定至少一个目标接口。

在搭建应用映射架构数据时可以确定该目标应用所需调用的各种接口,以及各接口的功能等信息,因此可以确定出所需的至少一个目标接口,该目标接口包括用于绘制、渲染、显示图像的各种接口。目标接口包括第一接口和第二接口,第一接口用于绘制图像数据,第二接口用于输出图像数据。

步骤206,在基于目标应用进行直播的过程中,获取直播返回信息。

步骤208,依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面。

步骤210,将所述弹幕图像和应用界面进行叠加并渲染得到显示图像。

目标应用运行后可以采用全屏模式,全屏模式下该目标应用的显示界面即界面图像会铺满整个窗口,且焦点位于该目标应用中。其中,在系统底层以及屏幕显示的角度,在系统中显示的界面、窗口都可以看作是一帧图像。本实施例依据上述应用映射架构数据,基于该目标应用的开发技术原理来绘制所述直播返回信息对应的信息反馈图像。

因此基于应用源框架数据绘制目标应用的应用界面,以及获取直播返回信息后,可以采用预先注入的钩子程序调用第一接口依据应用映射架构数据对应图像绘制、渲染、显示等方式,绘制所述直播返回信息对应的信息反馈图像,获取基于应用源框架数据创建的应用界面,将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像,从而得到显示有弹幕数据、礼物等直播返回信息的图像。对于每一帧图像采用上述方式绘制、叠加、渲染,从而得到屏幕上动态的画面。

例如针对游戏客户端,用户在玩客户端游戏时通常是采用全屏模式并进行游戏直播,则可以采用应用源框架数据创建的游戏客户端的应用界面,基于应用界面生成直播数据;依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的信息反馈图像,将信息反馈图像和应用界面进行叠加显示,从而用户看起来就是在全屏游戏下,显示了直播弹幕、礼物以及私信等数据,提高用户体验以及直播的灵活性。

步骤212,依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

上述采用分别绘制应用界面和信息反馈图像后叠加显示的方式,实际处理中,还可以依据应用映射架构数据调用所述第一接口,直接绘制叠加的显示图像,即直接绘制应用界面和信息反馈图像已叠加的显示图像数据。从而后续直播过程中基于叠加的显示图像进行直播,可以直接返回已添加弹幕、礼物等数据的直播数据,不用在服务侧为直播数据叠加弹幕等数据。

步骤214,依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

获取每个显示图像的时间信息即获取每个显示图像的时间戳,按照该时间戳对显示图像进行组合,在终端屏幕上依次展示各帧显示图像,构成所述目标应用的直播界面。

步骤216,依据所述应用映射架构数据调用第二接口,获取所述显示图像。

步骤218,依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

步骤220,上传所述直播视频数据。

本实施例再直播端直接生成携带弹幕数据、礼物等数据的直播图像,无需在服务器合成。因此可以依据所述应用映射架构数据调用第二接口,获取所述显示图像,按照显示图像的时间信息对显示图像进行合成,生成响应的直播视频数据,上传该直播视频数据。

本申请实施例中,所述直播返回信息包括:弹幕数据、业务数据和/或非公开信息。其中,业务数据依据具体业务确定,例如游戏业务则业务数据为礼物等电子物品数据,非公开信息包括给主播发送的私信、权限问题等数据,该权限问题可以是购买的权限后的提问数据。因此直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

因此在获取显示图像上传直播数据时,可以获取由所述目标应用的应用界面和公开图像叠加生成的显示图像,生成不携带非公开信息的直播数据。其中,针对步骤208-210这类分别绘制图像再叠加的方式,可以直接获取分别绘制的应用界面和公开图像叠加生成的显示图像;对于步骤212这类直接绘制叠加图像的方式,可以绘制应用界面和公开图像的叠加图像,而对于私密图像单独绘制后再叠加,从而保证直播数据不携带非公开信息。

本实施例中,上述图像绘制是基于目标应用的架构原理执行的,因此,可以预先确定目标应用的架构以及在架构下的接口、函数等信息,然后再全屏模式下提供图像绘制。

一个可选实施例中,可以确定目标应用的架构。

本实施例以游戏客户端作为目标应用为例,该游戏客户端可以采用DX的3D引擎,该3D引擎在Windows操作系统中是基于硬件图形处理器(Graphics Processing Unit,GPU)加速,直接从内存读写,可以规避消息机制。

参照图3,示出了根据本发明另一个实施例的另一种直播数据处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤302,对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象。

预先对系统进行监控,监控系统的创建函数如crate函数,当调用该创建函数创建目标对象时,可以挂起该目标对象,即在初始化目标对象时设置第一钩子程序,从而在目标对象的源头设置钩子程序。该目标对象为系统的重要组件对象,用于执行各种应用所需的操作。

本发明实施例中,可以在各种系统的各种目标对象设置钩子程序,本实施例中以组件对象模型(Component Object Model,COM)作为目标对象为例,可以在创建函数初始化COM组件时,为COM组件设置第一钩子程序,从而在COM组件的源头设置钩子,实现对COM组件的接管。

步骤304,在调用所述目标对象创建目标应用时截获应用信息。

系统中部分应用的创建、运行等均需要目标对象的参与,因此在目标对象的源头设置钩子,就可以截获各个针对目标对象的调用,从而确定所需的信息。本实施例中,应用在创建需要调用目标对象执行操作,因此可以通过第一钩子程序截获调用所述目标对象时的应用信息,该应用信息用于指示创建该目标应用的应用源架构数据。即在目标应用创建时需要调用目标对应的一系列接口获取数据,并创建所需的函数对象等,通过该接口调用和函数对象可以确定出该目标应用的应用源架构数据,从而启动并运行该目标应用。

例如,游戏客户端采用DirectX(Direct eXtension,DX)的3D引擎,该DirectX是由微软公司创建的多媒体编程接口,由C++编程语言实现,遵循COM组件。因此在启动运行该游戏客户端,涉及到3D引擎操作时,需要调用COM组件,通过在COM组件设置的第一钩子引擎,可以获取调用COM组件的应用信息,从而确定出该游戏客户端的3D引擎的源架构数据,即获知3D引擎运行所需的各种接口以及函数对象等。

步骤306,在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址。

步骤308,在各源对象对应的各接口分别设置钩子程序。

步骤310,依据映射对象和接口调用,搭建应用映射架构数据。

步骤312,依据源对象和接口调用,搭建应用源架构数据。

本实施例中,目标对象创建目标应用相关内容时,可以创建所需对象依据确定需要调用的接口等信息,本实施例中,采用映射架构数据搭建一个与应用源架构数据相同的外壳,但其实质内容仍然由应用源架构数据提供。因此,可以在该应用信息需要创建对象时,确定所需创建对象的相关信息,创建一个映射对象指向对应的源内存地址,然后创建源对象并指向所述源内存地址。即依据该应用信息确定所需定义的内容,定义一个具有含义的映射对象,再定义原本需要定义的源对象,并且在各源对象所需的接口处分别设置钩子程序,从而针对该目标应用可以设置一组钩子程序,实现在入口级挂钩子的调用方式。从而采用映射对象和接口调用搭建应用映射架构数据,采用源对象和接口调用搭建应用源架构数据,从而得到与该应用源架构数据相同的外壳即应用映射架构数据,而该应用映射架构数据实际定义、调用的内容可以与应用源架构数据对应,还可以映射到应用源架构数据中处理。

例如,游戏客户端的3D引擎调用COM组件时,截获调用信息,例如调用信息指示创建函数A,该函数A调用接口B和函数C,函数C调用接口D、E,可以向创建映射函数A'和C',并且在接口B、D、E处分别设置钩子程序以及建立映射函数的对应关系,再创建源函数A和C以及与接口B、D、E的对应关系,从而搭建一个与游戏客户端的源架构数据相同的外壳即映射架构数据,通过该映射架构数据可以映射到源架构数据。

步骤314,基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

在搭建应用映射架构数据时可以确定该目标应用所需调用的各种接口,以及各接口的功能等信息,因此可以确定出所需的至少一个目标接口,该目标接口包括用于绘制、渲染、显示图像的各种接口。即可以确定出与图像相关的一系列目标接口,且各目标接口均注入了钩子程序,从而后续可以直接通过钩子程序调用目标接口。目标接口包括第一接口和第二接口。

从而能够在初始化时目标应用时截获应用信息,搭建所述目标应用的应用映射架构数据和应用源架构数据,即分析出了目标应用的架构,便于后续基于该架构执行所需操作。

步骤316,基于目标应用进行直播,获取直播返回信息。

步骤318,依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面。

步骤320,将所述弹幕图像和应用界面进行叠加并渲染得到显示图像。

目标应用运行后可以采用全屏模式,全屏模式下该目标应用的显示界面即界面图像会铺满整个窗口,且焦点位于该目标应用中。其中,在系统底层以及屏幕显示的角度,在系统中显示的界面、窗口都可以看作是一帧图像。本实施例依据上述应用映射架构数据,基于该目标应用的开发技术原理来绘制所述直播返回信息对应的信息反馈图像。

因此基于应用源框架数据绘制目标应用的应用界面,以及获取直播返回信息后,可以采用预先注入的钩子程序调用第一接口依据应用映射架构数据对应图像绘制、渲染、显示等方式,绘制所述直播返回信息对应的信息反馈图像,获取基于应用源框架数据创建的应用界面,将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像,从而得到显示有弹幕数据、礼物等直播返回信息的图像。对于每一帧图像采用上述方式绘制、叠加、渲染,从而得到屏幕上动态的画面。

例如针对游戏客户端,用户在玩客户端游戏时通常是采用全屏模式并进行游戏直播,则可以采用应用源框架数据创建的游戏客户端的应用界面,基于应用界面生成直播数据;依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的信息反馈图像,将信息反馈图像和应用界面进行叠加显示,从而用户看起来就是在全屏游戏下,显示了直播弹幕、礼物以及私信等数据,提高用户体验以及直播的灵活性。

步骤322,依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

上述采用分别绘制应用界面和信息反馈图像后叠加显示的方式,实际处理中,还可以依据应用映射架构数据调用所述第一接口,直接绘制叠加的显示图像,即直接绘制应用界面和信息反馈图像已叠加的显示图像数据。从而后续直播过程中基于叠加的显示图像进行直播,可以直接返回已添加弹幕、礼物等数据的直播数据,不用在服务侧为直播数据叠加弹幕等数据。

步骤324,依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

获取每个显示图像的时间信息即获取每个显示图像的时间戳,按照该时间戳对显示图像进行组合,在终端屏幕上依次展示各帧显示图像,构成所述目标应用的直播界面。

步骤326,依据所述应用映射架构数据调用第二接口,获取所述显示图像。

步骤328,依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

步骤330,上传所述直播视频数据。

本实施例再直播端直接生成携带弹幕数据、礼物等数据的直播图像,无需在服务器合成。因此可以依据所述应用映射架构数据调用第二接口,获取所述显示图像,按照显示图像的时间信息对显示图像进行合成,生成响应的直播视频数据,上传该直播视频数据。

例如通过COM组件初始化游戏客户端时,确定对应源架构数据和映射架构数据,依据该游戏客户端在绘制、渲染、显示图像所需的目标接口。初始化完成后可以运行游戏客户端并进入全屏模式。用户在玩游戏的过程中进行游戏直播,对于直播的弹幕等数据,可以基于3D引擎的图像绘制原理、调用目标接口绘制相应的第一显示图像,将该第一图像叠加到游戏客户端显示界面图像上显示,或者直接绘制叠加的图像替代游戏客户端显示界面图像。

实际上在目标应用运行过程中,目标应用的界面图像即第二显示图像可以是每帧都绘制显示,响应直播返回信息的第二显示图像也是每帧绘制后叠加显示在第二显示图像上的,因此即使用户角度图像是静止的,而在系统角度是每帧均绘制相应的图像。以游戏客户端为例,所显示的游戏界面图像是每帧绘制、渲染显示的,因此该游戏界面图像上显示的第一显示图像也是每帧绘制渲染后,叠加到相应位置的游戏界面图像上显示的。

从而通过调用底层窗口直接绘制图像并显示的方式,可以绕过系统的通信机制(如Windows的消息机制),从而对于直播返回信息的显示以及操纵也可以正常执行且不会退出全屏,在保证用户正常操作的基础上,提高了用户体验。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

在上述实施例的基础上,本实施例还提供了一种直播数据处理装置。

参照图4,示出了根据本发明一个实施例的一种直播数据处理装置实施例的结构框图,具体可以包括如下模块:

获取模块402,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据外的信息,所述直播返回信息包括弹幕数据。

渲染显示模块404,用于渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面。

直播返回模块406,用于依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除直播视频数据外的信息,所述直播返回信息包括弹幕数据,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面,依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据从而在直播的主播端直接生成带有弹幕等数据的直播视频数据,无需在服务端进行直播视频和弹幕等直播返回信息的合成,减少时延。

参照图5,示出了根据本发明另一个实施例的一种直播数据处理装置实施例的结构框图,具体可以包括如下模块:

初始化模块408,用于预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据;依据所述应用映射架构数据确定至少一个目标接口。

获取模块402,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据外的信息,所述直播返回信息包括弹幕数据。

渲染显示模块404,用于渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面。

直播返回模块406,用于依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

一个可选实施例中,所述渲染显示模块404,包括:渲染子模块4042,用于依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面;将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像;其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

另一个可选实施例中,所述渲染显示模块404,包括:绘制子模块4044,用于依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

所述绘制显示模块404,包括:显示子模块4046,用于依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

所述直播返回模块406,包括:

获取子模块4062,用于依据所述应用映射架构数据调用第二接口,获取所述显示图像。

直播生成子模块4064,用于依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

其中,所述直播返回信息还包括:业务数据和/或非公开信息。所述直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

所述获取子模块4062,用于获取由所述目标应用的应用界面和公开图像叠加生成的显示图像。

所述初始化模块408,包括:

挂起子模块4082,用于对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象。

架构搭建子模块4084,用于在所述目标对象初始化目标应用创建应用,依据所述应用信息确定映射对象和接口调用,搭建应用映射架构数据,再依据所述应用信息确定源对象和接口调用,搭建应用源架构数据。

其中,架构搭建子模块4084,还用于在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址;在调用接口时,依据所述应用信息在对应各接口处设置一组钩子程序,并确定各接口的接口信息。

所述初始化模块408,还包括:接口分析子模块4086,用于基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

从而通过调用底层窗口直接绘制图像并显示的方式,可以绕过系统的通信机制(如Windows的消息机制),从而对于直播返回信息的显示以及操纵也可以正常执行且不会退出全屏,在保证用户正常操作的基础上,提高了用户体验。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的直播数据处理方法和装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种直播数据处理方法,包括:

在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除直播视频数据外的信息,所述直播返回信息包括弹幕数据;

渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面;

依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

A2、如A1所述的方法,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,包括:

依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面;

将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像;

其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

A3、如A1所述的方法,渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,包括:

依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

A4、如A1所述的方法,依据所述显示图像展示直播界面,包括:

依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

A5、如A4所述的方法,依据所述直播界面生成具有弹幕数据的直播视频数据,包括:

依据所述应用映射架构数据调用第二接口,获取所述显示图像;

依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

A6、如A1-A5任一所述的方法,所述直播返回信息还包括:业务数据和/或非公开信息。

A7、如A6所述的方法,所述直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

A8、如A7所述的方法,获取所述显示图像,包括:

获取由所述目标应用的应用界面和公开图像叠加生成的显示图像。

A9、如A2-A5任一所述的方法,还包括:

预先通过挂起的目标对象,在初始化所述目标应用创建应用映射架构数据和应用源架构数据;

依据所述应用映射架构数据确定至少一个目标接口。

A10、如A9所述的方法,所述预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据,包括:

对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象;

在所述目标对象初始化目标应用时,依据所述应用信息确定映射对象和接口调用,搭建应用映射架构数据,再依据所述应用信息确定源对象和接口调用,搭建应用源架构数据。

A11、如A10所述的方法,还包括:

在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址;

在调用接口时,依据所述应用信息在对应各接口处设置一组钩子程序,并确定各接口的接口信息。

A12、如A11所述的方法,依据所述应用映射架构数据确定至少一个目标接口,包括:

基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

本发明还公开了B13、一种直播数据处理装置,包括:

获取模块,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据外的信息,所述直播返回信息包括弹幕数据;

渲染显示模块,用于渲染所述目标应用的应用界面和直播返回信息叠加的显示图像,依据所述显示图像展示直播界面;

直播返回模块,用于依据所述直播界面生成具有弹幕数据的直播视频数据,上传所述直播视频数据。

B14、如B13所述的装置,所述渲染显示模块,包括:

渲染子模块,用于依据应用映射架构数据调用第一接口,绘制所述直播返回信息对应的信息反馈图像,并获取基于应用源框架数据绘制的应用界面;将所述信息反馈图像和应用界面进行叠加并渲染得到显示图像;其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

B15、如B13所述的装置,所述渲染显示模块,包括:

绘制子模块,用于依据应用映射架构数据调用第一接口,绘制在所述目标应用的应用界面上叠加所述直播返回信息对应信息反馈图像的显示图像,渲染所述显示图像。

B16、如B13所述的装置,所述绘制显示模块,包括:

显示子模块,用于依据显示图像的时间信息,在终端屏幕上依次展示显示图像,构成所述目标应用的直播界面。

B17、如B16所述的装置,所述直播返回模块,包括:

获取子模块,用于依据所述应用映射架构数据调用第二接口,获取所述显示图像;

直播生成子模块,用于依据显示图像的时间信息,将所述各显示图像构成所述直播视频数据。

B18、如B13-B17任一所述的装置,所述直播返回信息还包括:业务数据和/或非公开信息。

B19、如B18所述的装置,所述直播返回信息对应的信息反馈图像包括公开图像和私密图像,其中,所述公开图像依据弹幕数据和业务数据绘制,所述私密图像依据所述非公开信息绘制。

B20、如B18所述的装置,

所述获取子模块,用于获取由所述目标应用的应用界面和公开图像叠加生成的显示图像。

B21、如B14-B17任一所述的装置,还包括:

初始化模块,用于预先通过挂起的目标对象,在初始化目标应用创建应用映射架构数据和应用源架构数据;依据所述应用映射架构数据确定至少一个目标接口。

B22、如B21所述的装置,初始化模块,包括:

挂起子模块,用于对系统中创建函数进行监控,在所述创建函数创建目标对象时挂起所述目标对象;

架构搭建子模块,用于在所述目标对象初始化目标应用创建应用,依据所述应用信息确定映射对象和接口调用,搭建应用映射架构数据,再依据所述应用信息确定源对象和接口调用,搭建应用源架构数据。

B23、如B22所述的装置,

架构搭建子模块,还用于在创建对象时,依据所述应用信息创建映射对象并指向源内存地址,再创建源对象并指向所述源内存地址;在调用接口时,依据所述应用信息在对应各接口处设置一组钩子程序,并确定各接口的接口信息。

B24、如B23所述的装置,初始化模块,还包括:

接口分析子模块,用于基于所述应用映射架构数据,依据所述接口信息确定用于绘制显示图像的至少一个目标接口。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1