CN112933611A - 云游戏进度分享方法、装置和电子设备 - Google Patents

云游戏进度分享方法、装置和电子设备 Download PDF

Info

Publication number
CN112933611A
CN112933611A CN202110326582.2A CN202110326582A CN112933611A CN 112933611 A CN112933611 A CN 112933611A CN 202110326582 A CN202110326582 A CN 202110326582A CN 112933611 A CN112933611 A CN 112933611A
Authority
CN
China
Prior art keywords
game
stream
target
live broadcast
request
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
CN202110326582.2A
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.)
Xiamen Yaji Software Co Ltd
Original Assignee
Xiamen Yaji Software 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 Xiamen Yaji Software Co Ltd filed Critical Xiamen Yaji Software Co Ltd
Priority to CN202110326582.2A priority Critical patent/CN112933611A/zh
Publication of CN112933611A publication Critical patent/CN112933611A/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/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • 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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26283Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/554Game data structure by saving game or status data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/577Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player for watching a game played by other players

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种云游戏进度分享方法、装置和电子设备,涉及互联网技术领域。该方法包括:接收请求端发送的开始直播请求,确定与开始直播请求中携带的请求端ID对应的直播信息;查询与请求端ID对应的GSID、游戏实例ID以及游戏ID;基于直播信息向GSID对应的游戏服务组件GS发送推流指令,GS向与推流指令对应的直播服务端循环推流;接收观众端发送的游戏进度载入请求,确定对应的目标存档信息;观众端用于从直播服务端拉取直播流;调度目标游戏实例,以使目标游戏实例加载与目标存档信息对应的目标存档内容,返回目标游戏实例的信息至观众端。本申请的云游戏进度分享方法可以通过直播随时分享和使用云游戏的游戏进度。

Description

云游戏进度分享方法、装置和电子设备
技术领域
本申请涉及互联网技术领域,具体而言,本申请涉及一种云游戏进度分享方法、装置和电子设备。
背景技术
云游戏(cloud gaming)是以云计算为基础的运行游戏的一种新方式。在云游戏模式下,游戏画面的渲染工作是在服务器端完成的,渲染后的游戏画面经过编码,经由网络串流(streaming)到游戏玩家的终端上。在客户端,游戏玩家不再需要高档的游戏设备,只需要基本的视频解码能力就可以进行游戏。这使得游戏玩家不再依赖高配置的终端就可以体验大型游戏。
将游戏云化后,游戏实例并不能直接将游戏进度存储在客户端本地,而是存储在云端,可以是游戏实例所在服务器的存储器中,也可以是游戏实例对应的游戏账号服务器对应的存储器,目前现有技术中缺少针对云游戏进度分享的方法。
发明内容
本申请提供了一种云游戏进度分享方法、装置和电子设备,可以解决上述至少一项技术问题。
技术方案如下:
第一方面,提供了一种云游戏进度分享方法,该方法包括:
接收请求端发送的开始直播请求,确定与开始直播请求中携带的请求端ID对应的直播信息;
查询与请求端ID对应的GSID、游戏实例ID以及游戏ID;
基于直播信息向GSID对应的游戏服务组件GS发送推流指令,以使GS向与推流指令对应的直播服务端循环推流;
接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息;观众端用于从直播服务端拉取直播流;
调度目标游戏实例,以使目标游戏实例加载与目标存档信息对应的目标存档内容,返回目标游戏实例的信息至观众端。
在第一方面的可选实施例中,GS通过如下方式向直播服务端循环推流:
从游戏实例ID对应的游戏实例中获取游戏画面、游戏声音以及当前游戏时刻;
在首轮循环推流中,将当前游戏时刻作为推流首帧游戏时刻,并将推流首帧游戏时刻作为推流指令的响应返回至云游戏服务端;
在非首轮循环推流中,将当前游戏时刻减去推流首帧游戏时刻,得到当前推流帧的流时刻确定当前推流帧的流时刻,;
基于当前推流帧的流时刻、游戏画面和游戏声音生成对应的音视频帧;
将音视频帧推送至直播服务端。
在第一方面的可选实施例中,还包括:
接收GS返回的推流指令的响应,更新与推流统一资源定位符URL对应的直播流信息项;其中,直播流状态设置为开启状态;
返回针对开始直播请求的响应消息至请求端。
在第一方面的可选实施例中,还包括:
接收请求端发送的结束直播请求,查询与结束至请求中携带的请求端ID对应的直播流信息项,并确定对应的推流URL;
查询与请求端ID对应的GSID,向GSID对应的GS发送停流指令,以使GS终止向直播服务端循环推流。
在第一方面的可选实施例中,还包括:
更新与推流URL对应的直播流信息项;其中,直播流状态设置为关闭状态;
返回针对结束直播请求的响应消息至请求端。
在第一方面的可选实施例中,游戏进度载入请求包括请求端ID、拉流URL和当前推流帧的流时刻;当前推流帧的流时刻是与当前画面对应的推流帧的流时刻;
游戏进度载入请求基于观众端检测到的游戏进度载入指令触发;
观众端用于在检测到游戏进度载入指令时,基于当前画面对应的当前拉流帧的流时刻,确定对应的当前推流帧的流时刻,并向云游戏服务端发送游戏进度载入请求。
在第一方面的可选实施例中,接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息,包括:
确定与拉流URL匹配、且直播流状态为开启状态的目标直播流信息项;
确定与目标直播流信息项对应的目标游戏时刻和第一进度表;其中,第一进度表中包括多个存档信息;
从第一进度表中确定出目标存档信息。
在第一方面的可选实施例中,确定与目标直播流信息项对应的目标游戏时刻和第一进度表,包括:
从所确定的目标直播流信息项中获取目标推流首帧游戏时刻、目标游戏实例ID以及目标游戏ID;
基于目标推流首帧游戏时刻、游戏进度载入请求中的当前推流帧的流时刻,确定与当前推流帧对应的目标游戏时刻;
基于目标游戏ID确定对应的第一进度表。
在第一方面的可选实施例中,从第一进度表中确定出目标存档信息,包括:
基于目标游戏实例ID和目标游戏时刻,从第一进度表中确定出目标存档信息。
第二方面,提供了一种云游戏进度分享装置,该装置包括:
接收模块,用于接收请求端发送的开始直播请求,确定与开始直播请求中携带的请求端ID对应的直播信息;
查询模块,用于查询与请求端ID对应的GSID、游戏实例ID以及游戏ID;
推流模块,用于基于直播信息向GSID对应的GS发送推流指令,以使GS向与推流指令对应的直播服务端循环推流;
确定模块,用于接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息;观众端用于从直播服务端拉取直播流;
返回模块,用于调度目标游戏实例,以使目标游戏实例加载与目标存档信息对应的目标存档内容,返回目标游戏实例的信息至观众端。
在第二方面的可选实施例中,GS通过如下方式向直播服务端循环推流:
从游戏实例ID对应的游戏实例中获取游戏画面、游戏声音以及当前游戏时刻;
在首轮循环推流中,将当前游戏时刻作为推流首帧游戏时刻,并将推流首帧游戏时刻作为推流指令的响应返回至云游戏服务端;
在非首轮循环推流中,将当前游戏时刻减去推流首帧游戏时刻,得到当前推流帧的流时刻确定当前推流帧的流时刻,;
基于当前推流帧的流时刻、游戏画面和游戏声音生成对应的音视频帧;
将音视频帧推送至直播服务端。
在第二方面的可选实施例中,还包括开启模块,用于:
接收GS返回的推流指令的响应,更新与推流统一资源定位符URL对应的直播流信息项;其中,直播流状态设置为开启状态;
返回针对开始直播请求的响应消息至请求端。
在第二方面的可选实施例中,还包括终止模块,用于:
接收请求端发送的结束直播请求,查询与结束至请求中携带的请求端ID对应的直播流信息项,并确定对应的推流URL;
查询与请求端ID对应的GSID,向GSID对应的GS发送停流指令,以使GS终止向直播服务端循环推流。
在第二方面的可选实施例中,还包括关闭模块,用于:
更新与推流URL对应的直播流信息项;其中,直播流状态设置为关闭状态;
返回针对结束直播请求的响应消息至请求端。
在第二方面的可选实施例中,游戏进度载入请求包括请求端ID、拉流URL和当前推流帧的流时刻;当前推流帧的流时刻是与当前画面对应的推流帧的流时刻;
游戏进度载入请求基于观众端检测到的游戏进度载入指令触发;
观众端用于在检测到游戏进度载入指令时,基于当前画面对应的当前拉流帧的流时刻,确定对应的当前推流帧的流时刻,并向云游戏服务端发送游戏进度载入请求。
在第二方面的可选实施例中,确定模块在接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息时,具体用于:
确定与拉流URL匹配、且直播流状态为开启状态的目标直播流信息项;
确定与目标直播流信息项对应的目标游戏时刻和第一进度表;其中,第一进度表中包括多个存档信息;
从第一进度表中确定出目标存档信息。
在第二方面的可选实施例中,确定模块在确定与目标直播流信息项对应的目标游戏时刻和第一进度表时,具体用于:
从所确定的目标直播流信息项中获取目标推流首帧游戏时刻、目标游戏实例ID以及目标游戏ID;
基于目标推流首帧游戏时刻、游戏进度载入请求中的当前推流帧的流时刻,确定与当前推流帧对应的目标游戏时刻;
基于目标游戏ID确定对应的第一进度表。
在第二方面的可选实施例中,确定模块在从第一进度表中确定出目标存档信息时,具体用于:
基于目标游戏实例ID和目标游戏时刻,从第一进度表中确定出目标存档信息。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本申请第一方面所示的云游戏进度分享方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本申请第一方面所示的云游戏进度分享方法。
本申请提供的技术方案带来的有益效果是:
通过确定与开始直播请求对应的直播信息,基于直播信息向对应的GS发送推流指令,指示GS向对应的直播服务端循环推流,若接收观众端发送的游戏载入请求,则确定对应的目标存档信息,玩家可以在云游戏的过程中通过直播方式分享自己的直播流给其他玩家;其他玩家在观看直播流中解码播放出的游戏实时画面或精彩回放的过程中,点击当前画面,即可各自从当前画面对应的这一进度开始该游戏的云游戏体验,从而达到通过直播随时分享和使用云游戏的游戏进度的目的。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种云游戏进度分享方法的流程示意图;
图2为本申请示例中提供的一种云游戏进度分享方法的流程示意图;
图3为本申请实施例提供的一种云游戏进度分享方法的流程示意图;
图4为本申请实施例提供的一种云游戏进度分享方法的流程示意图;
图5为本申请实施例提供的一种云游戏进度分享方法的流程示意图;
图6为本申请实施例提供的一种云游戏进度分享装置的结构示意图;
图7为本申请实施例提供的一种云游戏进度分享的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了更好的说明本公开实施例的方案,下面首先对本公开的实施例涉及的相关技术术语进行介绍和解释:
在本申请中,云端游戏实例可以理解为安装在云端的游戏客户端,在其启动后将产生相应的音画信息,具体来说,云端游戏实例可以是将对应的本地端游戏进行云端化得到。
UA(User Agent):云游戏用户端,可以为智能手机、笔记本电脑等任意可以安装云游戏客户端软件的电子设备。
GS(Game Service):游戏服务组件,用于控制游戏实例,为UA提供云游戏服务。GS也运行于云游戏服务端。
请求端:正在使用云游戏服务的UA,或正在提供云游戏服务的GS。请求端ID是,该UA的ID,或该GS的ID。一些实施例中,主播通过UA使用云游戏服务时,可将该UA作为请求端,向云游戏服务端发出开始直播请求;另一些实施例中,可将正在为他提供挂机、或云游戏服务的GS作为请求端,向云游戏服务端发出开始直播请求。
会话(Session):代表云游戏系统中服务端资源被使用的一个生命周期。例如,一个生命周期从用户请求启动一个云游戏开始,占用对应的服务端资源,直到该服务端资源因超时或退出被回收为止。
URL(Uniform Resource Locator):统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
推流URL包含了推流传输协议名、推流域名或IP地址、推流端口号、资源路径、直播ID等。例如,推流URL为“rtmp://192.168.52.104:9010/live/MyPush2020”;其中,“rtmp”是推流传输协议名,“192.168.52.104”是推流IP地址,“9010”是推流端口号,“/live/”是资源路径,“MyPush2020”是直播ID。
拉流URL包含了拉流传输协议名、拉流域名或IP地址、拉流端口号、资源路径、直播ID、资源后缀名等。例如,拉流URL为“http://192.168.52.104:9030/live/MyPlay2020.flv”;其中,“http”是拉流传输协议名,“192.168.52.104”是拉流IP地址,“9030”是拉流端口号(一般不能与推流端口号相同),“/live/”是资源路径,“MyPlay2020”是直播ID,“flv”是资源后缀名;因为,此例使用HTTP-FLV方式拉流,所以,拉流传输协议名是“http”,资源后缀名是“flv”;也可以使用RTMP或HLS等其他方式拉流,例如rtmp方式拉流,只需将上述拉流URL中的拉流传输协议名改为“rtmp”且除去资源后缀名,即拉流URL为“rtmp://192.168.52.104:9030/live/MyPlay2020”。
通常直播中,直播服务端生成唯一的直播ID与每个直播源对应,一般也只对应生成一个推流URL提供至推流端,推流端向该推流URL正常推送直播流以使该直播源变成开始直播状态,即拉流端从此才能获得对应的拉流帧;同时,直播服务端可提供至少一个拉流URL(一般是为了分别支持不同拉流传输协议的多个拉流URL)与该直播源对应,以使拉流端通过其中一个URL进行拉流。
拉流URL列表,包括了同一个直播源对应的多个拉流URL。其中,多个拉流URL可以是一种或多种协议的多个不同的URL,一般是为了支持不同直播终端可以自由选择多种协议(HTTP、RTMP、HLS等)里的一种进行拉流观看。
观众端(不同于请求端)是相当于把直播用户端的功能与UA的功能集成在一起的特殊用户端。
具体地,本地端游戏直接安装运行在用户终端,用户启动游戏后,用户终端可以直接获取到本地端游戏运行产生的音画信息。而云游戏,要使用户通过用户终端获取云端游戏实例运行产生的音画信息,则GS需要将对应的云端游戏实例产生的音画信息转发给用户终端;具体来说,GS主动捕获对应的云端游戏实例产生的音画信息,并对捕获到的音画信息按预设编码方式进行编码后转发给用户终端,用户终端接收到音画信息后同步播放接收到的音画信息。
1、针对本地游戏,例如游戏卡中的游戏,存档时游戏进度保存在游戏卡中,通过将游戏卡外借的方式将游戏进度分享;
2、针对联网游戏,其存档时的游戏进度与账号ID相关联,且游戏进度保存在服务端中,每当用户登录该账号ID时,可以获取该账号ID中的游戏进度,通过将账号外借的方式,将游戏进度分享;
本申请是针对云游戏,首先,在云游戏场景下,游戏并不在玩家游戏终端,而是在游戏实例(可以理解为在云端运行的云游戏进程、云游戏客户端)中运行,由游戏实例将游戏场景渲染为音视频码流(音视频被编码压缩后的数据流),通过网络传输给玩家终端,因此,将游戏云化后,游戏实例并不能直接将游戏进度存储在客户端本地,而是存储在云端,可以是游戏实例所在服务器的存储器中,也可以是游戏实例对应的游戏账号服务器对应的存储器,导致云游戏客户端无法使用云端存储的游戏进度。
综上,现有技术中应用于本地游戏或者联网游戏的游戏进度分享方式并不适用于云游戏,即现有技术中缺少针对云游戏的游戏进度分享和使用的方案。
本申请提供的云游戏进度分享方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种云游戏进度分享方法,该方法可以应用于云游戏服务端,如图1所示,该方法包括:
步骤S101,接收请求端发送的开始直播请求,确定与开始直播请求中携带的请求端ID(Identity document,标识)对应的直播信息。
其中,在直播分享云游戏进度的过程中,请求端可以是云游戏的主播端。
其中,直播信息可以包括推流URL、拉流URL列表、推流账号和密码。
具体的,在直播过程中,一些现有的直播服务端,无须推流账号和密码,即直接接受推流端向自己推流。另一些现有的直播服务端,则会对应推流端的用户账号为每个直播源提供对应的推流账号和密码,在收到推流端的推流请求时,须先据此对推流端的身份和权限进行检查,且检查通过后,才接受该推流请求,即该推流端向该推流URL后续的推流才会被直播服务端接收,否则该推流端的后续推流会被拒绝。
在具体实施过程中,云游戏服务端基于请求端ID获取对应的云游戏用户账号ID,从而获取预设于云游戏服务端的该用户账号ID中的直播信息,若未获取到对应的云游戏用户账号ID或其中的直播信息,返回失败消息作为开始直播请求的响应至请求端。
其中,预设于云游戏服务端的该用户账号ID中的直播信息可以是由用户通过云游戏UA将直播信息和已登录的用户账号ID相应地预设至云游戏服务端的。
步骤S102,查询与请求端ID对应的游戏服务组件标识GSID(Game ServiceIdentity document,游戏服务组件标识)、游戏实例ID以及游戏ID。
具体的,基于请求端ID查询相关联的会话,进而确定对应的GSID、游戏实例ID和游戏ID。
步骤S103,基于直播信息向GSID对应的游戏服务组件GS发送推流指令,以使GS向与推流指令对应的直播服务端循环推流。
在一些实施例中,请求端发出开始直播请求前,若正在使用云游戏服务,即发出过“云游戏开始请求”,则存在对应开启的会话,而会话信息包含对应的GSID、游戏实例ID、游戏ID,可以确定会话中GSID对应的GS;若没在使用云游戏服务,则不存在对应开启的会话,即不存在有效的GSID。
若出现如下情况中的任一种:未查询到会话、或会话中无GSID、会话中GSID对应的GS异常,则不存在有效的GSID,则返回失败消息作为开始直播请求的响应至请求端;若查询到会话、且会话中GSID对应的GS正常,则存在有效的GISD,则向GSID对应的GS发送推流指令,其中推流指令中包含有推流URL,以使GS向推流URL指示的直播服务端循环推流。
其中,直播信息包括推流URL和拉流URL列表;推流指令中携带有推流URL。
具体的,步骤S103向GSID对应的GS发送推流指令,以使GS向与推流指令对应的直播服务端循环推流,可以包括:
向GSID对应的GS发送推流指令,以使GS确定推流URL所指示的直播服务端,向所确定的直播服务端循环推流。
具体的GS向直播服务端循环推流的过程将在下文进行详细阐述。
步骤S104,接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息。
其中,观众端用于从直播服务端拉取直播流,观众端播放所拉取的直播流,以便于用户通过观众端观看直播。
其中,游戏进度载入请求可以包括拉流URL,直播服务端可以先确定与拉流URL匹配的目标直播流信息项,然后根据目标直播流信息项确定对应的目标存档信息,具体确定目标存档信息的过程将在下文进行详细阐述。
步骤S105,调度目标游戏实例,以使目标游戏实例加载与目标存档信息对应的目标存档内容,返回目标游戏实例的信息至观众端。
具体的,向目标游戏实例发送加载指令,加载指令中包括有目标存档信息,目标游戏实例响应于加载指令加载与目标存档信息对应的目标存档内容,云游戏服务端返回目标游戏实例的信息到观众端。
如图2所示,以下将结合附图和示例阐述本实施例的云游戏分享过程。
在一个示例中,本实施例的云游戏分享进度方法,可以包括如下步骤:
1)请求端发送开始直播请求至云游戏服务端;开始直播请求中携带有请求端ID;
2)云游戏服务端响应于开始直播请求,确定与请求端ID对应的直播信息;
3)云游戏服务端查询与请求端ID对应的GSID、游戏实例ID以及游戏ID;
4)云游戏服务端发送推流指令至对应的GS;
5)GS向直播服务端循环推流;
6)观众端从直播服务端中拉取直播流;
7)观众端播放直播流,并发送游戏进度载入请求至云游戏服务端;
8)云游戏服务端响应于游戏进度载入请求确定对应的目标存档信息;
9)云游戏服务端调度目标游戏实例;
10)目标游戏实例加载与目标存档信息对应的目标存档内容;
11)云游戏服务端返回目标游戏实例的信息至观众端。
上述实施例中,通过确定与开始直播请求对应的直播信息,基于直播信息向对应的GS发送推流指令,指示GS向对应的直播服务端循环推流,若接收观众端发送的游戏载入请求,则确定对应的目标存档信息,玩家可以在云游戏的过程中通过直播方式分享自己的直播流给其他玩家;其他玩家在观看直播流中解码播放出的游戏实时画面或精彩回放的过程中,点击当前画面,即可各自从当前画面对应的这一进度开始该游戏的云游戏体验,从而达到通过直播随时分享和使用云游戏的游戏进度的目的。
以下将结合具体实施例阐述GS向直播服务端循环推流的具体过程。
本申请实施例中提供了一种可能的实现方式,GS通过如下方式向直播服务端循环推流:
(1)从游戏实例ID对应的游戏实例中获取游戏画面、游戏声音以及当前游戏时刻;
(2)在首轮循环推流中,将当前游戏时刻作为推流首帧游戏时刻,并将推流首帧游戏时刻作为推流指令的响应返回至云游戏服务端;
(3)在非首轮循环推流中,将当前游戏时刻减去推流首帧游戏时刻,得到当前推流帧的流时刻;
(4)基于当前推流帧的流时刻、游戏画面和游戏声音生成对应的音视频帧,其中,音视频帧也可称为视、音频帧;
(5)将音视频帧推送至直播服务端。
具体的,GS收到云游戏服务端发出的推流指令,开始向推流URL指示的直播服务端循环推流。具体地:
每次循环时,先从对应的游戏实例1获取游戏画面、声音、当前游戏时刻;第一轮循环时,将当前游戏时刻作为推流首帧游戏时刻1,推流首帧流时刻1记为零,即推流首帧游戏时刻1=当前游戏时刻,推流首帧流时刻1=0;并将推流首帧对应的游戏时刻1(即推流首帧游戏时刻1)作为推流指令的响应返回至云游戏服务端(即推流首帧游戏时刻1)作为推流指令的响应返回至云游戏服务端。
非首轮循环时,将当前游戏时刻t0减去推流首帧游戏时刻1作为当前推流帧的流时刻1,即当前推流帧的流时刻1=当前游戏时刻-推流首帧游戏时刻1
每次循环时,再将推流帧的流时刻1和游戏画面和声音生成(包括编码)对应的视、音频帧并推送至推流URL指示的直播服务端,直播服务端记录推流首帧流时刻1
本申请实施例中提供了一种可能的实现方式,如图3所示,在GS向直播服务端进行循环推流的基础上,还包括:
(1)接收GS返回的推流指令的响应,更新与推流统一资源定位符URL对应的直播流信息项;其中,直播流状态设置为开启状态;
(2)返回针对开始直播请求的响应消息至请求端。
其中,更新与URL对应的直播流信息项,包括如下情况:
若原来没有直播流信息项,则生成新的直播流信息项;若原来存在直播流信息项,则更新直播流信息项。
具体的,云游戏服务端收到GS返回推流指令的响应(即推流首帧游戏时刻1);更新、或生成且保存:与推流URL对应的直播流信息项,其中直播流状态设置为开启,直播流信息项包括直播流ID、推流首帧游戏时刻1、请求端ID、游戏实例ID、游戏ID、推流URL、拉流URL列表、直播流状态(开启、关闭等),其中直播流ID是云游戏服务端生成直播流信息项时,对应生成的直播流唯一标识,与直播服务端的直播ID不同;返回成功消息作为开始直播请求的响应至请求端。
以下将结合附图和实施例阐述结束云游戏直播的过程。
本申请实施例中提供了一种可能的实现方式,如图4所示,还包括:
(1)接收请求端发送的结束直播请求,查询结束直播请求中携带的请求端ID对应的直播流信息项,并确定对应的推流URL;
(2)查询与请求端ID对应的GSID,向GSID对应的GS发送停流指令,以使GS终止向直播服务端循环推流;
(3)更新与推流URL对应的直播流信息项;其中,直播流状态设置为关闭状态;
(5)返回针对结束直播请求的响应消息至请求端。
具体的,主播可通过UA结束云游戏直播,仅仅结束直播而继续使用云游戏;也可以在UA或GS检测到主播退出云游戏时,自动结束云游戏直播。
具体的,云游戏服务端收到请求端发出的结束直播请求,其中结束直播请求中携带有请求端ID;基于请求端ID查询对应的直播流信息项,进而确定有效的推流URL;若未查询到直播流信息项、或其中直播流状态非开启,则若无有效的推流URL,返回失败消息作为结束直播请求的响应至请求端;若存在有效的推流URL,则基于请求端ID查询相关联的会话确定对应的GSID,若找到有效GSID,向GSID对应的GS发送停流指令,以使GS终止向直播服务端循环推流,更新对应的直播流信息项,其中直播流状态设置为关闭,返回成功消息作为结束直播请求的响应至请求端;GS收到云游戏服务端发出的停流指令,终止向直播服务端循环推流,返回成功消息作为停流指令的响应至云游戏服务端。
以下将结合附图和实施例进一步阐述使用直播分享游戏进度的具体过程。
本申请实施例中提供了一种可能的实现方式,游戏进度载入请求包括请求端ID、拉流URL和当前推流帧的流时刻;当前推流帧的流时刻是与当前画面对应的推流帧的流时刻;游戏进度载入请求基于观众端检测到的游戏进度载入指令触发;观众端用于在检测到游戏进度载入指令时,基于当前画面对应的当前拉流帧的流时刻,确定对应的当前推流帧的流时刻,并向云游戏服务端发送游戏进度载入请求。
具体的,用户可在观众端直接输入或在其界面中选择指定一个拉流URL,通过观众端向指定的拉流URL(指示了直播服务端)发出拉流请求,拉取标准的直播流(包括视、音频帧和对应的当前拉流帧的流时刻2),同时对应解码每个拉流帧,按每个当前拉流帧的流时刻2的时间顺序,依次作为当前画面或声音进行播放。
其中,当前拉流帧的流时刻2定义如下:对于每个直播流而言,直播服务端一般会对收到的推流帧进行缓存(即产生δt1推流缓冲时长),直播客户端也会对收到的拉流帧进行缓存(即产生δt2拉流缓冲时长),目的都是为了减小网络抖动对直播进行解码播放时流畅度的影响。所以,(已包含于直播流中的)当前拉流帧的流时刻2与当前推流帧的流时刻1是一一线性对应的,且每个当前拉流帧的流时刻t2=其对应的当前推流帧的流时刻1+δt缓冲时长(即δt1推流缓冲时长+δt2拉流缓冲时长)。
在一些实施例中,观众端在直播过程中,检测到用户发出的载入游戏进度的指令(例如,用户点击当前画面);在另一些实施例中,在那些观众端支持精彩回放的直播中,用户可以指定精彩回放中的某一帧(并非当前时刻的拉流帧),从而发出载入游戏进度的指令;观众端基于当前画面对应的当前拉流帧的流时刻2,确定对应的当前推流帧的流时刻1(即与当前画面对应的当前推流帧的流时刻1,因为直播允许缓存,所以拉流端当前画面对应的当前拉流帧的流时刻2往往滞后于当前时刻推流端的当前推流帧的流时刻1);向云游戏服务端发出载入游戏进度请求(包括请求端ID、拉流URL、当前推流帧的流时刻1)。
一些现有的直播中,当前拉流帧的流时刻2等于当前推流帧的流时刻1;另一些现有的直播中,直播服务端已实现基于当前拉流帧的流时刻2计算当前推流帧的流时刻1的方法接口供观众端调用。
本申请实施例中提供了一种可能的实现方式,如图5所示,步骤S104接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息,可以包括:
步骤S410,确定与拉流URL匹配、且直播流状态为开启状态的目标直播流信息项。
具体的,云游戏服务端收到观众端发出的载入游戏进度请求,查找与该请求中拉流URL匹配(在各直播流信息项的拉流URL列表中,含有与该拉流URL完全相同的拉流URL的拉流URL列表的直播流信息项,即为匹配)且为开启状态的直播流信息项。
步骤S420,确定与目标直播流信息项对应的目标游戏时刻和第一进度表。
其中,第一进度表中包括多个存档信息。
具体的,步骤S420确定与目标直播流信息项对应的目标游戏时刻和第一进度表,可以包括:
(1)从所确定的目标直播流信息项中获取目标推流首帧游戏时刻、目标游戏实例ID以及目标游戏ID;
(2)基于目标推流首帧游戏时刻、游戏进度载入请求中的当前推流帧的流时刻,确定与当前推流帧对应的目标游戏时刻;
(3)基于目标游戏ID确定对应的第一进度表。
具体的,若未查找到匹配的直播流信息项,则返回失败消息作为载入游戏进度请求的响应至观众端;若查询到匹配的直播信息项,则获取直播流信息项中的推流首帧游戏时刻1、游戏实例ID、游戏ID;推流首帧游戏时刻1和该请求中当前推流帧的流时刻1相加得出当前推流帧对应的游戏时刻2
具体的,云游戏服务端基于请求端发送的存档请求,获取与目标游戏实例对应的第一进度表,将存档信息和对应的游戏进度标识存储于第一进度表中;进一步的,将存档信息与游戏进度标识关联生成进度信息项,将生成的进度信息项存储于第一进度表中。
具体的,根据游戏ID检索出第一进度表,第一进度表包括零至多个进度信息项;进度信息项包括存档信息与对应的游戏进度ID;存档信息包括存档生成时刻、存档创建人信息、当前游戏画面快照、存档内容哈希值、存档类型、游戏存档加载信息;存档生成时刻指生成存档时对应的游戏时刻;存档创建人信息包括,创建人云游戏账号ID、创建人昵称、创建时游戏实例ID和GSID。
步骤S430,从第一进度表中确定出目标存档信息。
具体的,步骤S430从第一进度表中确定出目标存档信息,可以包括:
基于目标游戏实例ID和目标游戏时刻,从第一进度表中确定出目标存档信息。
具体地,在第一进步表中查找与预设条件匹配的进度信息项,在一些实施例中,预设条件可以是,进度信息项中的游戏实例ID与从直播信息项中获取的游戏实例ID要相同,且该进度信息项的存档信息的存档生成时刻与当前推流帧对应的游戏时刻2相差最短、其时间顺序也在该游戏时刻2之前。
只要在云游戏服务端收到观众端发出的载入进度请求前,请求端有直接或间接地发出过存档请求,哪怕只有一次,即可生成第一进度表,以便于找到匹配的进度信息项。
例如,主播在开始云游戏后的直播过程中,有通过UA主动保存游戏进度、或设置在云游戏过程中自动保存游戏进度,即让UA定时发送存档请求。
若未查找到匹配的进度信息项,返回失败消息作为载入游戏进度请求的响应至观众端,否则,进而获取该进度信息项的存档信息(即存档信息n);基于请求端ID查询相关联的会话,进而确定对应的GSID(即GSn)、游戏实例ID(即游戏实例n)和游戏ID。
具体的,若观众端发出的载入游戏进度请求前,未曾发出过“云游戏开始请求”,即不存在对应的会话,则创建新会话且调度相应的GS和游戏实例n,即新生成了对应的会话信息,也包含所有待确定项。
向游戏实例ID对应的游戏实例n发送加载指令(包括存档信息n),以使游戏实例n加载与存档信息n对应的存档内容;并返回游戏实例n的信息(包括游戏实例ID)作为该请求的响应至观众端;也可在发送加载指令后,等待游戏实例n的加载结果再返回,或不等待加载结果直接返回。
上述的游戏进度记录处理方法,通过确定与开始直播请求对应的直播信息,基于直播信息向对应的GS发送推流指令,指示GS向对应的直播服务端循环推流,若接收观众端发送的游戏载入请求,则确定对应的目标存档信息,玩家可以在云游戏的过程中通过直播方式分享自己的直播流给其他玩家;其他玩家在观看直播流中解码播放出的游戏实时画面或精彩回放的过程中,点击当前画面,即可各自从当前画面对应的这一进度开始该游戏的云游戏体验,从而达到通过直播随时分享和使用云游戏的游戏进度的目的。
本申请实施例提供了一种云游戏进度分享装置,如图6所示,该云游戏进度分享装置60可以包括:接收模块601、查询模块602、推流模块603、确定模块604和返回模块605,其中,
接收模块601,用于接收请求端发送的开始直播请求,确定与开始直播请求中携带的请求端ID对应的直播信息;
查询模块602,用于查询与请求端ID对应的GSID、游戏实例ID以及游戏ID;
推流模块603,用于基于直播信息向GSID对应的GS发送推流指令,以使GS向与推流指令对应的直播服务端循环推流;
确定模块604,用于接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息;观众端用于从直播服务端拉取直播流;
返回模块605,用于调度目标游戏实例,以使目标游戏实例加载与目标存档信息对应的目标存档内容,返回目标游戏实例的信息至观众端。
本申请实施例中提供了一种可能的实现方式,GS通过如下方式向直播服务端循环推流:
从游戏实例ID对应的游戏实例中获取游戏画面、游戏声音以及当前游戏时刻;
在首轮循环推流中,将当前游戏时刻作为推流首帧游戏时刻,并将推流首帧游戏时刻作为推流指令的响应返回至云游戏服务端;
在非首轮循环推流中,将当前游戏时刻减去推流首帧游戏时刻,得到当前推流帧的流时刻确定当前推流帧的流时刻,;
基于当前推流帧的流时刻、游戏画面和游戏声音生成对应的音视频帧;
将音视频帧推送至直播服务端。
本申请实施例中提供了一种可能的实现方式,还包括开启模块,用于:
接收GS返回的推流指令的响应,更新与推流统一资源定位符URL对应的直播流信息项;其中,直播流状态设置为开启状态;
返回针对开始直播请求的响应消息至请求端。
本申请实施例中提供了一种可能的实现方式,还包括终止模块,用于:
接收请求端发送的结束直播请求,查询与结束至请求中携带的请求端ID对应的直播流信息项,并确定对应的推流URL;
查询与请求端ID对应的GSID,向GSID对应的GS发送停流指令,以使GS终止向直播服务端循环推流。
本申请实施例中提供了一种可能的实现方式,还包括关闭模块,用于:
更新与推流URL对应的直播流信息项;其中,直播流状态设置为关闭状态;
返回针对结束直播请求的响应消息至请求端。
本申请实施例中提供了一种可能的实现方式,游戏进度载入请求包括请求端ID、拉流URL和当前推流帧的流时刻;
游戏进度载入请求基于观众端检测到的游戏进度载入指令触发;
观众端用于在检测到游戏进度载入指令时,基于当前画面对应的当前拉流帧的流时刻,确定对应的当前推流帧的流时刻,并向云游戏服务端发送游戏进度载入请求。
本申请实施例中提供了一种可能的实现方式,确定模块604在接收观众端发送的游戏进度载入请求,基于游戏进度载入请求确定对应的目标存档信息时,具体用于:
确定与拉流URL匹配、且直播流状态为开启状态的目标直播流信息项;
确定与目标直播流信息项对应的目标游戏时刻和第一进度表;其中,第一进度表中包括多个存档信息;
从第一进度表中确定出目标存档信息。
本申请实施例中提供了一种可能的实现方式,确定模块604在确定与目标直播流信息项对应的目标游戏时刻和第一进度表时,具体用于:
从所确定的目标直播流信息项中获取目标推流首帧游戏时刻、目标游戏实例ID以及目标游戏ID;
基于目标推流首帧游戏时刻、游戏进度载入请求中的当前推流帧的流时刻,确定与当前推流帧对应的目标游戏时刻;
基于目标游戏ID确定对应的第一进度表。
本申请实施例中提供了一种可能的实现方式,确定模块604在从第一进度表中确定出目标存档信息时,具体用于:
基于目标游戏实例ID和目标游戏时刻,从第一进度表中确定出目标存档信息。
上述的云游戏进度分享装置,通过确定与开始直播请求对应的直播信息,基于直播信息向对应的GS发送推流指令,指示GS向对应的直播服务端循环推流,若接收观众端发送的游戏载入请求,则确定对应的目标存档信息,玩家可以在云游戏的过程中通过直播方式分享自己的直播流给其他玩家;其他玩家在观看直播流中解码播放出的游戏实时画面或精彩回放的过程中,点击当前画面,即可各自从当前画面对应的这一进度开始该游戏的云游戏体验,从而达到通过直播随时分享和使用云游戏的游戏进度的目的。
本公开实施例的图片的云游戏进度分享装置可执行本公开的实施例所提供的一种图片的云游戏进度分享方法,其实现原理相类似,本公开各实施例中的图片的云游戏进度分享装置中的各模块所执行的动作是与本公开各实施例中的图片的云游戏进度分享方法中的步骤相对应的,对于图片的云游戏进度分享装置的各模块的详细功能描述具体可以参见前文中所示的对应的图片的云游戏进度分享方法中的描述,此处不再赘述。
基于与本公开的实施例中所示的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。与现有技术相比,本申请可以通过直播随时分享和使用云游戏的游戏进度。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是中央处理器(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscReadOnly Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请以通过直播随时分享和使用云游戏的游戏进度。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,返回模块还可以被描述为“返回目标游戏实例的信息的模块”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种云游戏进度分享方法,其特征在于,应用于云游戏服务端,包括:
接收请求端发送的开始直播请求,确定与所述开始直播请求中携带的请求端标识ID对应的直播信息;
查询与所述请求端ID对应的游戏服务组件标识GSID、游戏实例ID以及游戏ID;
基于所述直播信息向所述GSID对应的游戏服务组件GS发送推流指令,以使所述GS向与所述推流指令对应的直播服务端循环推流;
接收观众端发送的游戏进度载入请求,基于所述游戏进度载入请求确定对应的目标存档信息;所述观众端用于从所述直播服务端拉取直播流;
调度目标游戏实例,以使所述目标游戏实例加载与所述目标存档信息对应的目标存档内容,返回所述目标游戏实例的信息至所述观众端。
2.根据权利要求1所述的云游戏进度分享方法,其特征在于,所述GS通过如下方式向直播服务端循环推流:
从所述游戏实例ID对应的游戏实例中获取游戏画面、游戏声音以及当前游戏时刻;
在首轮循环推流中,将当前游戏时刻作为推流首帧游戏时刻,并将所述推流首帧游戏时刻作为推流指令的响应返回至所述云游戏服务端;
在非首轮循环推流中,将当前游戏时刻减去所述推流首帧游戏时刻,得到当前推流帧的流时刻;
基于所述当前推流帧的流时刻、所述游戏画面和所述游戏声音生成对应的音视频帧;
将所述音视频帧推送至所述直播服务端。
3.根据权利要求1所述的云游戏进度分享方法,其特征在于,还包括:
接收所述GS返回的推流指令的响应,更新与推流统一资源定位符URL对应的直播流信息项;其中,直播流状态设置为开启状态;
返回针对开始直播请求的响应消息至所述请求端。
4.根据权利要求3所述的云游戏进度分享方法,其特征在于,还包括:
接收请求端发送的结束直播请求,查询与所述结束至请求中携带的请求端ID对应的直播流信息项,并确定对应的推流URL;
查询与所述请求端ID对应的GSID,向所述GSID对应的GS发送停流指令,以使所述GS终止向所述直播服务端循环推流。
5.根据权利要求4所述的云游戏进度分享方法,其特征在于,还包括:
更新与所述推流URL对应的直播流信息项;其中,直播流状态设置为关闭状态;
返回针对结束直播请求的响应消息至所述请求端。
6.根据权利要求1所述的云游戏进度分享方法,其特征在于,所述游戏进度载入请求包括请求端ID、拉流URL和当前推流帧的流时刻;所述当前推流帧的流时刻是与当前画面对应的推流帧的流时刻;
所述游戏进度载入请求基于所述观众端检测到的游戏进度载入指令触发;
所述观众端用于在检测到游戏进度载入指令时,基于当前画面对应的当前拉流帧的流时刻,确定对应的当前推流帧的流时刻,并向所述云游戏服务端发送所述游戏进度载入请求。
7.根据权利要求6所述的云游戏进度分享方法,其特征在于,所述接收观众端发送的游戏进度载入请求,基于所述游戏进度载入请求确定对应的目标存档信息,包括:
确定与所述拉流URL匹配、且直播流状态为开启状态的目标直播流信息项;
确定与所述目标直播流信息项对应的目标游戏时刻和第一进度表;其中,第一进度表中包括多个存档信息;
从所述第一进度表中确定出所述目标存档信息。
8.根据权利要求7所述的云游戏进度分享方法,其特征在于,所述确定与所述目标直播流信息项对应的目标游戏时刻和第一进度表,包括:
从所确定的目标直播流信息项中获取目标推流首帧游戏时刻、目标游戏实例ID以及目标游戏ID;
基于所述目标推流首帧游戏时刻、所述游戏进度载入请求中的所述当前推流帧的流时刻,确定与所述当前推流帧对应的目标游戏时刻;
基于所述目标游戏ID确定对应的第一进度表。
9.根据权利要求8所述的云游戏进度分享方法,其特征在于,所述从所述第一进度表中确定出所述目标存档信息,包括:
基于所述目标游戏实例ID和所述目标游戏时刻,从所述第一进度表中确定出所述目标存档信息。
10.一种云游戏进度分享装置,其特征在于,包括:
接收模块,用于接收请求端发送的开始直播请求,确定与所述开始直播请求中携带的请求端ID对应的直播信息;
查询模块,用于查询与所述请求端ID对应的GSID、游戏实例ID以及游戏ID;
推流模块,用于基于所述直播信息向所述GSID对应的GS发送推流指令,以使所述GS向与所述推流指令对应的直播服务端循环推流;
确定模块,用于接收观众端发送的游戏进度载入请求,基于所述游戏进度载入请求确定对应的目标存档信息;所述观众端用于从所述直播服务端拉取直播流;
返回模块,用于调度目标游戏实例,以使所述目标游戏实例加载与所述目标存档信息对应的目标存档内容,返回所述目标游戏实例的信息至所述观众端。
11.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~9任一项所述的云游戏进度分享方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~9任一项所述的云游戏进度分享方法。
CN202110326582.2A 2021-03-26 2021-03-26 云游戏进度分享方法、装置和电子设备 Pending CN112933611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110326582.2A CN112933611A (zh) 2021-03-26 2021-03-26 云游戏进度分享方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110326582.2A CN112933611A (zh) 2021-03-26 2021-03-26 云游戏进度分享方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN112933611A true CN112933611A (zh) 2021-06-11

Family

ID=76226860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110326582.2A Pending CN112933611A (zh) 2021-03-26 2021-03-26 云游戏进度分享方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112933611A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640893A (zh) * 2022-03-10 2022-06-17 京东科技信息技术有限公司 实时音视频通信系统的服务端对接方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095929A1 (en) * 2012-10-02 2014-04-03 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US20180020243A1 (en) * 2016-07-13 2018-01-18 Yahoo Holdings, Inc. Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player
CN109792564A (zh) * 2016-07-21 2019-05-21 索尼互动娱乐美国有限责任公司 用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统
CN110536146A (zh) * 2019-08-19 2019-12-03 广州点云科技有限公司 一种基于云游戏的直播开播方法、装置以及存储介质
CN111818004A (zh) * 2019-12-11 2020-10-23 厦门雅基软件有限公司 云游戏直播方法、云游服务器及计算机可读存储介质
CN112138376A (zh) * 2020-09-23 2020-12-29 厦门雅基软件有限公司 云游戏存档方法、装置和电子设备
CN112169318A (zh) * 2020-09-23 2021-01-05 腾讯科技(深圳)有限公司 应用程序的启动及存档方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095929A1 (en) * 2012-10-02 2014-04-03 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US20180020243A1 (en) * 2016-07-13 2018-01-18 Yahoo Holdings, Inc. Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player
CN109792564A (zh) * 2016-07-21 2019-05-21 索尼互动娱乐美国有限责任公司 用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统
CN110536146A (zh) * 2019-08-19 2019-12-03 广州点云科技有限公司 一种基于云游戏的直播开播方法、装置以及存储介质
CN111818004A (zh) * 2019-12-11 2020-10-23 厦门雅基软件有限公司 云游戏直播方法、云游服务器及计算机可读存储介质
CN112138376A (zh) * 2020-09-23 2020-12-29 厦门雅基软件有限公司 云游戏存档方法、装置和电子设备
CN112169318A (zh) * 2020-09-23 2021-01-05 腾讯科技(深圳)有限公司 应用程序的启动及存档方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640893A (zh) * 2022-03-10 2022-06-17 京东科技信息技术有限公司 实时音视频通信系统的服务端对接方法以及装置

Similar Documents

Publication Publication Date Title
JP6490654B2 (ja) 生放送でタイムマシン機能を提供する方法およびシステム
US9756361B2 (en) On-demand load balancer and virtual live slicer server farm for program ingest
CN113411642B (zh) 投屏方法、装置、电子设备和存储介质
CN108566561B (zh) 视频播放方法、装置及存储介质
CN106301865B (zh) 应用于服务提供设备的数据处理方法和设备
CN111277869B (zh) 视频播放方法、装置、设备和存储介质
US20210021655A1 (en) System and method for streaming music on mobile devices
CN109756749A (zh) 视频数据处理方法、装置、服务器和存储介质
US20230051868A1 (en) Livestreaming Interaction Method And Apparatus, Electronic Device, And Computer Readable Storage Medium
CN112138376A (zh) 云游戏存档方法、装置和电子设备
CN112423140A (zh) 视频播放方法、装置、电子设备和存储介质
US10674188B2 (en) Playback apparatus, method of controlling playback apparatus, playback method and server apparatus
CA2802264A1 (en) Remote viewing of media content using layered video encoding
CN112933611A (zh) 云游戏进度分享方法、装置和电子设备
CN113691516A (zh) 流媒体数据传输方法及装置、电子设备和存储介质
CN112243136B (zh) 内容播放方法、视频存储方法和设备
US20150026711A1 (en) Method and apparatus for video content distribution
CN112291573B (zh) 直播流推送方法、装置、电子设备和计算机可读介质
CN113225583B (zh) 云游戏进度处理方法、装置和电子设备
US11870830B1 (en) Embedded streaming content management
CN115460471B (zh) 视频播放方法、装置、电子设备和计算机可读介质
CN112887786A (zh) 视频播放方法、装置及计算机可读介质
US20170134486A1 (en) Method and device for information synchronization
WO2017101379A1 (zh) 播放视频的方法以及视频客户端、本地播放器和智能设备
CN107888958B (zh) 一种管理应用的方法、设备及存储介质

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