一种直播数据显示方法和装置与流程

文档序号:12068807阅读:428来源:国知局
一种直播数据显示方法和装置与流程

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



背景技术:

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

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

但是,在网络直播过程中主播除了上传直播视频外,还要下载添加了互动消息的直播视频,这可能导致网络带宽被占用,影响直播视频的正常上传。



技术实现要素:

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

依据本发明的一个方面,提供了直播数据显示方法,具体包括:在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据之外的信息,所述直播返回信息包括弹幕数据;绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

可选地,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像;将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

可选地,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像;将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

可选地,绘制所述直播返回信息对应的第一显示图像,包括:依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像,其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

可选地,叠加到所述目标应用对应第二显示图像上进行显示,包括:获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

可选地,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

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

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

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

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

可选地,还包括:依据所述第二显示图像生成直播视频数据,上传所述直播视频数据。

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

根据本发明的另一方面,提供了直播数据显示装置,具体包括:获取模块,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据之外的信息,所述直播返回信息包括弹幕数据;绘制显示模块,用于绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

可选地,所述绘制显示模块,包括:绘制子模块,用于生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像;显示子模块,用于将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

可选地,所述绘制显示模块,包括:绘制子模块,用于生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像;显示子模块,用于将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

可选地,所述绘制显示模块,包括:绘制子模块,用于依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像,其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

可选地,所述绘制显示模块,还包括:显示子模块,用于获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

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

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

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

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

可选地,还包括:直播模块,用于依据所述第二显示图像生成直播视频数据,上传所述直播视频数据。

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

在采用目标应用的第二显示图像生成直播视频数据进行直播时,可以获取不携带视频数据的直播返回信息,该直播返回信息包括弹幕数据,绘制该直播返回信息对应的第一显示图像,将第一显示图像叠加到所述目标应用对应第二显示图像上进行显示,从而便于主播获取返回的互动消息与观看用户进行互动,并且直播返回信息不携带直播视频数据,能够有效减少对带宽资源的占用,保证直播的稳定性。

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

附图说明

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

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

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

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

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

图5示出了根据本发明另一个实施例提供的基于应用映射架构的绘制显示方法实施例的步骤流程图;

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

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

具体实施方式

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

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

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

步骤104,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

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

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

其中,在系统底层以及屏幕显示的角度,在系统中显示的界面、窗口都可以看作是一帧图像,因此可以基于该直播返回信息绘制互动消息图像即第一显示图像,从而第一显示图像能够显示互动消息,将目标应用对应显示界面及显示内容称为第二显示图像,目标应用可以全屏显示,因此可以将第一显示图像叠加到第二显示图像上进行显示。即在屏幕上显示的每一帧图像都是在该帧绘制的第一显示图像和第二显示图像叠加生成的,从而通过对每一帧第一显示图像和第二显示图像的绘制,得到在屏幕上动态显示的图像。由于第二显示图像是目标应用对应显示界面及显示内容,因此可以获取各帧对应第二显示图像,依据各帧的时间戳等信息生成直播视频数据。

综上,在采用目标应用的第二显示图像生成直播视频数据进行直播时,可以获取不携带视频数据的直播返回信息,该直播返回信息包括弹幕数据,绘制该直播返回信息对应的第一显示图像,将第一显示图像叠加到所述目标应用对应第二显示图像上进行显示,从而便于主播获取返回的互动消息与观看用户进行互动,并且直播返回信息不携带直播视频数据,能够有效减少对带宽资源的占用,保证直播的稳定性。

其中,直播返回信息包括:弹幕数据、业务数据和/或非公开信息,其中,业务数据依据具体业务确定,例如游戏业务则业务数据为礼物等电子物品数据,非公开信息包括给主播发送的私信、权限问题等数据,该权限问题可以是购买的权限后的提问数据。

本实施例在直播互动过程中,仅给主播返回互动消息而不携带视频数据,从而减少对带宽的占用。其中,依据直播返回信息生成的第一显示图像可以通过各种方式显示,便于主播观看。

一种方式是采用独立的子窗口显示。

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

步骤202,依据目标应用的第二显示图像生成直播视频数据,上传所述直播视频数据。

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

步骤206,生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像。

步骤208,将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

将目标应用的显示数据作为直播数据,其中,显示数据包括显示界面和界面内容,依据目标应用的数据绘制各帧对应第二显示图像,通过各帧第二显示图像构成目标应用的显示数据,从而获取每一帧第二显示图像并按照时间戳进行组合,构成相应的直播数据,从而实现对目标应用的显示画面的直播。在基于目标应用进行直播的过程中,用户可以发送弹幕数据、私信数据以及业务数据等直播返回信息,主播的用户终端可以接收直播返回信息。然后对直播返回信息进行处理并显示。其中,针对采用子窗口顺序显示直播返回信息的方式,可以生成子窗口即在预设位置绘制一子窗口,并绘制在子窗口内顺序展示所述直播返回信息,从而得到第一显示图像。对每帧第一显示图像采用上述方式绘制,构成动态显示的直播显示内容,如直播的弹幕数据。在该过程中基于目标应用对应绘制第二显示图像,针对屏幕的每一帧图像,将该绘制的子窗口叠加到所述第二显示图像的预设位置处,从而通过各帧图像的绘制进行屏幕图像的显示以及直播数据的生成。

另一种方式是采用独立的子窗口显示。

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

步骤302,依据目标应用的第二显示图像生成直播视频数据,上传所述直播视频数据。

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

步骤306,生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像。

步骤308,将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

将目标应用的显示数据作为直播数据,其中,显示数据包括显示界面和界面内容,依据目标应用的数据绘制各帧对应第二显示图像,通过各帧第二显示图像构成目标应用的显示数据,从而获取每一帧第二显示图像并按照时间戳进行组合,构成相应的直播数据,从而实现对目标应用的显示画面的直播。在基于目标应用进行直播的过程中,用户可以发送弹幕数据、私信数据以及业务数据等直播返回信息,主播的用户终端可以接收直播返回信息。然后对直播返回信息进行处理并显示,其中可以显示类似观看用户方式,如弹幕数据采用弹幕方式显示。则可以通过透明窗口(或透明遮罩)显示直播返回信息。即生成透明窗口即在预设位置绘制一透明窗口,并绘制在透明窗口内顺序展示所述直播返回信息,从而得到第一显示图像。对每帧第一显示图像采用上述方式绘制,构成动态显示的直播显示内容,如直播的弹幕数据。在该过程中基于目标应用对应绘制第二显示图像,针对屏幕的每一帧图像,将该绘制的子窗口叠加到所述第二显示图像的预设位置处,从而通过各帧图像的绘制进行屏幕图像的显示以及直播数据的生成。

又一种方式是基于应用映射架构的绘制显示方式

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

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

预先对系统进行监控,监控系统的创建函数如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引擎运行所需的各种接口以及函数对象等。

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

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

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

步骤408,依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像。

步骤410,获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

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

因此可以基于应用源框架数据绘制的第二显示图像生成直播数据,以及获取直播返回信息后,可以采用预先注入的钩子程序调用目标接口依据应用映射架构数据对应图像绘制、渲染、显示等方式,绘制所述直播返回信息对应的第一显示图像,获取基于应用源框架数据创建的第二显示图像,将该第一显示图像叠加到第二显示图像上显示,即在显示目标应用的第二显示图像的基础上,叠加第一显示图像进行显示。

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

步骤412,依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

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

综上,通过在初始化时创建应用映射架构数据和应用源架构数据确定目标应用的架构,从而可以确定出至少一个目标接口,基于应用映射架构数据调用所述目标接口绘制图像数据,能够基于目标应用的架构原理执行,更加贴合应用,减少对直播以及应用操作的影响,提高用户体验。

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

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

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

参照图5,示出了根据本发明另一个实施例提供的基于应用映射架构的绘制显示方法实施例的步骤流程图,具体可以包括如下步骤:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

步骤518,依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像。

步骤520,获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

步骤522,依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

在终端中初始化目标应用时搭建应用映射架构数据和应用源架构数据,并确定至少一个目标接口。然后完成初始化可以启动该目标应用,目标应用在启动后进入全屏模式。在该模式下可以采用应用映射架构数据调用应用源架构数据进行响应。基于该目标应用的第二显示图像生成直播数据,直播过程中可接收直播返回信息,然后基于应用映射架构数据所确定的架构原理,基于直播返回信息调用目标接口绘制、渲染第一显示图像。并且可以确定出该第一图像的显示位置,在目标应用的第二显示图像对应位置叠加该第一图像,从而实现在第二显示图像上叠加第一显示图像的显示。还可以基于直播返回信息和目标应用的数据确定绘制数据,基于该绘制数据调用目标接口绘制、渲染第一显示图像和第二显示图像的叠加图像数据。

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

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

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

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

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

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

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

绘制显示模块604,用于绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

综上,在采用目标应用的第二显示图像生成直播视频数据进行直播时,可以获取不携带视频数据的直播返回信息,该直播返回信息包括弹幕数据,绘制该直播返回信息对应的第一显示图像,将第一显示图像叠加到所述目标应用对应第二显示图像上进行显示,从而便于主播获取返回的互动消息与观看用户进行互动,并且直播返回信息不携带直播视频数据,能够有效减少对带宽资源的占用,保证直播的稳定性。

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

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

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

绘制显示模块604,用于绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

直播模块608,用于依据所述第二显示图像生成直播视频数据,上传所述直播视频数据。所述直播返回信息还包括:业务数据和/或非公开信息。

其中,绘制显示模块604包括:绘制子模块6042和显示子模块6044。

一个可选实施例中,绘制子模块6042用于生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像;显示子模块6044,用于将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

另一个可选实施例中,绘制子模块6042,用于生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像;显示子模块6044,用于将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

又一个可选实施例中,绘制子模块6042,用于依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像,其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。显示子模块6044,用于获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

其中,绘制显示模块604,用于依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

其中,其中,初始化模块606,包括:

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

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

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

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

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

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

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

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

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

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

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

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

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

本发明公开了A1、一种直播数据显示方法,包括:在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据之外的信息,所述直播返回信息包括弹幕数据;绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

A2、如A1所述的方法,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像;将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

A3、如A1所述的方法,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像;将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

A4、如A1所述的方法,绘制所述直播返回信息对应的第一显示图像,包括:依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像,其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

A5、如A4所述的方法,叠加到所述目标应用对应第二显示图像上进行显示,包括:获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

A6、如A1所述的方法,绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,包括:依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

A7、如A4-A6任一所述的方法,还包括:预先通过挂起的目标对象,在初始化所述目标应用创建应用映射架构数据和应用源架构数据;依据所述应用映射架构数据确定至少一个目标接口。

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

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

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

A11、如A1所述的方法,还包括:依据所述第二显示图像生成直播视频数据,上传所述直播视频数据。

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

本发明还提供了B13、一种直播数据显示装置,包括:获取模块,用于在基于目标应用进行直播的过程中,获取直播返回信息,其中,所述直播返回信息用于反馈除视频数据之外的信息,所述直播返回信息包括弹幕数据;绘制显示模块,用于绘制所述直播返回信息对应的第一显示图像,并叠加到所述目标应用对应第二显示图像上进行显示,其中,所述第二显示图像用于生成直播视频数据。

B14、如B13所述的装置,所述绘制显示模块,包括:绘制子模块,用于生成子窗口并在所述子窗口绘制顺序展示所述直播返回信息的第一显示图像;显示子模块,用于将所述子窗口设置在所述目标应用对应第二显示图像上进行显示。

B15、如B13所述的装置,所述绘制显示模块,包括:绘制子模块,用于生成透明窗口并在所述透明窗口上绘制动态展示直播返回信息的第一显示图像;显示子模块,用于将所述透明窗口叠加到所述目标应用对应第二显示图像上进行显示。

B16、如B13所述的装置,所述绘制显示模块,包括:绘制子模块,用于依据应用映射架构数据调用所述目标接口,绘制所述直播返回信息对应的第一显示图像,其中,所述应用映射架构数据是依据所述目标应用的应用源框架数据确定的。

B17、如B16所述的装置,所述绘制显示模块,还包括:显示子模块,用于获取基于应用源框架数据创建的第二显示图像,将所述第一显示图像和第二显示图像进行叠加显示。

B18、如B13所述的装置,所述绘制显示模块,用于依据应用映射架构数据调用所述目标接口,绘制所述目标应用对应第二显示图像和所述直播返回信息对应第一显示图像的叠加图像数据。

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

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

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

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

B23、如B13所述的装置,还包括:直播模块,用于依据所述第二显示图像生成直播视频数据,上传所述直播视频数据。

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

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