CN103096134B - 一种基于视频直播和游戏的数据处理方法和设备 - Google Patents
一种基于视频直播和游戏的数据处理方法和设备 Download PDFInfo
- Publication number
- CN103096134B CN103096134B CN201310050963.8A CN201310050963A CN103096134B CN 103096134 B CN103096134 B CN 103096134B CN 201310050963 A CN201310050963 A CN 201310050963A CN 103096134 B CN103096134 B CN 103096134B
- Authority
- CN
- China
- Prior art keywords
- net cast
- game
- scene
- coordinate
- destination object
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施方式提供了一种基于视频直播和游戏的数据处理方法。该方法例如可以包括:响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流;获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系;按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。本发明的实施方式通过将用户需要观看的视频直播在用户当前打开的游戏场景中进行播放,避免了用户需要退出游戏场景才能观看视频直播的问题,进而节约终端在响应用户请求时所消耗的系统资源。同时,也能提升用户的使用体验。此外,本发明的实施方式提供了一种基于视频直播和游戏的数据处理设备,例如,客户端。
Description
技术领域
本发明的实施方式涉及互联网领域,更具体地,本发明的实施方式涉及一种基于视频直播和游戏的数据处理方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
在互联网越来越高速发展的今天,用户对于互联网的应有也越来越广泛,用户可以通过互联网观看视频直播或者联网玩游戏等等。终端的视频直播是指利用互联网及流媒体技术进行直播,视频因融合了图像、文字、声音等丰富元素,声形并茂,效果极佳,用户通过客户端可以直接收看直播的视频。传统的视频直播系统,基本上是基于H264视频编码和AAC音频编码的视频流,通过视频发布客户端发布到CDN(ContentDeliveryNetwork,内容分发网络)服务器上,而用户通过自主开发的客户端或者网页浏览器去查看直播。
发明内容
但是,本发明人在研究过程中发现,在现有技术中,已经切换至游戏场景玩游戏的用户如果需要观看视频直播,就需要退出当前的游戏场景,并且重新打开视频直播的应用程序才能观看视频。而用户退出游戏场景、切换应用程序以及打开视频直播的一系列操作,很显然不仅会增加用户与终端的交互次数,也会增加终端与CDN服务器的交互次数,以及终端与游戏发布客户端或者服务器的交互次数,等等,这样不仅会不必要的消耗终端、服务器的系统资源,也会占用一定的网络传输带宽,浪费网络传输带宽资源。
此外,如果服务器或者终端需要处理的响应请求过多,势必也会延迟对用户的响应的处理时间,引起用户不好的使用体验。
为此,非常需要一种改进的基于视频直播和游戏的数据处理方法和设备(例如,终端),以解决现有技术中用户与终端的交互次数过多导致的终端系统资源浪费这一技术问题,进一步地,也提升用户的使用体验。
在本上下文中,本发明的实施方式期望提供一种基于视频直播和游戏的数据处理方法和设备。
在本发明实施方式的第一方面中,提供了一种基于视频直播和游戏的数据处理方法,例如可以包括:响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流;获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系;按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。
在本发明的一个实施方式中,其中,所述触发条件为:所述游戏场景中的虚拟用户与预设的目标对象之间的距离小于第一预设阈值。
在本发明的另一实施方式中,例如还可以包括:实时检测所述虚拟用户与所述目标对象之间的距离是否改变,如果是,则依据改变的距离大小相对应得调整所述视频直播数据流在播放过程中的声音大小。
在本发明的又一个实施方式中,其中,所述获取所述视频直播数据流相对于所述预设的目标对象的游戏场景的坐标关系,包括:获取所述目标对象的角屏幕坐标到所述视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;依据所述透视投影矩阵,确定所述目标对象的屏幕坐标集合与所述视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
在本发明的再一个实施方式中,其中,所述按照所述坐标参数将所述视频直播数据流渲染至所述目标对象上进行播放,包括:获取所述视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;依据所述映射关系确定所述视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
在本发明实施方式的第二方面中,提供了一种基于视频直播和游戏的数据处理设备,例如可以包括:第一获取单元,配置用于响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流;第二获取单元,配置用于获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系;渲染单元,配置用于按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。
在本发明的另一实施方式中,其中,所述触发条件为:所述游戏场景中的虚拟用户与预设的目标对象之间的距离小于第一预设阈值。
在本发明的另一实施方式中,例如还可以包括:检测单元,配置用于实时检测所述虚拟用户与所述目标对象之间的距离是否改变;调整单元,配置用于所述检测单元的结果为是的情况下,依据改变的距离大小相对应得调整所述视频直播数据流在播放过程中的声音大小。
在本发明的另一实施方式中,其中,所述第二获取单元包括:第一获取子单元,配置用于获取所述目标对象的角屏幕坐标到所述视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;第一确定子单元,配置用于依据所述透视投影矩阵,确定所述目标对象的屏幕坐标集合与所述视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
在本发明的另一实施方式中,其中,所述渲染单元包括:第二获取子单元,配置用于获取所述视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;第二确定子单元,配置用于依据所述映射关系确定所述视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
在本实施方式中,响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流相对于游戏场景中预设的目标对象的坐标关系,再按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放,可以将用户需要观看的视频直播在用户当前打开的游戏场景中进行播放,从而避免了用户需要退出游戏场景才能观看视频直播的问题,进而减少用户与终端的交互次数,也减少终端与CDN服务器的交互次数,以及终端与游戏发布客户端或者服务器的交互次数,等等,这样可以节约终端在响应用户请求时所消耗的系统资源。同时,也能提升用户的使用体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了适于实现本发明实施方式的示例性计算系统100的框图;
图2示意性地示出了本发明的实施方式的一个示例性应用场景的框架示意图;
图3示意性地示出了根据本发明一实施方式的方法流程图;
图4示意性地示出了本发明一实施方式中步骤302的流程图;
图5示意性地示出了本发明一实施方式中步骤303的流程图;
图6示意性地示出了根据本发明又一实施方式的方法流程图;
图7示意性地示出了根据本发明的场景实施方式的流程图;
图8示意性地示出了本发明一实施方式的设备(例如,客户端)的结构框架图;
图9示意性地示出了本发明一实施方式中第二获取单元802的结构框架图;
图10示意性地示出了本发明一实施方式中本发明又一实施方式的设备的渲染单元803的结构框架图;
图11示意性地示出了本发明又一实施方式的设备(例如,客户端)的结构框架图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算系统100可以包括:中央处理单元(CPU)101、随机存取存储器(RAM)102、只读存储器(ROM)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。这些设备中,与系统总线104耦合的有CPU101、RAM102、ROM103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备□
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施方式的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
根据本发明的实施方式,提出了一种基于视频直播和游戏的数据处理方法和设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,因为现有技术中已经切换至游戏场景玩游戏的用户如果想观看视频直播,就需要退出当前的游戏场景,并且重新打开视频直播的应用程序才能观看视频。而用户退出游戏场景、切换应用程序以及打开视频直播的一系列操作,很显然不仅会增加用户与终端的交互次数,也会增加终端与CDN服务器的交互次数,以及终端与游戏发布客户端或者服务器的交互次数,等等。
而如果能够使得切换至游戏场景玩游戏的用户在需要观看视频直播的时候,不需要退出当前的游戏场景即可观看视频,这样就可以不必进行用户退出游戏场景、切换应用程序以及打开视频直播等一系列操作,这样也就减少了用户与终端的交互次数,相应的也会减少终端与CDN服务器的交互次数,以及终端与游戏发布客户端以及服务器的交互次数。在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图2,图2是本发明的实施方式的一个示例性应用场景的框架示意图。其中,玩游戏的用户使用客户端202进行基于游戏场景的视频直播的观看,用户通过客户端202与CDN服务器201进行交互,可以通过CDN服务器201获取到视频发布客户端203发布的直播视频。本领域技术人员可以理解,图2所示的框架示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,此处的客户端202和视频发布客户端203可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线或无线连接(例如,Wi-Fi、LAN、WAN、因特网等)与邮箱服务器201交互的任何客户端,包括但不限于:现有的、正在研发的或将来研发的、台式计算机、膝上型计算机、移动终端(包括智能手机、非智能手机、各种平板电脑)等。
还需要注意的是,此处的CDN服务器201仅是现有的、正在研发的或将来研发的、能够向用户提供邮件服务的设备的一个示例。本发明的实施方式在此方面不受任何限制。
响应于满足基于游戏场景的视频直播的触发条件,客户端201可以通过CDN服务器201获取视频发布客户端203发布的待播放的视频直播数据流,并可以获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系,以按照所述坐标关系将所述视频直播数据流渲染至例如客户端202的游戏场景中的目标对象上进行播放。
示例性方法
下面结合图2的应用场景,参考图3来描述根据本发明示例性实施方式的基于视频直播和游戏的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参考图3所示,为本发明公开的基于视频直播和游戏的数据处理方法一实施方式的流程图,本实施方式具体例如可以包括:
步骤301:响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流。
在本实施方式中,用户当前正在使用客户端进行游戏,即是用户当前所处的应用模式为游戏场景,在这种情况下,客户端需要实时检测是否满足基于游戏场景的视频直播的触发条件,即是判断是否需要在当前游戏场景下进行视频直播。在实际应用的游戏场景中,因为用户对应的游戏场景的中玩家会不断地通过各种关卡,所以玩家所经过的路径和场景都是相同的,因此,可以预先设置在玩家到达某一个游戏场景中的背景墙或者经过某个路面等目标对象时进行视频直播。
例如,当游戏场景中的玩家经过第二关的第三面背景墙的时候,需要向该玩家对应的用户播放某一段固定的视频,那么客户端会在玩家与该背景墙的距离小于某一个预设阈值的时候,直接在该背景墙上向该玩家播放视频。当然,播放视频的不只可以是背景墙,也可以是有一定面积的其他对象,比如某个路面等,预先在哪个目标对象上播放视频可以预先设定,预先在哪个时刻播放视频也可以预先设定,即是通过预设触发条件的方式来实现。则该触发条件例如可以为:游戏场景中的虚拟用户(即是玩家)与预设的目标对象之间的距离小于第一预设阈值。
可以理解的是,待播放的视频直播数据流的获取方式也可以有多种,例如,可以从CDN服务器上实时下载,也可以是客户端的一段本地视频,也可以是用户在实际场景中实时录制的视频数据等。只要预先将待播放的视频直播数据流的信息与满足播放时的触发条件对应设置好即可。
步骤302:获取视频直播数据流相对于游戏场景中预设的目标对象的坐标关系。
在本实施方式中,因为是在游戏场景中进行视频直播,所以获取到视频直播数据流之后,还不能直接在用户的客户端上进行播放,需要依据视频直播数据流中各个图片帧的位置信息,来获取其在游戏场景的目标对象上进行播放时的坐标关系,这样才能依据视频直播数据流相对于预设的目标对象的坐标关系来将该视频在该目标对象上进行播放。其中目标对象可以是规则或者不规则的四边形等,只需目标对象有一定的面积可以进行视频直播即可。
参考图4所示,为步骤302在实际应用中一种可能的实施方式,本实施方式具体可以包括:
步骤401:获取目标对象的角屏幕坐标到视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;
在获取到视频直播数据流之后,需要获取目标对象的角屏幕坐标到视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵。
假设目标对象上任一个点(xi,yi)到原始角坐标任一点(ui,vi)的透视投影矩阵为M,则可得如下公式(1):
下面将推导M的求解过程。首先用M同目标对象上任一个点(xi,yi)坐标相乘,得到如公式(2)所示的(u,v,w):
接着再将公式(2)所示的(u,v,w)归一化成原始视频帧图片上的坐标(ui,vi),如公式(3)所示:
在进行上述变化下,假设目标对象上有四个角坐标分别为:(x0,y0)、(x1,y1)、(x2,y2)和(x3,y3),该四个角坐标标识目标对象上进行视频播放的四个角点,经过投影矩阵M的变换和归一化以后对应的原始视频帧图片的四个角坐标分别为:(u0,v0)、(u1,v1)、(u2,v2)和(u3,v3),即是原始视频帧图片中每一帧图片的四个角点。那么在给定{x0-x3、y0-y3、u0-u3以及v0-v3}的情况下,根据上面的等式,可以把四个点与M中各个系数的关系表示为公式(4):
那么,将公式(4)的等号最左边最大的矩阵称为A,中间包含c00-c21系数的矩阵叫B,等号右边的结果矩阵叫C,则上面的等式可以简单表达为公式(5):
A*B=C(5)
此时假设c22=1,那么在已知{x0-x3、y0-y3、u0-u3和v0-v3}的情况下,将其带入方程组(4),然后采用解线性方程的方法即可得到矩阵B(对矩阵A*B=C来说,即A和C已知的情况下,求解B矩阵,只需要用标准的解方程方法即可求解出B矩阵)。得到矩阵B之后,也就可以得到如公式(6)所示的投影变换矩阵M:
步骤402:依据所述透视投影矩阵,确定目标对象的屏幕坐标集合与视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
在步骤401得到透视投影矩阵之后,就可以确定出目标对象的屏幕坐标集合(xj,yj)到视频帧图片的原始坐标集合(uj,vj)之间的映射关系,这样就能根据原始坐标集合(uj,vj)和透视投影矩阵来计算出目标对象集合的屏幕坐标集合(xj,yj)。其中,屏幕坐标集合(xj,yj)为目标对象上除了所述角屏幕坐标之外的其他坐标,原始坐标集合(uj,vj)为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
接着返回图3,在步骤303中:按照坐标关系将视频直播数据流渲染至目标对象上进行播放。
在得到视频直播数据流相对于游戏场景中预设的目标对象的坐标关系之后,就可以通过视频直播数据流的原始图片帧渲染到目标对象上进行播放。
参考图5所示,为步骤303的一种可能的实现方式之一,本实现方式包括:
步骤501:获取视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;
首先,因为视频直播数据流是可以获取到的,那么在读取视频直播数据流的每一帧数据,即是每个视频帧图片时,就可以获取到视频帧图片上原始坐标集合的各个原始坐标值,即是(xj,yj)。
步骤502:依据映射关系确定视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
然后依据步骤402中确定的(xj,yj)与(uj,vj)之间的映射关系,依据步骤501中得到的视频帧图片的原始坐标值(xj,yj)可以确定目标对象上的屏幕坐标值(uj,vj),这样就可以将获取到的视频直播数据流的各个视频帧图片依次对应的渲染至游戏场景中的目标对象上向用户进行播放。
在本实施方式中,响应于满足基于游戏场景的视频直播的触发条件,通过获取待播放的视频直播数据流相对于游戏场景中预设的目标对象的坐标关系,再按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放,可以将用户需要观看的视频直播在用户当前打开的游戏场景中进行播放,从而避免了用户需要退出游戏场景才能观看视频直播的问题,进而减少用户与终端的交互次数,也减少终端与CDN服务器的交互次数,以及终端与游戏发布客户端或者服务器的交互次数,等等,这样可以节约终端在响应用户请求时所消耗的系统资源。同时,也能提升用户的使用体验。
参考图6所示,为本发明公开的基于视频直播和游戏的数据处理方法又一实施方式的流程图,除了步骤301~步骤303之外,本实施方式具体例如还可以包括:
步骤601:实时检测虚拟用户与目标对象之间的距离是否改变,如果是,则进入步骤602。
在本实施方式中,不仅可以在游戏场景中进行视频直播,而且还可以在视频直播的过程中,实时监测虚拟用户(即是游戏场景中的玩家)与进行视频直播的目标对象之间的距离,如果距离发生改变,那么就根据距离的大小对视频直播的声音大小进行调整,例如,距离增加则将声音调小,而距离减小则将声音调大,这样就可以使声音具有3D音效的立体感。
步骤602:依据改变的距离大小相对应地调整视频直播数据流在播放过程中的声音大小。
在依据改变的距离大小相对应地调整视频直播数据流在播放过程中的声音大小时,可以采用HRTF(HeadRelatedTransferFunction,头相关变换函数)算法对音频数据进行3D处理,即可实现声音依据距离的改变而由小变大或者由大变小的3D音效。
在本实施方式中,进一步地,根据视频直播过程中游戏场景中的玩家距离目标对象的距离大小,可以对声音进行3D处理,使得声音可以随着玩家位置的移动而具有立体感,更进一步地提升了用户给予游戏场景时视频直播的感受和体验。
采用本发明的实施方式,游戏玩家可以在游戏场景中观看视频直播,就像挂一个超薄屏到墙面上一样,并通过收集游戏场景内的位置信息,使用HRTF3D音效算法对音频数据进行处理,可以使游戏玩家由远及近听到声音由小到大,游戏玩家可以通过声音辨别视频在游戏场景中的位置(即音源的位置),因此,当直播的视频画面不在可视的范围内时,可以通过声音引导游戏玩家走到视频所在的位置。
参考图7所示,为本发明公开的基于视频直播和游戏的数据处理方法在实际应用中的场景实施方式的流程图,本方式应用于基于视频直播和游戏的数据处理的执行主体,即是为基于游戏场景的视频直播的客户端,本实施方式具体例如可以包括:
步骤701:启动客户端存根(stub)播放器进程。
在本场景实施方式中,为降低Flash直播视频时对游戏的影响(例如Flash崩溃而导致游戏崩溃,Flash内存泄漏等),视频直播将在独立的进程中播放。stub播放进程将创建一个Windowless模式的Flash播放器,将视频画面快速渲染到内存中。
步骤702:重定向播放器进程输入输出流,创建用于进程间通信的命名管道。
在客户端播放进程播放过程中需要将当前的播放状态通过命名管道(对于客户端播放进程来讲是输出管道,对游戏内进程而言为输入管道)通知游戏内播放进程。
步骤703:判断基于游戏场景的视频直播是否终止,如果否,则进入步骤704。
如果基于游戏场景的视频直播没有停止,则进入后续视频直播的流程,如果基于游戏场景的视频直播停止了,则结束基于游戏场景的视频直播的流程。
步骤704:从输入管道中读取播放进程当前ID,依据当前ID进行后续视频直播处理。
在本场景实施方式中,状态ID及其意义例如可以如下:
状态ID=1,视频画面已变化,游戏播放进程需要更新读写缓存模块中的图像;状态ID=2,视频已加载完毕,此时游戏可以开始读取图像数据并渲染;状态ID=3,视频已经停止或暂停,此时游戏应该清理游戏中的直播画面。
其中,状态ID表示视频直播的当前状态,并且状态ID的数值及其对应的含义可以预先设置。
由于进行视频直播是在游戏场景中进行的,游戏场景内播放器实际上并没有执行真正的播放工作,播放视频由客户端stub播放器进程负责。在游戏场景内开始直播时,启动客户端stub播放进程之后,也会创建匿名管道(anonymouspipe)重定向游戏内播放器进程的输入输出流,用于与客户端stub播放器进程通讯。
实际上,在“视频播放”过程中是由游戏内播放器按照一定的频率从输入管道中读取客户端stub播放进程当前的状态,并执行对应的操作,游戏内播放器读取到的状态ID和需要执行的操作例如可以如下:
状态ID=1,则游戏内播放进程将通过管道读取当前原始视频帧图片并保存到读写缓存模块中,通过客户端的读写缓存模块实现缓冲刷新的无锁定更新,并通过透视贴图技术绘制到游戏场景中的目标对象上(即是采用步骤302和步骤303的方式进行视频直播)。
状态ID=2,则游戏内播放进程将开始渲染视频直播的画面,同时Flash视频直播的加载已经完成,此时可以将已加载变量设置为1,表示已加载成功。
状态ID=3,视频已经停止或暂停,此时游戏内播放进程将清理视频直播的画面,并将已加载变量设置为0。
可以理解的是,在场景实施方式中,可以由“GameVideo”库提供了3D音效处理接口,在视频直播过程中,游戏可以将视频在游戏中的位置通过进程间通讯的输出管道发送到客户端stub播放进程中,客户端stub播放进程将根据接收到的地理位置,对音频进行处理,播放出具有3D音效的声音。
相应的,客户端stub播放进程在播放过程中会按照一定的频率从输入管道(对游戏内进程而言,该管道为输出管道)中读取视频相对于游戏角色的位置,并应用HRTF算法对音频数据进行3D处理,使播放出来的声音具有立体感。
还可以理解的是,如果视频直播是直播游戏比赛,那么视频发布客户端的音频抓取模块和视频抓取混合模块是需要同时支持多输入的,既要截取游戏的声音和麦克风讲解员发出的声音,并且也既要截取游戏的图像又要截取摄像头里面讲解员的视频,并将两份声音和两份视频分别合成在一起。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图8,图8是本发明实施方式公开的设备(例如,客户端)的一实施方式的结构示意图,本发明示例性实施方式的设备,具体例如可以包括:
第一获取单元801,配置用于响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流。
其中,所述触发条件可以为:所述游戏场景中的虚拟用户与预设的目标对象之间的距离小于第一预设阈值。
第二获取单元802,配置用于获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系。
其中,参考图9所示,为第二获取单元802的一种可能的实现方式,所述第二获取单元802具体可以包括:
第一获取子单元901,配置用于获取所述目标对象的角屏幕坐标到所述视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;
第一确定子单元902,配置用于依据所述透视投影矩阵,确定所述目标对象的屏幕坐标集合与所述视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
渲染单元803,配置用于按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。
其中,所述渲染单元803具体可以包括:
第二获取子单元1001,配置用于获取所述视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;
第二确定子单元1002,配置用于依据所述映射关系确定所述视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
在本实施方式中,响应于满足基于游戏场景的视频直播的触发条件,通过获取待播放的视频直播数据流相对于游戏场景中预设的目标对象的坐标关系,再按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放,可以将用户需要观看的视频直播在用户当前打开的游戏场景中进行播放,从而避免了用户需要退出游戏场景才能观看视频直播的问题,进而减少用户与终端的交互次数,也减少终端与CDN服务器的交互次数,以及终端与游戏发布客户端或者服务器的交互次数,等等,这样可以节约终端在响应用户请求时所消耗的系统资源。同时,也能提升用户的使用体验。
参考图11所示,为本发明提供的设备的又一实施方式的结构框图,除了图8所示意的结构之外,本实施方式具体例如还可以包括:
检测单元1101,配置用于实时检测所述虚拟用户与所述目标对象之间的距离是否改变。
调整单元1102,配置用于所述检测单元的结果为是的情况下,依据改变的距离大小相对应得调整所述视频直播数据流在播放过程中的声音大小。
可见,本发明实施方式提供的设备(例如,客户端),进一步地,根据视频直播过程中游戏场景中的玩家距离目标对象的距离大小,可以对声音进行3D处理,使得声音可以随着玩家位置的移动而具有立体感,更进一步地提升了用户给予游戏场景时视频直播的感受和体验。
应当注意,尽管在上文详细描述中提及了设备(例如,客户端)的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (10)
1.一种基于视频直播和游戏的数据处理方法,应用于客户端,包括:
响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流;
获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系;
按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。
2.根据权利要求1所述的方法,其中,所述触发条件为:
所述游戏场景中的虚拟用户与预设的目标对象之间的距离小于第一预设阈值。
3.根据权利要求1所述的方法,还包括:
实时检测所述游戏场景中的虚拟用户与所述目标对象之间的距离是否改变,如果是,则依据改变的距离大小相对应得调整所述视频直播数据流在播放过程中的声音大小。
4.根据权利要求1所述的方法,其中,所述获取所述视频直播数据流相对于所述预设的目标对象的游戏场景的坐标关系,包括:
获取所述目标对象的角屏幕坐标到所述视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;
依据所述透视投影矩阵,确定所述目标对象的屏幕坐标集合与所述视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
5.根据权利要求4所述的方法,其中,所述按照所述坐标参数将所述视频直播数据流渲染至所述目标对象上进行播放,包括:
获取所述视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;
依据所述映射关系确定所述视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
6.一种基于视频直播和游戏的数据处理设备,配置于客户端,包括:
第一获取单元,配置用于响应于满足基于游戏场景的视频直播的触发条件,获取待播放的视频直播数据流;
第二获取单元,配置用于获取所述视频直播数据流相对于所述游戏场景中预设的目标对象的坐标关系;
渲染单元,配置用于按照所述坐标关系将所述视频直播数据流渲染至所述目标对象上进行播放。
7.根据权利要求6所述的设备,其中,所述触发条件为:
所述游戏场景中的虚拟用户与预设的目标对象之间的距离小于第一预设阈值。
8.根据权利要求6所述的设备,还包括:
检测单元,配置用于实时检测所述游戏场景中的虚拟用户与所述目标对象之间的距离是否改变;
调整单元,配置用于所述检测单元的结果为是的情况下,依据改变的距离大小相对应得调整所述视频直播数据流在播放过程中的声音大小。
9.根据权利要求6所述的设备,其中,所述第二获取单元包括:
第一获取子单元,配置用于获取所述目标对象的角屏幕坐标到所述视频直播数据流的视频帧图片的原始角坐标的透视投影矩阵;
第一确定子单元,配置用于依据所述透视投影矩阵,确定所述目标对象的屏幕坐标集合与所述视频帧图片的原始坐标集合之间的映射关系,所述屏幕坐标集合为所述目标对象上除了所述角屏幕坐标之外的其他坐标,所述原始坐标集合为所述视频帧图片上除了所述原始角坐标之外的其他坐标。
10.根据权利要求9所述的设备,其中,所述渲染单元包括:
第二获取子单元,配置用于获取所述视频直播数据流中视频帧图片上原始坐标集合的原始坐标值;
第二确定子单元,配置用于依据所述映射关系确定所述视频帧图片的原始坐标值映射至目标对象上的屏幕坐标值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310050963.8A CN103096134B (zh) | 2013-02-08 | 2013-02-08 | 一种基于视频直播和游戏的数据处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310050963.8A CN103096134B (zh) | 2013-02-08 | 2013-02-08 | 一种基于视频直播和游戏的数据处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103096134A CN103096134A (zh) | 2013-05-08 |
CN103096134B true CN103096134B (zh) | 2016-05-04 |
Family
ID=48208184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310050963.8A Active CN103096134B (zh) | 2013-02-08 | 2013-02-08 | 一种基于视频直播和游戏的数据处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103096134B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10154072B2 (en) * | 2014-09-17 | 2018-12-11 | Microsoft Technology Licensing, Llc | Intelligent streaming of media content |
CN104793917B (zh) * | 2015-02-10 | 2017-09-12 | 西南民族大学 | 一种实时获取Cocos2d‑x游戏播放声音的方法 |
CN104751852B (zh) * | 2015-03-20 | 2018-07-24 | 广东小天才科技有限公司 | 一种声音处理的方法和装置 |
CN105187939A (zh) * | 2015-09-21 | 2015-12-23 | 合一网络技术(北京)有限公司 | 一种实现网页游戏中播放视频的方法及装置 |
CN105335064B (zh) * | 2015-09-29 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 一种信息处理方法和终端 |
CN106851427B (zh) * | 2015-12-04 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种游戏直播视频的传输控制方法以及装置 |
CN106937135A (zh) * | 2015-12-31 | 2017-07-07 | 幸福在线(北京)网络技术有限公司 | 一种游戏场景的实时播放方法及相关装置和系统 |
US10274737B2 (en) * | 2016-02-29 | 2019-04-30 | Microsoft Technology Licensing, Llc | Selecting portions of vehicle-captured video to use for display |
CN105740029B (zh) | 2016-03-03 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 一种内容呈现的方法、用户设备及系统 |
CN105797377B (zh) * | 2016-03-10 | 2019-08-23 | 武汉斗鱼网络科技有限公司 | 一种游戏进程识别和显示方法及系统 |
CN106210753B (zh) * | 2016-05-24 | 2018-03-27 | 北京畅游天下网络技术有限公司 | 一种视频直播方法及装置 |
CN106101855B (zh) * | 2016-06-29 | 2019-03-05 | 北京奇虎科技有限公司 | 一种游戏页面的处理方法和装置 |
CN106250558B (zh) * | 2016-08-16 | 2019-10-25 | 天脉聚源(北京)传媒科技有限公司 | 一种直播刷新方法及装置 |
CN106412663A (zh) * | 2016-09-30 | 2017-02-15 | 乐视控股(北京)有限公司 | 直播方法、直播装置以及终端 |
CN106507161B (zh) | 2016-11-29 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 视频直播方法及直播装置 |
CN106973330B (zh) * | 2017-03-20 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种屏幕直播方法、装置和系统 |
CN107273085B (zh) * | 2017-06-02 | 2020-06-05 | 深圳市华阅文化传媒有限公司 | 阅读页面播放背景声音的方法及装置 |
CN107596687B (zh) * | 2017-08-24 | 2021-03-02 | 网易(杭州)网络有限公司 | 游戏画面显示系统及方法、存储介质、电子设备 |
CN107678828A (zh) * | 2017-10-26 | 2018-02-09 | 北京易讯理想科技有限公司 | 一种基于图像追踪技术实现的声音音量控制方法 |
CN108307243B (zh) * | 2018-01-10 | 2020-09-04 | 武汉斗鱼网络科技有限公司 | 直播平台游戏联运设置方法、存储介质、电子设备及系统 |
CN108597530B (zh) * | 2018-02-09 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 声音再现方法和装置、存储介质及电子装置 |
CN109246440B (zh) * | 2018-08-06 | 2021-08-24 | 广州方硅信息技术有限公司 | 基于直播的界面切换方法、游戏交互系统以及服务器 |
CN109308179A (zh) | 2018-09-25 | 2019-02-05 | Oppo广东移动通信有限公司 | 3d音效处理方法及相关产品 |
CN109379622B (zh) * | 2018-10-24 | 2021-06-08 | 网易(杭州)网络有限公司 | 游戏中播放视频的方法和装置 |
CN110636324B (zh) * | 2019-10-24 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置、计算机设备及存储介质 |
CN112911354B (zh) * | 2019-12-03 | 2022-11-15 | 海信视像科技股份有限公司 | 显示设备和声音控制方法 |
CN111050189B (zh) * | 2019-12-31 | 2022-06-14 | 成都酷狗创业孵化器管理有限公司 | 直播方法、装置、设备和存储介质 |
CN111182321B (zh) * | 2019-12-31 | 2022-05-27 | 广州博冠信息科技有限公司 | 处理信息的方法、装置和系统 |
CN111314714B (zh) * | 2020-02-27 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 一种游戏直播方法和装置 |
CN112426712A (zh) * | 2020-11-20 | 2021-03-02 | 广州博冠信息科技有限公司 | 一种游戏赛事直播画面的生成方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149841A (zh) * | 2007-07-06 | 2008-03-26 | 浙江大学 | 三维应用程序中的凸面镜效果的模拟方法 |
CN101208723A (zh) * | 2005-02-23 | 2008-06-25 | 克雷格·萨默斯 | 用于3维照相机和3维视频的自动场景建模 |
CN101320482A (zh) * | 2008-07-08 | 2008-12-10 | 浙江大学 | 基于视频纹理的虚拟跑步运动员的绘制方法 |
CN102113003A (zh) * | 2008-06-03 | 2011-06-29 | 索尼电脑娱乐公司 | 用于交互式环境的辅助内容资产的基于提示的流式传输 |
-
2013
- 2013-02-08 CN CN201310050963.8A patent/CN103096134B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101208723A (zh) * | 2005-02-23 | 2008-06-25 | 克雷格·萨默斯 | 用于3维照相机和3维视频的自动场景建模 |
CN101149841A (zh) * | 2007-07-06 | 2008-03-26 | 浙江大学 | 三维应用程序中的凸面镜效果的模拟方法 |
CN102113003A (zh) * | 2008-06-03 | 2011-06-29 | 索尼电脑娱乐公司 | 用于交互式环境的辅助内容资产的基于提示的流式传输 |
CN101320482A (zh) * | 2008-07-08 | 2008-12-10 | 浙江大学 | 基于视频纹理的虚拟跑步运动员的绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103096134A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103096134B (zh) | 一种基于视频直播和游戏的数据处理方法和设备 | |
JP2024505995A (ja) | 特殊効果展示方法、装置、機器および媒体 | |
CN103157281B (zh) | 一种二维游戏场景显示的方法和设备 | |
JP7199527B2 (ja) | 画像処理方法、装置、ハードウェア装置 | |
WO2018000619A1 (zh) | 一种数据展示方法、装置、电子设备与虚拟现实设备 | |
US20220277481A1 (en) | Panoramic video processing method and apparatus, and storage medium | |
US10972511B2 (en) | Streaming relay for digital signage | |
CN110047121B (zh) | 端到端的动画生成方法、装置及电子设备 | |
CN108961165B (zh) | 用于加载图像的方法和装置 | |
WO2020186934A1 (zh) | 包含动态背景的动画生成方法、装置及电子设备 | |
WO2020151491A1 (zh) | 图像形变的控制方法、装置和硬件装置 | |
CN109840491A (zh) | 视频流播放方法、系统、计算机装置及可读存储介质 | |
CN110519645B (zh) | 视频内容的播放方法、装置、电子设备及计算机可读介质 | |
CN109698914A (zh) | 一种闪电特效渲染方法、装置、设备及存储介质 | |
WO2023143217A1 (zh) | 特效道具的展示方法、装置、设备及存储介质 | |
CN112965780A (zh) | 图像显示方法、装置、设备及介质 | |
US20170161871A1 (en) | Method and electronic device for previewing picture on intelligent terminal | |
WO2023172195A2 (zh) | 线条特效处理方法、装置、电子设备、存储介质及产品 | |
CN106155677A (zh) | 一种界面显示的方法和系统 | |
CN111127607B (zh) | 一种动画生成方法、装置、设备及介质 | |
WO2024001802A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN107770580B (zh) | 视频图像处理方法、装置和终端设备 | |
WO2023231918A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110069641B (zh) | 图像处理方法、装置和电子设备 | |
WO2018107318A1 (zh) | 一种可视化装修设计方法及其装置、机器人 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |