一种基于微信小程序实时视频能力的云游戏系统及方法
技术领域
本发明涉及云游戏领域,尤其涉及一种基于微信小程序实时视频能力的云游戏系统及方法。
背景技术
微信小程序在2018年逐步开放了实时音视频能力,通过微信小程序,可实时对Https&WebSocket进行访问,同时可支持RTMP视频流。云游戏是指运行游戏的主机在服务器端,游戏玩家通过手机APP或PC客户端程序远程接入服务器,服务器将游戏画面推送到手机APP或PC客户端,游戏玩家通过较低的电脑配置就可以进行3D游戏。
云游戏系统一般包括云游戏客户端APP、云游戏服务器端,而现有的主流云游戏移动客户端,都是基于单独的本地化程序的,即需要在移动智能终端下载安装一个云游戏APP程序,才能与云游戏服务器端建立联系,操作过程繁琐,降低用户的云游戏体验感;同时由于下载安装云游戏APP程序,增加内存的占用量,导致移动智能终端的运行速度降低。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于微信小程序实时视频能力的云游戏系统及方法,解决现有技术中,必须在移动智能终端中下载云游戏的APP才能使用,增加内存的占用量,导致移动智能终端的运行速度降低,用户的娱乐体验感下降的问题。
本发明的技术方案如下:一种基于微信小程序实时视频能力的云游戏系统,包括:云游戏服务器端、移动智能终端,安装在所述移动智能终端上的微信APP,设置在所述微信APP中的云游戏小程序;所述云游戏小程序上分别设置有WebSocket接口、SDK接口;所述云游戏小程序在初始化过程中设置live-player标签,并将SDK接口的mode参数的属性设置为rtc,所述云游戏小程序便初始化为RTC模式;所述WebSocket接口与所述云游戏服务器端建立通信长连接,所述SDK接口与所述云游戏服务器端连接形成RTC通道。
所述微信APP用于进入或退出所述云游戏小程序,并且显示所述云游戏小程序的基本交互界面。
所述云游戏小程序用于向所述云游戏服务器端发送建立连接、开始交互操作的请求,并通过所述WebSocket接口向所述云游戏服务器端发送触控操作信息,通过所述RTC通道接收所述云游戏服务器端发送的云游戏视频/音频数据流,并对云游戏视频/音频数据流进行解码,播放解码后的云游戏视频/音频。
所述云游戏服务器端用于接收云游戏小程序发送的建立连接、开始交互操作的请求,并与云游戏小程序建立连接,开始交互操作;所述云游戏服务器端接收所述WebSocket接口发送的所述触控操作信息,并通过所述触控操作信息控制所述云游戏小程序上的触屏操作;所述云游戏服务器端通过所述RTC通道向所述云游戏小程序发送云游戏视频/音频数据流。云游戏小程序设置在微信APP内,云游戏小程序上设置有WebSocket接口、SDK接口,在云游戏小程序初始化过程中设置live-player标签,live-player是云游戏小程序内用于支持音频播放能力的功能性标签,并将SDK接口的mode参数的属性设置为rtc,即将SDK接口的模式设置为双向视频或多人视频的模式,云游戏小程序便可初始化为RTC模式;云游戏小程序与云游戏服务器端建立连接,并且进行交互操作,同时WebSocket接口与云游戏服务器端建立通信长连接,将云游戏小程序中的触控操作信息发送给云服务器,SDK接口与云游戏服务器端连接形成RTC通道,云游戏服务器端通过RTC通道给云游戏小程序发送云游戏视频/音频数据流,并、且根据触控操作信息对云游戏小程序中云游戏过程中的触屏操作进行控制;云游戏小程序设置在微信APP内,用户需要玩云游戏时,无需在移动智能终端中另行下载,直接打开微信APP,进入云游戏小程序便可直接选择需要玩的云游戏,直接进行云游戏,简化操作过程,提高用户的体验感;同时由于无需下载云游戏APP,减少内存的使用量,从而提高移动智能终端的运行速度,进一步提高用户的娱乐体验感。
进一步地,所述触控操作信息包括:方向键信息、技能按键信息。云游戏服务器端根据云游戏小程序中的方向键信息、技能按键信息对云游戏过程中的操作进行控制。
进一步地,所述云游戏小程序仅播放视频,不推送移动智能终端摄像头视频流。
进一步地,所述的一种基于微信小程序实时视频能力的云游戏方法,采用前述的一种基于微信小程序实时视频能力的云游戏系统;包括以下步骤:
步骤10:打开所述微信APP,并进入所述云游戏小程序基本操作界面。
步骤20:通过云游戏小程序基本操作界面启动游戏,所述云游戏小程序向所述云游戏服务器端发送建立连接、开始交互操作的请求。
步骤30:所述云游戏服务器端接收所述云游戏小程序的请求,与所述云游戏小程序建立连接,开始交互操作;并通过所述RTC通道向所述云游戏小程序发送所述云游戏视频/音频数据流。
步骤40:所述云游戏小程序接收所述云服务器发送的所述云游戏视频/音频数据流,并对所述云游戏视频/音频数据流进行解码,播放解码后的云游戏视频/音频。
步骤50:所述云游戏小程序通过所述WebSocket接口向所述云游戏服务器端发送所述触控操作信息。
步骤60:所述云游戏服务器端接收所述WebSocket接口发送的所述触控操作信息,控制所述云游戏小程序开始云游戏,并对云游戏过程中的触屏操作进行控制。用户在玩云游戏时,直接打开微信APP,进入到云游戏小程序的基本操作界面,启动云游戏,云游戏小程序向云游戏服务器端发送建立连接、开始交互操作的请求,云游戏服务器端接收请求后,与云游戏小程序建立连接并开始进行交互操作,云游戏服务器端进一步通过RTC通道向云游戏小程序发送云游戏视频/音频数据流,云游戏小程序对云游戏视频/音频数据流进行解码并播放,云游戏小程序通过WebSocket接口向云游戏服务器端发送触控操作信息,云游戏服务器端根据触控操作信息控制云游戏小程序开始云游戏,进一步通过触屏操作的控制来控制云游戏过程中的具体操作过程;RTC通道负责云游戏视频/音频数据流数据流的传输,WebSocket接口负责向云游戏服务器端发送触控操作信息,采用不同的通道进行,互不影响,提高云游戏服务器端与云游戏小程序之间的数据传输效率,提高游戏过程中的流畅度。
进一步地,所述云游戏小程序中包括一种或多种类型的云游戏。云游戏小程序中包括一种或多种类型的云游戏,用户可以根据自身需要,选择想玩的云游戏,用户无需在移动智能终端下载各种云游戏APP,便可以操作多种云游戏,提高云游戏的娱乐性,同时提高用户的体验感。
采用上述方案,本发明一种基于微信小程序实时视频能力的云游戏系统及方法,通过将云游戏小程序设置在微信APP内,在云游戏小程序内设置有WebSocket接口、SDK接口,在云游戏小程序初始化过程中设置live-player标签,并将SDK接口的mode参数的属性设置为rtc,云游戏小程序便初始化为RTC模式;云游戏小程序与云游戏服务器端建立连接,并且进行交互操作,同时WebSocket接口与云游戏服务器端建立通信长连接,将云游戏小程序中的触控操作信息发送给云服务器,SDK接口与云游戏服务器端连接形成RTC通道,云游戏服务器端通过RTC通道给云游戏小程序发送云游戏视频/音频数据流,并且根据触控操作信息对云游戏小程序中云游戏过程中的触屏操作进行控制;RTC通道负责云游戏视频/音频数据流数据流的传输,WebSocket接口负责向云游戏服务器端发送触控操作信息,采用不同的通道进行,互不影响,提高云游戏服务器端与云游戏小程序之间的数据传输效率,提高游戏过程中的流畅度;同时将云游戏小程序设置在微信APP内,用户需要玩云游戏时,无需在移动智能终端中另行下载,直接打开微信APP,进入云游戏小程序便可直接选择需要玩的云游戏,直接进行云游戏,简化操作过程,提高用户的体验感;同时由于无需下载云游戏APP,减少内存的使用量,从而提高移动智能终端的运行速度,进一步提高用户的娱乐体验感。
附图说明
图1为本发明的结构示意图;
图2为本发明的云游戏小程序进行云游戏的操作过程的流程图。
其中:云游戏服务器端100、移动智能终端200、微信APP210、云游戏小程序211。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
请参照图1,本发明提供一种基于微信小程序实时视频能力的云游戏系统,包括:云游戏服务器端100、移动智能终端200,安装在所述移动智能终端200上的微信APP210,设置在所述微信APP210中的云游戏小程序211;所述云游戏小程序211上分别设置有WebSocket接口、SDK接口;所述云游戏小程序211在初始化过程中设置live-player标签,并将SDK接口的mode参数的属性设置为rtc,所述云游戏小程序211便初始化为RTC模式;所述WebSocket接口与所述云游戏服务器端100建立通信长连接,所述SDK接口与所述云游戏服务器端100连接形成RTC通道。
所述微信APP210用于进入或退出所述云游戏小程序211,并且显示所述云游戏小程序211的基本交互界面。
所述云游戏小程序211用于向所述云游戏服务器端100发送建立连接、开始交互操作的请求,并通过所述WebSocket接口向所述云游戏服务器端100发送触控操作信息,通过所述RTC通道接收所述云游戏服务器端100发送的云游戏视频/音频数据流,并对云游戏视频/音频数据流进行解码,播放解码后的云游戏视频/音频。
所述云游戏服务器端100用于接收云游戏小程序211发送的建立连接、开始交互操作的请求,并与云游戏小程序211建立连接,开始交互操作;所述云游戏服务器端100接收所述WebSocket接口发送的所述触控操作信息,并通过所述触控操作信息控制所述云游戏小程序211上的触屏操作;所述云游戏服务器端100通过所述RTC通道向所述云游戏小程序211发送云游戏视频/音频数据流。云游戏小程序211设置在微信APP210内,云游戏小程序211上设置有WebSocket接口、SDK接口,在云游戏小程序211初始化过程中设置live-player标签,live-player是云游戏小程序211内用于支持音频播放能力的功能性标签,并将SDK接口的mode参数的属性设置为rtc,即将SDK接口的模式设置为双向视频或多人视频的模式,云游戏小程序211便可初始化为RTC模式;云游戏小程序211与云游戏服务器端100建立连接,并且进行交互操作,同时WebSocket接口与云游戏服务器端100建立通信长连接,将云游戏小程序211中的触控操作信息发送给云服务器,SDK接口与云游戏服务器端100连接形成RTC通道,云游戏服务器端100通过RTC通道给云游戏小程序211发送云游戏视频/音频数据流,并且根据触控操作信息对云游戏小程序211中云游戏过程中的触屏操作进行控制;云游戏小程序211设置在微信APP210内,用户需要玩云游戏时,无需在移动智能终端200中另行下载,直接打开微信APP210,进入云游戏小程序211便可直接选择需要玩的云游戏,直接进行云游戏,简化操作过程,提高用户的体验感;同时由于无需下载云游戏APP,减少内存的使用量,从而提高移动智能终端200的运行速度,进一步提高用户的娱乐体验感。
所述触控操作信息包括:方向键信息、技能按键信息。云游戏服务器端100根据云游戏小程序211中的方向键信息、技能按键信息对云游戏过程中的操作进行控制。
所述云游戏小程序211仅播放视频,不推送移动智能终端200摄像头视频流。
请参照图2,所述的一种基于微信小程序实时视频能力的云游戏方法,采用前述的一种基于微信小程序实时视频能力的云游戏系统;包括以下步骤:
步骤10:打开所述微信APP210,并进入所述云游戏小程序211基本操作界面。
步骤20:通过云游戏小程序211基本操作界面启动游戏,所述云游戏小程序211向所述云游戏服务器端100发送建立连接、开始交互操作的请求。
步骤30:所述云游戏服务器端100接收所述云游戏小程序211的请求,与所述云游戏小程序211建立连接,开始交互操作;并通过所述RTC通道向所述云游戏小程序211发送所述云游戏视频/音频数据流。
步骤40:所述云游戏小程序211接收所述云服务器发送的所述云游戏视频/音频数据流,并对所述云游戏视频/音频数据流进行解码,播放解码后的云游戏视频/音频。
步骤50:所述云游戏小程序211通过所述WebSocket接口向所述云游戏服务器端100发送所述触控操作信息。
步骤60:所述云游戏服务器端100接收所述WebSocket接口发送的所述触控操作信息,控制所述云游戏小程序211开始云游戏,并对云游戏过程中的触屏操作进行控制。用户在玩云游戏时,直接打开微信APP210,进入到云游戏小程序211的基本操作界面,启动云游戏,云游戏小程序211向云游戏服务器端100发送建立连接、开始交互操作的请求,云游戏服务器端100接收请求后,与云游戏小程序211建立连接并开始进行交互操作,云游戏服务器端100进一步通过RTC通道向云游戏小程序211发送云游戏视频/音频数据流,云游戏小程序211对云游戏视频/音频数据流进行解码并播放,云游戏小程序211通过WebSocket接口向云游戏服务器端100发送触控操作信息,云游戏服务器端100根据触控操作信息控制云游戏小程序211开始云游戏,进一步通过触屏操作的控制来控制云游戏过程中的具体操作过程;RTC通道负责云游戏视频/音频数据流数据流的传输,WebSocket接口负责向云游戏服务器端100发送触控操作信息,采用不同的通道进行,互不影响,提高云游戏服务器端100与云游戏小程序211之间的数据传输效率,提高游戏过程中的流畅度。
所述云游戏小程序211中包括一种或多种类型的云游戏。云游戏小程序211中包括一种或多种类型的云游戏,用户可以根据自身需要,选择想玩的云游戏,用户无需在移动智能终端200下载各种云游戏APP,便可以操作多种云游戏,提高云游戏的娱乐性,同时提高用户的体验感。
综上所述,本发明一种基于微信小程序实时视频能力的云游戏系统及方法,通过将云游戏小程序设置在微信APP内,在云游戏小程序内设置有WebSocket接口、SDK接口,在云游戏小程序初始化过程中设置live-player标签,并将SDK接口的mode参数的属性设置为rtc,云游戏小程序便初始化为RTC模式;云游戏小程序与云游戏服务器端建立连接,并且进行交互操作,同时WebSocket接口与云游戏服务器端建立通信长连接,将云游戏小程序中的触控操作信息发送给云服务器,SDK接口与云游戏服务器端连接形成RTC通道,云游戏服务器端通过RTC通道给云游戏小程序发送云游戏视频/音频数据流,并且根据触控操作信息对云游戏小程序中云游戏过程中的触屏操作进行控制;RTC通道负责云游戏视频/音频数据流数据流的传输,WebSocket接口负责向云游戏服务器端发送触控操作信息,采用不同的通道进行,互不影响,提高云游戏服务器端与云游戏小程序之间的数据传输效率,提高游戏过程中的流畅度;同时将云游戏小程序设置在微信APP内,用户需要玩云游戏时,无需在移动智能终端中另行下载,直接打开微信APP,进入云游戏小程序便可直接选择需要玩的云游戏,直接进行云游戏,简化操作过程,提高用户的体验感;同时由于无需下载云游戏APP,减少内存的使用量,从而提高移动智能终端的运行速度,进一步提高用户的娱乐体验感。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。