CN112354177A - 基于webrtc的云游戏即时启动方法、装置及系统 - Google Patents

基于webrtc的云游戏即时启动方法、装置及系统 Download PDF

Info

Publication number
CN112354177A
CN112354177A CN202011062950.9A CN202011062950A CN112354177A CN 112354177 A CN112354177 A CN 112354177A CN 202011062950 A CN202011062950 A CN 202011062950A CN 112354177 A CN112354177 A CN 112354177A
Authority
CN
China
Prior art keywords
cloud game
game
target cloud
webrtc
picture data
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.)
Pending
Application number
CN202011062950.9A
Other languages
English (en)
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.)
Jiangsu Shiboyun Information Technology Co Ltd
Original Assignee
Jiangsu Shiboyun Information 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 Jiangsu Shiboyun Information Technology Co Ltd filed Critical Jiangsu Shiboyun Information Technology Co Ltd
Priority to CN202011062950.9A priority Critical patent/CN112354177A/zh
Publication of CN112354177A publication Critical patent/CN112354177A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于webrtc的云游戏即时启动方法、装置及系统;方法包括:接收网页客户端发送的目标云游戏的启动请求,携带终端信息;根据所述终端信息启动所述目标云游戏和webrtc组件;在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。如此可以实现即时启动云游戏,相对于现有技术具有简单、高效和使用灵活的积极效果。

Description

基于webrtc的云游戏即时启动方法、装置及系统
技术领域
本发明涉及云计算技术领域,具体而言,涉及一种基于webrtc的云游戏即时启动方法、装置及系统。
背景技术
在云游戏业务场景下,个人用户在使用云游戏业务的时候,需要在终端设备(比如手机、电视、平板电脑、PC等)下载并安装云游戏的云游戏门户应用。然后基于该云游戏门户应用,用户可以实现浏览云游戏列表、触发云游戏在云端启动以及在云游戏门户应用上实现针对已启动的云游戏的远程操控等操作。
上述业务场景可以实现云游戏应用的免下载和即点即玩,但是从运营商角度,在游戏试玩推广情况下,比如新客户拓展拉新等运营场景下,个人用户如果想试玩某款游戏,不得不先从应用市场下载云游戏门户应用,安装后才能完成某款游戏的试玩体验,该过程对于客户拉新、内容推广等带来了极大的阻碍,进而影响了游戏试玩推广的效率。
发明内容
有鉴于此,本发明提供一种基于webrtc的云游戏即时启动方法及系统,以实现用户在不安装云游戏门户应用的情况下能够即时启动云游戏。
具体地,本发明是通过如下技术方案实现的:
第一方面,本发明实施例中提供了一种基于webrtc的云游戏即时启动方法,所述方法应用于云端,所述方法包括:
接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
根据所述终端信息启动所述目标云游戏和webrtc组件;
在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
第二方面,本发明实施例提供了一种基于webrtc的云游戏即时启动系统,所述系统包括:
网页客户端,用于响应于用户针对目标云游戏的启动操作,向云端发送所述目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
云端,用于根据所述终端信息控制启动所述目标云游戏和webrtc组件;
在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
第三方面,本发明实施例提供了一种基于webrtc的云游戏即时启动装置,其特征在于,所述装置应用于云端,所述装置包括:
接收模块,用于接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
启动模块,用于根据所述终端信息启动所述目标云游戏和webrtc组件;
生成模块,用于在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
发送模块,用于对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述方法的步骤。
第五方面,本本发明实施例还提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如第一方面所述的方法步骤。
本发明实施例中提供的一种基于webrtc的云游戏即时启动方法、装置及系统,本申请在终端安装的一载体应用中触发启动云游戏的网页客户端,该网页客户端中包含有云游戏列表,用户通过网页客户端选择所要启动的目标云游戏,网页客户端响应用户针对目标云游戏的启动操作,向云端发送目标云游戏的启动请求和终端信息;云端根据终端信息控制启动该目标云游戏和webrtc组件;在目标云游戏启动以后,云端接收网页客户端上传的目标云游戏的更新控制指令,响应该更新控制指令生成新的游戏画面数据和音频数据;云端按照与终端适配的编码方式对游戏画面数据和音频数据进行编码,通过webrtc组件将编码后的游戏画面数据和音频数据发送至网页客户端进行播放;本申请实施例无需下载云游戏门户应用,能够通过启动网页客户端实现即时启动云游戏,相对于现有技术具有简单、高效和使用灵活的积极效果。
附图说明
图1是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法的应用场景示意图;
图2是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法的流程示意图;
图3是本发明一示例性实施例示出的云端根据终端信息控制启动目标云游戏和webrtc组件的步骤示意图;
图4是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法的流程交互示意图;
图5是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法中的硬件编码步骤示意图;
图6a是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法中的硬编码过程示意图;
图6b是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法中的软编码过程示意图;
图7是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动系统的组成示意图;
图8是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动装置的结构示意图;
图9本发明一示例性实施例示出的一种计算机设备的组成示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
由于现有技术中,在云游戏业务场景中,用户在体验云游戏时需要首先在终端下载安装云游戏门户应用,通过该云游戏门户应用控制云游戏在云端启动以及对云游戏运行进行操控等;在云游戏推广业务场景中,如果用户在试玩某一款云游戏时也是通过首先在终端安装云游戏门户应用的方式,在用户对该云游戏不感兴趣时需要从终端卸载该云游戏门户应用,该方式由于增加了用户的操作步骤进而会降低游戏的推广效率;基于此,本申请实施例中提供了一种基于webrtc的云游戏即时启动方法、装置及系统。
图1是本申请实施例提供的一种基于webrtc的云游戏即时启动方法的应用场景示意图;参照图1所示,本实施例中用户在终端200安装的应用中打开网页客户端201,用户通过该网页客户端201触发所选定的目标云游戏在云端100启动,并在目标云游戏启动以后网页客户端201响应于用户的针对该游戏的控制操作生成游戏更新控制指令,将该更新控制指令发送至云端100,云端执行该更新控制指令生成云游戏新的游戏画面数据和音频数据,云端100对该游戏画面数据和音频数据进行编码后以视频流的形式通过webrtc协议下发至网页客户端201,网页客户端201对视频流进行解码播放。进而本申请中实现了直接在网页客户端进行试用云游戏,无需下载安装云游戏门户应用。
图2是本申请实施例提供的一种基于webrtc的云游戏即时启动方法;参照图2所示,该方法应用于云端,该方法包括如下步骤S20-S80:
S20、云端接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的。
本实施例中,用户通过在终端安装的一载体应用中启动网页客户端,网页客户端启动后,网页客户端响应用户针对目标云游戏的启动操作,向云端发送目标云游戏的启动请求和终端信息。
本实施例中上述的载体应用可以是安装于终端的终端自带浏览器、微信、今日头条、抖音等应用,该网页客户端为html页面格式,该网页客户端中包含有云游戏列表,用户从云游戏列表中选取一个目标云游戏触发启动,用户通过操作该网页客户端实现对云游戏运行的控制操作以及对游戏视频播放的控制操作。
本申请中,上述的终端可以是手机、机顶盒、平板电脑、头部显示器(比如VR一体机等)、PC等设备。
并且本实施例中上述的网页客户端还用于实现对接webrtc组件接口、提供虚拟手柄操控外设和监听外设操控消息,以及能够进行网络切换和页面刷新等场景下的业务等功能。
示例性地,用户使用安装于终端上的微信或浏览器等作为载体应用,通过使用微信或浏览器进行扫码或通过点击url链接的方式触发向云端请求打开即点即玩的html页面(网页客户端),该html页面从云端下载到终端,并在终端的微信或浏览器等应用中进行呈现。
S40、根据所述终端信息启动所述目标云游戏和webrtc组件。
本申请实施例中上述的云端包括一台云渲染服务器或者是多台云渲染服务器。
本申请一实施例中,云端部署有云游戏后台服务,并且对应于不同分区的客户端,云端包含有一定数据量的云渲染服务器,云端通过该云游戏后台服务控制将不同客户端所请求启动的云游戏在不同的云渲染服务器上启动;该云游戏后台服务可以是部署于其中一个或多个云渲染服务器上,也可以是独立部署于云渲染服务器之外的其他一个或多个服务器上。
示例性地,在具体实现时,由该云游戏后台服务接收网页客户端发送的目标云游戏的启动请求和终端信息。
图3是本发明一示例性实施例示出的云端根据终端信息控制启动目标云游戏和webrtc组件的步骤示意图;进而本申请实施例中上述步骤S40,具体包括以下步骤S401-S402:
S401、所述云端通过云游戏后台服务根据所述终端信息确定启动所述目标云游戏的目标云渲染服务器以及所述目标云游戏的编码方式及编码参数。
该终端信息包括终端IP地址,云游戏后台服务根据该终端IP地址确定该终端所属地区,根据该终端所属的地区和各云渲染服务器所属的地区确定终端与服务器之间的空间距离,然后选取该终端与各云渲染服务器之间的空间距离最近的第一云渲染服务器作为目标云渲染服务器,或者在空间距离最近的第一云渲染服务器的数量为多个的情况下,云游戏后台服务器根据该各第一云渲染服务器的资源占用情况、用户排队情况、网络条件(可根据探测得到的网页客户端与各第一云渲染服务器之间的时延数据确定)中的任意一项或多项确定出用于启动该目标云游戏的目标云渲染服务器。
上述的终端信息还包括载体应用信息和终端类型,示例性地,该载体应用信息包括载体应用类型和版本标识,比如该载体应用为浏览器时,该浏览器信息包括浏览器类型和浏览器版本标识。
示例性地,上述云游戏后台服务维护有载体应用信息与所支持的编码方式的映射关系表,云游戏后台服务根据接收到的载体应用信息从映射关系表中得出该载体应用所支持的编码方式,即网页客户端所支持的编码方式,比如硬编码方式还是软编码方式,示例性的,还包括该编码方式下所支持的编码格式,比如硬编码方式中的H264编码还是H265编码等等。
上述云游戏后台服务还维护有终端类型(比如,终端设备型号)与解码参数(或者编码参数、解码能力)映射关系表,根据终端类型与该映射关系表得到与该终端相适应的解码参数(或者编码参数),进而得到该目标云游戏的编码参数,该编码参数包括编码格式、分辨率、帧率和码率等。示例性的,该编码格式比如是硬编码方式中的H264编码还是H265编码等等。
或者是云游戏后台服务维护有终端类型、载体应用信息与所支持的编码方式和解码参数(或者编码参数)的映射关系表,进而可以根据载体应用信息和终端类型同时确定云端目标云游戏的编码方式及编码参数。
S402、由所述云游戏后台服务控制使所述目标云渲染服务器启动所述目标云游戏及所述webrtc组件,并将所述目标云游戏的编码参数及编码方式发送至所述目标云渲染服务器。
本实施例中,云游戏后台服务在确定出启动目标云游戏的目标云渲染服务器以后,向该目标云渲染服务器发送目标云游戏的启动请求,并将得到的目标云游戏的编码方式及编码参数发送至目标云渲染服务器,目标云渲染服务器在接收到该目标云游戏的启动请求以后启动该目标云游戏,响应于网页客户端发送的游戏更新控制指令生成新的游戏画面数据,按照上述的编码方式及编码格式对该新的游戏画面数据进行编码。
申请实施例中,通过使用终端已经安装的应用作为载体应用,通过网页客户端控制器动云游戏的方式,由于终端的已安装的应用的类型十分广泛,存在较大的兼容性的问题。比如,经过实测,诸多厂家的终端浏览器的webrtc功能的参差不齐,存在着通过webrtcjs接口获取到的SDP信息中能够判断其支持H.264编码格式,但是实际上该浏览器只支持VP8视频解码的问题。进而本实施例中,通过在云游戏后台服务维护上述关系映射表的方式以确定当前终端的载体应用所支持的编码方式及编码参数,该关系映射表根据测试得到,需要及时更新和的准确率。
本申请实施例中,网页客户端在发送目标云游戏启动请求至云游戏后台服务时会直接携带终端信息至云游戏后台服务,云游戏后台服务确定终端解码能力,同时通过网络来源地址,确定终端公网出口地址,该流程的设计相比传统模式下的webrtc接入流程,节省了客户端执行stun协议来探测公网出口的过程,同时也节省了通过信令服务进行交换SDP的过程,简化并优化了webrtc终端接入云游戏的交互流程。
S60、在所述目标云游戏启动后,云端接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据。
本实施例中,目标云渲染服务器在启动目标云游戏以后,执行目标云游戏的逻辑运算响应更新控制指令,生成新的游戏场景和对应的音频数据,目标云渲染服务器对游戏场景进行渲染得到新的游戏画面数据。
S80、所述云端对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
本申请实施例中,通过在载体应用中触发启动网页客户端,通过该网页客户端实现对目标云游戏的启动操作和控制操作,以及云游戏视频流的播放控制,进而实现了利用终端的已有应用(浏览器、微信、支付宝、钉钉等)的能力,来实现云游戏的在线使用,真正的实现完全免下载的即点即玩模式。相对于现有技术,由于该方案无需提前下载云游戏门户应用即可以体验云游戏,对用户而言具有十分简单快捷的优点,十分适合云游戏试用推广的应用场景。
本实施例中,在网页客户端在向云端发送目标云游戏的启动请求之前,网页客户端判断载体应用是否支持webrtc通信协议。若是,则执行响应用户针对目标云游戏的启动操作的步骤;若否,则提示下载云游戏门户应用客户端。
图4是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法的流程交互示意图;参照图4所示,用户在终端触发打开网页客户端,终端从云游戏后台服务加载该网页客户端,网页客户端中呈现云游戏列表,用户从云游戏列表中选定目标云游戏后,网页客户端判断载体应用支持webrtc通信协议后发送目标云游戏的启动请求和终端信息至云游戏后台服务,云游戏后台服务根据终端信息确定目标云渲染服务器和目标云游戏适配的编码方式、编码参数,云游戏后台服务发送目标云游戏启动请求和编码方式、编码参数至目标云渲染服务器,目标云渲染服务器启动目标云游戏以及启动webrtc组件,目标云渲染服务器向云游戏后台服务反馈目标云游戏启动成功的消息,云游戏后台服务确定目标云渲染服务器的外网地址,云游戏后台服务将目标云游戏启动成功的结果、会话ID和目标云游戏渲染服务器的外网地址发送至网页客户端,网页客户端与目标云渲染服务器的webrtc组件建立第一数据传输通道以及第二数据传输通道,该第一数据传输通道为操控数据流传输通道,该第二数据传输通道为视频流数据传输通道。
本实施例中,云端渲染服务器的外网通信地址是在服务器部署上线前事先在网络层规划和配置的,在云游戏后台服务中会维护网络映射关系,能够根据目标云渲染服务器的标识查找到对应的公网通信地址。进而,本实施例中也节省webrtc终端接入云游戏的交互流程。
图5是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动方法中的编码步骤示意图;参照图5所示,本实施例中,若云游戏后台服务确定与目标云游戏适配的编码方式为硬编码方式,则上述步骤S80具体包括如下步骤S801′-S802′:
S801′、所述目标云渲染服务器通过GPU编码模块对采集的所述画面数据进行编码。
参照图6a所示,本实施例中,目标云渲染服务器预先设置的GPU编码模块504对GPU渲染完成的每一帧游戏画面或者特定帧游戏画面进行编码。
S802′、通过所述webrtc组件中的编码模块获取所述编码后的画面数据并发送至所述webrtc组件中的发送模块,经所述webrtc组件中的发送模块将所述编码后的画面数据发送至所述网页客户端。
S803′、以及所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据并编码后发送至所述网页客户端。
现有技术中,上述的画面数据和音频数据通过时间戳维持对应关系。
本实施例中,在上述步骤S802′之前还包括如下步骤B10:
步骤B10、所述目标云渲染服务器在启动所述webrtc组件后,触发所述Webrtc组件的采集模块发送空白帧至所述webrtc组件的编码模块,进而使能所述编码模块;其中,所述编码模块在被使能以后用于获取所述编码后的画面数据。
再次参照图6a所示,本实施例中,在目标云渲染服务器启动webrtc组件后,触发webrtc组件的采集模块501发送空白帧至webrtc组件的编码模块502,进而使能该编码模块502,在编码模块502在被使能以后会定期获取该目标云游戏的由GPU编码模块编码后的画面数据,该编码模块502将该编码后的画面数据通过webrtc组件的发送模块503发送至网页客户端201;进而由网页客户端201对该编码后的画面数据和对应的音频数据进行解码后播放。
本申请实施例中,基于webrtc的通信协议基础上使用硬件编码的方式进行对云渲染服务器所生成的新的画面数据进行编码,能够提供高质量的视频编码,降低编码延迟,满足云游戏对低时延和高质量码流的需求。
本申请一实施例中,若与终端适配的编码方式为软编码方式,则上述步骤S80,包括如下步骤:
S801″、所述目标云渲染服务器通过所述webrtc组件中的采集模块采集所述新的游戏画面数据并将所述新的游戏画面数据发送至所述webrtc组件中的编码模块,由所述webrtc组件中的编码模块对所述新的游戏画面数据编码后经由所述webrtc组件中的发送模块发送至所述网页客户端。
S802″、所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据并编码后发送至所述网页客户端。
参照图6b所示,进而本申请实施例,在终端对视频流的要求比较低的情况下,通过webrtc组件的采集模块501采集目标云渲染服务器的GPU渲染模块505所生成的新的画面数据,然后发送至编码模块502,通过编码模块502对该画面数据进行编码,通过发送模,503对该编码后的画面数据发送至网页客户端201,由网页客户端201对接收到的画面数据和对应的音频数据进行解码和播放。
进而本实施例中,如果与该终端所适配的编码方式为软编码方式,则目标云渲染服务器直接通过webrtc组件中自带的功能模块对目标云渲染服务器生成的新的画面数据和音频数据分别进行采集和编码。
图7是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动系统的组成示意图;参照图7所示,该系统包括:
网页客户端201,用于响应于用户针对目标云游戏的启动操作,向云端发送所述目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
云端100,用于根据所述终端信息控制启动所述目标云游戏和webrtc组件;
在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
可选地,上述网页客户端201,还用于:
获取终端信息,基于所述终端信息判断终端是否支持webrtc通信协议;
若是,则执行响应用户针对目标云游戏的启动操作的步骤;若否,则提示用户下载云游戏客户端。
可选地,上述云端100具体用于通过以下方式根据所述终端信息控制启动所述目标云游戏和webrtc组件:
通过云游戏后台服务根据所述终端信息确定启动所述目标云游戏的目标云渲染服务器以及所述目标云游戏的编码方式及编码参数;
由所述云游戏后台服务控制使所述目标云渲染服务器启动所述目标云游戏及所述webrtc组件,并将所述目标云游戏的编码参数及编码方式发送至所述目标云渲染服务器。
可选地,若确定的所述目标云游戏的编码方式为硬编码方式,上述云端100具体用于:
由所述目标云渲染服务器通过GPU编码模块对采集的所述画面数据进行编码;
通过所述webrtc组件中的编码模块获取所述编码后的画面数据并发送至所述webrtc组件中的发送模块,经所述webrtc组件中的发送模块将所述编码后的画面数据发送至所述网页客户端;
以及所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据发送至所述网页客户端。
可选地,上述云端100还用于:
由所述目标云渲染服务器在启动所述webrtc组件后,触发所述Webrtc组件的采集模块发送空白帧至所述webrtc组件的编码模块,进而使能所述编码模块;其中,所述编码模块在被使能以后用于从所述共享内存中获取所述编码后的画面数据。
可选地,若确定所述目标云游戏的编码方式为软编码方式,则所述对所述画面数据和音频数据进行编码,上述云端100用于:
由所述目标云渲染服务器通过所述webrtc组件中的采集模块采集所述新的游戏画面数据并将所述新的游戏画面数据发送至所述webrtc组件中的编码模块,由所述webrtc组件中的编码模块对所述新的游戏画面数据编码后经由所述webrtc组件中的发送模块发送至所述网页客户端;
以及所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据发送至所述网页客户端。
图8是本发明一示例性实施例示出的一种基于webrtc的云游戏即时启动装置的结构示意图;参照图8所示,该应用于云端,所述装置包括:
接收模块701,用于接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
启动模块702,用于根据所述终端信息启动所述目标云游戏和webrtc组件;
生成模块703,用于在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
发送模块704,用于对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
可选地,上述启动模块702,具体用于:
通过云游戏后台服务根据所述终端信息确定启动所述目标云游戏的目标云渲染服务器以及所述目标云游戏的编码方式及编码参数;
由所述云游戏后台服务控制使所述目标云渲染服务器启动所述目标云游戏及所述webrtc组件,并将所述目标云游戏的编码参数及编码方式发送至所述目标云渲染服务器。
可选地,若确定的所述目标云游戏的编码方式为硬编码方式,则所述对所述画面数据和音频数据进行编码,上述发送模块704,具体用于:
由所述目标云渲染服务器通过GPU编码模块对采集的所述画面数据进行编码;
通过所述webrtc组件中的编码模块获取所述编码后的画面数据并发送至所述webrtc组件中的发送模块,经所述webrtc组件中的发送模块将所述编码后的画面数据发送至所述网页客户端;
由所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据发送至所述网页客户端。
可选地,上述装置还包括:
触发模块(图中未示出),用于由所述目标云渲染服务器在启动所述webrtc组件后,触发所述Webrtc组件的采集模块发送空白帧至所述webrtc组件的编码模块,进而使能所述编码模块;其中,所述编码模块在被使能以后用于从所述共享内存中获取所述编码后的画面数据。
可选地,若确定所述目标云游戏的编码方式为软编码方式,上述发送模块704,还用于:
由所述目标云渲染服务器通过所述webrtc组件中的采集模块采集所述新的游戏画面数据并将所述新的游戏画面数据发送至所述webrtc组件中的编码模块,由所述webrtc组件中的编码模块对所述新的游戏画面数据编码后经由所述webrtc组件中的发送模块发送至所述网页客户端;
以及由所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据发送至所述网页客户端。
本实施例中,上述系统中的云端和网页客户端用于按照上述各方法的实施例中的步骤进行实现云游戏的即时启动,详见上述各方法实施例中的描述。
本发明另一实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例中所述的基于webrtc的云游戏即时启动方法的步骤。
本申请实施例中,通过在终端安装的一载体应用中触发启动云游戏的网页客户端,该网页客户端中包含有云游戏列表,用户通过网页客户端选择所要启动的目标云游戏,网页客户端响应用户针对目标云游戏的启动操作,向云端发送目标云游戏的启动请求和终端信息;云端根据终端信息控制启动该目标云游戏和webrtc组件;在目标云游戏启动以后,云端接收网页客户端上传的目标云游戏的更新控制指令,响应该更新控制指令生成新的游戏画面数据和音频数据;云端按照与终端适配的编码方式对游戏画面数据和音频数据进行编码,通过webrtc组件将编码后的游戏画面数据和音频数据发送至网页客户端进行播放;本申请实施例无需下载云游戏门户应用,能够通过启动网页客户端实现即时启动云游戏,相对于现有技术具有简单、高效和使用灵活的积极效。
图9是本发明一示例性实施例示出的一种计算机设备的结构示意图;本发明实施例中提供的一种电子设备,如图9所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述任一实施例中所述的基于webrtc的云游戏即时启动方法步骤;以无需下载云游戏门户应用,能够通过启动网页客户端实现即时启动云游戏。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部磁盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种基于webrtc的云游戏即时启动方法,其特征在于,所述方法应用于云端,所述方法包括:
接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
根据所述终端信息启动所述目标云游戏和webrtc组件;
在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
2.根据权利要求1所述的方法,其特征在于,所述根据所述终端信息控制启动所述目标云游戏和webrtc组件,包括:
通过云游戏后台服务根据所述终端信息确定启动所述目标云游戏的目标云渲染服务器以及所述目标云游戏的编码方式及编码参数;
由所述云游戏后台服务控制使所述目标云渲染服务器启动所述目标云游戏及所述webrtc组件,并将所述目标云游戏的编码参数及编码方式发送至所述目标云渲染服务器。
3.根据权利要求2所述的方法,其特征在于,若确定的所述目标云游戏的编码方式为硬编码方式,则所述对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放,包括:
所述目标云渲染服务器通过GPU编码模块对采集的所述画面数据进行编码;
通过所述webrtc组件中的编码模块获取所述编码后的画面数据并发送至所述webrtc组件中的发送模块,经所述webrtc组件中的发送模块将所述编码后的画面数据发送至所述网页客户端;
以及所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据并编码后发送至所述网页客户端。
4.根据权利要求3所述的方法,其特征在于,在所述通过所述webrtc组件的编码模块从所述共享内存中获取所述编码后的画面数据并发送至所述webrtc组件的发送模块,经所述webrtc组件的发送模块将所述编码后的画面数据发送至所述网页客户端之前,所述方法还包括:
所述目标云渲染服务器在启动所述webrtc组件后,触发所述Webrtc组件的采集模块发送空白帧至所述webrtc组件的编码模块,进而使能所述编码模块;其中,所述编码模块在被使能以后用于获取所述编码后的画面数据。
5.根据权利要求2所述的方法,其特征在于,若确定所述目标云游戏的编码方式为软编码方式,则所述对所述画面数据和音频数据进行编码,通过webrtc组件将编码后的画面数据和音频数据发送至所述网页客户端进行播放,包括:
所述目标云渲染服务器通过所述webrtc组件中的采集模块采集所述新的游戏画面数据并将所述新的游戏画面数据发送至所述webrtc组件中的编码模块,由所述webrtc组件中的编码模块对所述新的游戏画面数据编码后经由所述webrtc组件中的发送模块发送至所述网页客户端;
以及所述目标云渲染服务器通过所述webrtc组件从声卡驱动缓存中获取所述音频数据并编码后发送至所述网页客户端。
6.一种基于webrtc的云游戏即时启动系统,其特征在于,所述系统包括:
网页客户端,用于响应于用户针对目标云游戏的启动操作,向云端发送所述目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
云端,用于根据所述终端信息控制启动所述目标云游戏和webrtc组件;
在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
7.根据权利要求6所述的系统,其特征在于,所述网页客户端,还用于:
获取终端信息,基于所述终端信息判断终端是否支持webrtc通信协议;
若是,则执行响应用户针对目标云游戏的启动操作的步骤;若否,则提示用户下载云游戏客户端。
8.根据权利要求7所述的系统,其特征在于,所述云端具体用于通过以下方式根据所述终端信息控制启动所述目标云游戏和webrtc组件:
通过云游戏后台服务根据所述终端信息确定启动所述目标云游戏的目标云渲染服务器以及所述目标云游戏的编码方式及编码参数;
由所述云游戏后台服务控制使所述目标云渲染服务器启动所述目标云游戏及所述webrtc组件,并将所述目标云游戏的编码参数及编码方式发送至所述目标云渲染服务器。
9.一种基于webrtc的云游戏即时启动装置,其特征在于,所述装置应用于应用于云端,所述装置包括:
接收模块,用于接收网页客户端发送的目标云游戏的启动请求,所述启动请求中携带有终端信息;其中,所述启动请求是所述网页客户端响应于用户针对所述目标云游戏的启动操作生成的,所述网页客户端是在终端所安装的一载体应用中被触发启动的;
启动模块,用于根据所述终端信息启动所述目标云游戏和webrtc组件;
生成模块,用于在所述目标云游戏启动后,接收所述网页客户端上传的根据用户的云游戏控制操作所生成游戏更新控制指令,响应所述更新控制指令生成新的游戏画面数据和音频数据;
发送模块,用于对所述画面数据和音频数据进行编码,通过所述webrtc组件将编码后的所述画面数据和音频数据发送至所述网页客户端进行解码播放。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5任一所述方法的步骤。
CN202011062950.9A 2020-09-30 2020-09-30 基于webrtc的云游戏即时启动方法、装置及系统 Pending CN112354177A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011062950.9A CN112354177A (zh) 2020-09-30 2020-09-30 基于webrtc的云游戏即时启动方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011062950.9A CN112354177A (zh) 2020-09-30 2020-09-30 基于webrtc的云游戏即时启动方法、装置及系统

Publications (1)

Publication Number Publication Date
CN112354177A true CN112354177A (zh) 2021-02-12

Family

ID=74507769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011062950.9A Pending CN112354177A (zh) 2020-09-30 2020-09-30 基于webrtc的云游戏即时启动方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112354177A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113101654A (zh) * 2021-05-11 2021-07-13 江苏视博云信息技术有限公司 一种云游戏画面的显示方法、装置及存储介质
CN113141511A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种图形渲染方法及设备
CN113413592A (zh) * 2021-06-16 2021-09-21 北京达佳互联信息技术有限公司 云游戏加速启动方法、装置及电子设备
CN114095557A (zh) * 2022-01-21 2022-02-25 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620561A (zh) * 2012-08-21 2015-05-13 奥林奇公司 从瘦客户机对于内容的远程访问
CN104768063A (zh) * 2015-04-07 2015-07-08 天脉聚源(北京)教育科技有限公司 一种视频编码方法及装置
FR3034216A1 (fr) * 2015-03-24 2016-09-30 Orange Interaction d'un utilisateur, au moyen d'un dispositif d'interaction, avec un contenu multimedia execute par un client leger et calibrage du dispositif d'interaction
CN107078996A (zh) * 2014-09-24 2017-08-18 瑞典爱立信有限公司 用于处理与在线游戏相关的媒体流的方法、系统和节点
CN109640116A (zh) * 2018-12-24 2019-04-16 广州微算互联信息技术有限公司 云手机网络视频编码方法与服务器
CN109906107A (zh) * 2016-06-13 2019-06-18 索尼互动娱乐有限责任公司 基于浏览器的云游戏
CN110881046A (zh) * 2019-12-06 2020-03-13 广州微算互联信息技术有限公司 一种云手机对接WebRTC协议的方法、装置、介质及终端设备
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111447447A (zh) * 2020-04-03 2020-07-24 北京三体云联科技有限公司 直播编码方法、装置以及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104620561A (zh) * 2012-08-21 2015-05-13 奥林奇公司 从瘦客户机对于内容的远程访问
CN107078996A (zh) * 2014-09-24 2017-08-18 瑞典爱立信有限公司 用于处理与在线游戏相关的媒体流的方法、系统和节点
FR3034216A1 (fr) * 2015-03-24 2016-09-30 Orange Interaction d'un utilisateur, au moyen d'un dispositif d'interaction, avec un contenu multimedia execute par un client leger et calibrage du dispositif d'interaction
CN104768063A (zh) * 2015-04-07 2015-07-08 天脉聚源(北京)教育科技有限公司 一种视频编码方法及装置
CN109906107A (zh) * 2016-06-13 2019-06-18 索尼互动娱乐有限责任公司 基于浏览器的云游戏
CN109640116A (zh) * 2018-12-24 2019-04-16 广州微算互联信息技术有限公司 云手机网络视频编码方法与服务器
CN110881046A (zh) * 2019-12-06 2020-03-13 广州微算互联信息技术有限公司 一种云手机对接WebRTC协议的方法、装置、介质及终端设备
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111447447A (zh) * 2020-04-03 2020-07-24 北京三体云联科技有限公司 直播编码方法、装置以及电子设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141511A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种图形渲染方法及设备
CN113101654A (zh) * 2021-05-11 2021-07-13 江苏视博云信息技术有限公司 一种云游戏画面的显示方法、装置及存储介质
CN113413592A (zh) * 2021-06-16 2021-09-21 北京达佳互联信息技术有限公司 云游戏加速启动方法、装置及电子设备
CN113413592B (zh) * 2021-06-16 2024-03-01 北京达佳互联信息技术有限公司 云游戏加速启动方法、装置及电子设备
CN114095557A (zh) * 2022-01-21 2022-02-25 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Similar Documents

Publication Publication Date Title
CN112354177A (zh) 基于webrtc的云游戏即时启动方法、装置及系统
KR101467430B1 (ko) 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
US9148756B2 (en) Output of content from the internet on a media rendering device
CN111135569A (zh) 云游戏处理方法、装置、存储介质与电子设备
CN108063769B (zh) 一种内容服务的实现方法、装置及内容分发网络节点
CN113242435B (zh) 一种投屏的方法、装置及系统
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
US20140036098A1 (en) Terminal Apparatus And Video-Data Distribution Method
CN112839238B (zh) 投屏播放方法、装置和存储介质
CN108769816B (zh) 一种视频播放方法、装置及存储介质
WO2017084467A1 (zh) 一种视频流的处理方法、装置和系统
CN114040232B (zh) 投屏系统、方法、电子设备和存储介质
US9544630B2 (en) Method and IPTV server for enabling playout of one or more media objects
CN113973214A (zh) 视频流格式转换方法、装置和存储介质
CN103873956B (zh) 媒体文件播放方法、系统、播放器、终端及媒体存储平台
EP3316546B1 (en) Multimedia information live method and system, collecting device and standardization server
CN106612462B (zh) 快进快退的处理方法及终端
US8386632B2 (en) Method, device, and system for controlling streaming media play
CN103635938A (zh) 在流传输客户端中用于处理视频流传输数据的方法、流传输客户端、计算机程序和计算机程序产品
CN108134957A (zh) 一种投屏方法、终端和计算机存储介质
CN101588319B (zh) 多媒体文件的下载方法、播放方法、系统及设备
KR20170141676A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
CN106850659B (zh) 一种建立媒体通道的方法、装置及系统
CN114697693B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN112533016B (zh) 基于预警信息触发手机html5低延时直播视频的方法

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