CN111514580B - 一种游戏录像文件的生成方法、播放方法和装置 - Google Patents

一种游戏录像文件的生成方法、播放方法和装置 Download PDF

Info

Publication number
CN111514580B
CN111514580B CN201910105177.0A CN201910105177A CN111514580B CN 111514580 B CN111514580 B CN 111514580B CN 201910105177 A CN201910105177 A CN 201910105177A CN 111514580 B CN111514580 B CN 111514580B
Authority
CN
China
Prior art keywords
frame data
combat
package
game
index
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
Application number
CN201910105177.0A
Other languages
English (en)
Other versions
CN111514580A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910105177.0A priority Critical patent/CN111514580B/zh
Publication of CN111514580A publication Critical patent/CN111514580A/zh
Application granted granted Critical
Publication of CN111514580B publication Critical patent/CN111514580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • 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
    • A63F13/497Partially or entirely replaying previous game actions
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种游戏录像的生成方法、播放方法及装置,应用于移动终端,移动终端中执行软件应用,通过获取针对软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,接着采用帧数据集合,生成针对帧数据集合的帧数据索引,以及采用战斗封包集合,生成针对战斗封包集合的战斗封包索引,将战局信息存储于预设文件头,并将帧数据索引、战斗封包索引、帧数据集合以及战斗封包集合存储于预设文件体,然后组合预设文件头和预设文件体,生成预设存储格式的游戏录像文件,从而通过一种新的文件格式,实现了在保持录像文件的压缩比不变的情况下,降低了低配机器内存的使用以及跳转时用户体验的流畅性。

Description

一种游戏录像文件的生成方法、播放方法和装置
技术领域
本发明涉及游戏技术领域,特别是涉及一种游戏录像文件的生成方法、播放方法和一种游戏录像文件的生成装置、播放装置。
背景技术
在多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA)中,每一场战斗都可以看做一段独立的录像数据,而客户端则可以充当一个播放器。对于玩家觉得自己发挥好或出于某种原因需要保存录像数据时,可以将录像数据保存在用户终端以便重新回顾这场战斗的细节,因此,催生了游戏录像系统,在每一场战斗结束之后,玩家可以选择是否将战斗录像保存至用户终端。
当前采用的是将录像的帧和后续的数据整体打包压缩进文件中,并且,在当前的处理方式中,还会对整个文件进行二次压缩,在播放录像数据时将整个文件读入内存再进行压缩,在内存中缓冲所有的数据。然后,这种文件结构虽然简单清晰,能够实现普通的录像回放需求,但是容易降低用户终端常驻内存空间,且不容易进行快速跳转进度。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏录像文件的生成方法、播放方法和相应的一种游戏录像文件的存储装置、播放装置。
为了解决上述问题,本发明实施例公开了一种游戏录像文件的生成方法,应用于移动终端,所述移动终端执行软件应用,所述方法包括:
获取针对所述软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合;
采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引;
采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引;
将所述战局信息存储于预设文件头,所述预设文件头为一文件标识;
将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于所述预设文件体;
组合所述预设文件头和所述预设文件体,生成预设存储格式的游戏录像文件。
优选地,所述帧数据集合包括若干个帧数据,所述采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引,包括:
将所有所述帧数据压缩成若干帧数据块;
确定所述帧数据与所述帧数据块之间的映射关系,以及确定所述帧数据块与所述帧数据集合之间的映射关系;
确定各所述帧数据与战斗封包之间的映射关系;
采用所述帧数据与所述帧数据块之间的映射关系、所述帧数据块与所述帧数据集合之间的映射关系以及各所述帧数据与战斗封包之间的映射关系,生成针对所述帧数据集合的所述帧数据索引。
优选地,所述战斗封包集合包括若干个战斗封包,所述战斗封包为所述帧数据中虚拟对象的状态信息,所述采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引,包括:
将所有所述战斗封包压缩成若干战斗封包块;
确定所述战斗封包与所述战斗封包块之间的映射关系,以及确定所述战斗封包块与所述战斗封包集合之间的映射关系;
采用所述战斗封包与所述战斗封包块之间的映射关系以及所述战斗封包块与所述战斗封包集合之间的映射关系,生成针对所述战斗封包集合的所述战斗封包索引。
优选地,所述预设文件体包括文件索引和录像数据,所述将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于预设文件体,包括:
将所述帧数据索引及所述战斗封包索引存储于所述文件索引;
将所述帧数据块以及所述战斗封包块存储于所述录像数据。
优选地,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
本发明实施例还公开了一种游戏录像文件的播放方法,应用于移动终端,所述移动终端执行软件应用,所述游戏录像文件如上所述的生成方法生成,所述播放方法包括:
播放所述游戏录像文件的帧数据集合,并同步展示战斗封包;
当接收到用户输入的跳转播放指令时,根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
跳转至所述目标帧数据进行播放,并跳转至所述目标战斗封包进行展示。
优选地,所述方法还包括:
确定与所述跳转播放指令对应的播放时间点;
所述根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据,包括:
采用帧数据块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标帧数据块;
采用帧数据与所述帧数据块之间的映射关系,确定与所述播放时间点对应的目标帧数据;
所述根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包,包括:
采用战斗封包块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标战斗封包块;
采用战斗封包与所述战斗封包块之间的映射关系,确定与所述播放时间点对应的第一目标战斗封包。
优选地,所述根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据,还包括:
采用各所述帧数据与所述战斗封包之间的映射关系,确定与所述目标帧数据块中第一个帧数据对应的第二目标战斗封包。
优选地,所述方法还包括:
在所述软件应用展示战局信息,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
本发明实施例还公开了一种游戏录像文件的生成装置,应用于移动终端,所述移动终端执行软件应用,所述装置包括:
数据获取模块,用于获取针对所述软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合;
第一索引生成模块,用于采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引;
第二索引生成模块,用于采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引;
文件头生成模块,用于将所述战局信息存储于预设文件头,所述预设文件头为一文件标识;
文件体生成模块,用于将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于所述预设文件体;
录像文件生成模块,用于组合所述预设文件头和所述预设文件体,生成预设存储格式的游戏录像文件。
优选地,所述帧数据集合包括若干个帧数据,所述第一索引生成模块包括:
帧数据压缩子模块,用于将所有所述帧数据压缩成若干帧数据块;
第一映射关系确定子模块,用于确定所述帧数据与所述帧数据块之间的映射关系,以及确定所述帧数据块与所述帧数据集合之间的映射关系;
第二映射关系确定子模块,用于确定各所述帧数据与战斗封包之间的映射关系;
第一索引生成子模块,用于采用所述帧数据与所述帧数据块之间的映射关系、所述帧数据块与所述帧数据集合之间的映射关系以及各所述帧数据与战斗封包之间的映射关系,生成针对所述帧数据集合的所述帧数据索引。
优选地,所述战斗封包集合包括若干个战斗封包,所述战斗封包为所述帧数据中虚拟对象的状态信息,所述第二索引生成模块包括:
战斗封包压缩子模块,用于将所有所述战斗封包压缩成若干战斗封包块;
第三映射关系确定子模块,用于确定所述战斗封包与所述战斗封包块之间的映射关系,以及确定所述战斗封包块与所述战斗封包集合之间的映射关系;
第二索引生成子模块,用于采用所述战斗封包与所述战斗封包块之间的映射关系以及所述战斗封包块与所述帧数据集合之间的映射关系,生成针对所述战斗封包集合的所述战斗封包索引。
优选地,所述文件体生成模块包括:
第一存储子模块,用于将所述帧数据索引及所述战斗封包索引存储于所述文件索引;
第二存储子模块,用于将所述帧数据块以及所述战斗封包块存储于所述录像数据。
优选地,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
本发明实施例还公开了一种游戏录像文件的播放装置,应用于移动终端,所述移动终端执行软件应用,所述游戏录像文件如上所述的生成装置生成,所述播放装置包括:
第一播放模块,用于播放所述游戏录像文件的帧数据集合,并同步展示战斗封包;
播放点确定模块,用于当接收到用户输入的跳转播放指令时,根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
跳转播放模块,用于跳转至所述目标帧数据进行播放,并跳转至所述目标战斗封包进行展示。
优选地,还包括:
播放时间点确定模块,用于确定与所述跳转播放指令对应的播放时间点;
所述播放点确定模块包括:
帧数据块确定子模块,用于采用帧数据块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标帧数据块;
帧数据确定子模块,用于采用帧数据与所述帧数据块之间的映射关系,确定与所述播放时间点对应的目标帧数据;
战斗封包块确定子模块,用于采用战斗封包块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标战斗封包块;
第一战斗封包确定子模块,用于采用战斗封包与所述战斗封包块之间的映射关系,确定与所述播放时间点对应的第一目标战斗封包。
优选地,所述播放点确定模块还包括:
第二战斗封包确定子模块,用于采用各所述帧数据与所述战斗封包之间的映射关系,确定与所述目标帧数据对应的第二目标战斗封包。
优选地,还包括:
战局信息展示模块,用于在所述软件应用展示战局信息,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的游戏录像文件的生成方法,或使得所述装置执行如上所述的一个或多个的游戏录像文件的播放方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的游戏录像文件的生成方法,或使得所述装置执行如上所述的一个或多个的游戏录像文件的播放方法。
本发明实施例包括以下优点:
本发明实施例中,应用于移动终端,移动终端中执行软件应用,通过获取针对软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,接着采用帧数据集合,生成针对帧数据集合的帧数据索引,以及采用战斗封包集合,生成针对战斗封包集合的战斗封包索引,将战局信息存储于预设文件头,并将帧数据索引、战斗封包索引、帧数据集合以及战斗封包集合存储于预设文件体,然后组合预设文件头和预设文件体,生成预设存储格式的游戏录像文件,从而通过在游戏录像文件的文件格式中引入文件索引和类似于MPEG的帧数据与战斗封包集合的方式,形成一种新的存储格式,实现了在保持录像文件的压缩比不变的情况下,降低了低配机器内存的使用以及跳转时用户体验的流畅性。
附图说明
图1是本发明的一种游戏录像文件的生成方法实施例的步骤流程图;
图2是本发明的一种游戏录像文件的生成方法实施例提供的图形用户界面的示意图;
图3是本发明的一种游戏录像文件的播放方法一实施例的步骤流程图;
图4是本发明的一种游戏录像文件的播放方法另一实施例的步骤流程图;
图5是本发明的一种游戏录像文件的生成装置实施例的结构框图;
图6是本发明的一种游戏录像文件的播放装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种游戏录像文件的生成方法实施例的步骤流程图,应用于移动终端,移动终端执行软件应用,具体可以包括如下步骤:
步骤101,获取针对软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合;
在MOBA游戏中,往往分为两个不同的队伍,进行对抗竞技,在游戏中以击杀敌方英雄、破坏敌方基地等为胜利条件。不同的队伍可以包括3个游戏英雄、5个游戏英雄、6个英雄以及10个英雄等,从而两支队伍之间开展3VS 3、5VS 5、6VS 6以及10VS10的游戏竞技。下面以每支队伍包含5个游戏英雄为例进行说明。
不同的队伍中可以包括不同的阵容角色,如上路英雄、中路英雄、下路英雄、打野英雄以及辅助英雄等。在开始游戏前,每个玩家都需要选择一个游戏英雄参与游戏,具体的,每个玩家可以选择相同的游戏英雄,也可以选择不同的英雄,例如,在模式一中,所有玩家选择同一个游戏英雄参与游戏;在模式二,同一个队伍中的玩家只能选择不同的游戏英雄,而不同队伍之间的玩家可以选择相同的游戏英雄。
此外,游戏中的每个游戏英雄均有对应的角色皮肤,一个游戏英雄可以对应至少一个专属角色皮肤。游戏开局前,玩家在选择游戏英雄后,可以选择该游戏英雄对应的专属角色皮肤。
在本发明实施例中,玩家可以通过移动终端中执行的游戏软件应用进行游戏,玩家在参与一场游戏结束后,并选择保存该场游戏的录像时,游戏软件应用中的录像系统可以包括实时游戏帧数据收集模块以及实时战斗封包收集模块等。
其中,游戏帧数据收集模块:负责每隔一段时间记录游戏的快照,快照为本时刻内所有游戏英雄的位置信息、技能的状态信息(如技能是否处于冷却状态,技能是否处于不能释放状态)、游戏英雄本身的状态(如是否不能移动、是否处于恢复状态)等。在游戏进行的过程中,游戏帧数据收集模块计算的是整场战斗的所有数据,而且也不用每时每刻都产生这样的数据,因此游戏帧数据可以每隔一段时间固定的产生。
实时战斗封包收集模块:战斗封包集合为玩家将战斗封包发送给服务器以后,服务器根据玩家的战斗封包计算出来的客户端游戏应该展示的结果。战斗封包集合为服务器发送给客户端,以要求客户端展示结果的压缩数据包。在游戏进行的过程中,战斗封包是不断产生的,因此战斗封包集合会不间断的收集。
通过录像系统的实时游戏帧数据收集模块,可以对游戏中产生的所有帧数据进行收集,通过实时战斗封包收集模块,可以对游戏中产生的所有战斗封包数据进行收集,并在游戏结束时,生成战局信息。其中,战局信息可以包括游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家(Most Valuable Player,MVP)等,本发明对此不作限制。
在具体实现中,当玩家选择保存游戏录像时,游戏软件应用中的录像系统可以获取针对该场游戏的游戏战斗录像的战局信息、帧数据集合以及战斗封包集合。
步骤102,采用帧数据集合,生成针对帧数据集合的帧数据索引;
在本发明实施例中,玩家每一场游戏的游戏时长可能都不一样,对于不同时长的游戏录像,其对应的帧数据集合也不同。帧数据集合由若干个帧数据组成,每一个帧数据中记录了本时刻内所有游戏英雄的位置、技能的状态(是否处于冷却状态,是否处于不能释放状态)、英雄模型本身的状态(是否不能移动、是否处于恢复状态)等,录像系统根据预设方式对所有帧数据进行处理,生成针对帧数据集合的帧数据索引。
在本发明实施例的一种优选实施例中,步骤102可以包括如下子步骤:
子步骤S11,将所有帧数据压缩成若干帧数据块;
在本发明实施例中,为了保持游戏录像文件压缩的体积,将帧数据集合的所有帧数据进行分块压缩,生成帧数据块。在确定游戏录像的时长之后,可以根据不同的时长,将帧数据集合进行分块压缩。其中,帧数据集合对应多个连续帧数据块,帧数据块对应连续多个帧数据。
在具体实现中,录像系统可以根据游戏战斗录像的时长,按照顺序帧的方式为帧数据集合的每个帧数据进行编号,然后按照预设数目将所有帧数据进行分块压缩,得到若干个帧数据块。
在本发明实施例的一种示例中,假设玩家结束了一场游戏战斗,并对该场战斗的录像进行保存,这场游戏战斗的游戏时长为10分钟,以每30秒对应一个帧数据,则该场游戏战斗一共有20个帧数据,接着按照每5个帧数据对应一个帧数据块,对20个帧数据进行分块压缩,可以得到4个帧数据块,其中,第1个帧数据块包括编号为1~5的帧数据、第2个帧数据块包括编号为6~10的帧数据、第3个帧数据块包括编号为11~15的帧数据,第4个帧数据块包括编号为16~20的帧数据。
子步骤S12,确定帧数据与帧数据块之间的映射关系,以及确定帧数据块与帧数据集合之间的映射关系;
在本发明实施例中,录像系统对所有帧数据进行分块压缩后,可以根据每个帧数据的编号,确定每个帧数据与对应的帧数据块之间的映射关系,同时,可以根据每个帧数据块的编号,确定帧数据块与帧数据集合之间的映射关系。
在具体实现中,由于采用顺序帧的方式对所有帧数据进行编号,以及按照顺序帧的方式对所有帧数据进行分块压缩,则每一个帧数据在对应的帧数据块中的文件偏移量是固定的,每一个帧数据块在帧数据集合中的偏移量也是固定的,即帧数据集合对应多个连续的帧数据块,帧数据块对应多个连续的帧数据。
在本发明实施例的一种示例中,假设玩家结束了一场游戏战斗,并对该场战斗的录像进行保存,这场游戏战斗的游戏时长为10分钟,以每30秒对应一个帧数据,则帧数据与帧数据块之间的映射关系,以及帧数据块与帧数据集合之间的映射关系可以如下表1所示:
Figure BDA0001966553000000101
Figure BDA0001966553000000111
表1
子步骤S14,确定各帧数据与战斗封包之间的映射关系;
在具体实现中,战斗封包为游戏场景中虚拟对象的状态信息,即游戏英雄的状态信息,可以包括游戏英雄释放技能、游戏英雄金币增加、游戏英雄状态、游戏英雄升级、游戏英雄攻击敌方小兵、游戏英雄攻击敌方英雄等等。
在具体实现中,帧数据集合中每个帧数据可以对应游戏英雄的若干个战斗封包,录像系统可以记录每一个帧数据中玩家的战斗封包的先后顺序,从而确定每一个帧数据对应的第一个战斗封包的编号。
子步骤S15,采用帧数据与帧数据块之间的映射关系、帧数据块与帧数据集合之间的映射关系以及各所述帧数据与战斗封包之间的映射关系,生成针对帧数据集合的帧数据索引。
在具体实现中,录像系统可以采用帧数据与帧数据块之间的映射关系、帧数据块与帧数据集合之间的映射关系以及与各帧数据对应的第一个战斗封包的序号,生成针对帧数据集合的帧数据索引,从而可以确定每一个帧数据在对应帧数据块中的文件偏移量、每一个帧数据块在帧数据集合中的文件偏移量以及各帧数据与第一个战斗封包之间的映射关系。
步骤103,采用战斗封包集合,生成针对战斗封包集合的战斗封包索引;
在实际应用中,如图2,可以通过在移动终端210的处理器上执行软件应用并在移动终端210的触控显示器上渲染得到图形用户界面220,图形用户界面220中可以包含至少一技能图标230,图形用户界面220中还可以包括虚拟的游戏角色240和移动控制器250。
在本发明实施例中,移动控制器250可以设置于图形用户界面220的左下方,根据移动控制器250接收到的操作控制游戏角色240在游戏场景中进行位移和/或旋转,而图形用户界面220的右下方则提供多个技能图标230,用于向玩家提供发送技能的控制功能。从而,在该实施例中,玩家可通过左手控制游戏角色在游戏场景中进行位移及旋转,通过右手控制技能图标来进行技能发送,从而玩家可以通过移动指令、技能释放指令以及装备购买指令等对游戏英雄进行控制。
在本发明实施例中,战斗封包为游戏场景中虚拟对象的状态信息,可以包括游戏英雄释放技能、游戏英雄金币增加、游戏英雄状态、游戏英雄升级、游戏英雄攻击敌方小兵、游戏英雄攻击敌方英雄等等,游戏软件应用可以统计一场完整游戏录像中游戏英雄的所有战斗封包。游戏软件应用的录像系统可以根据预设方式对所有战斗封包进行处理,生成针对战斗封包集合的战斗封包索引。
在本发明实施例的一种优选实施例中,步骤103可以包括如下子步骤:
子步骤S21,将所有战斗封包压缩成若干战斗封包块;
在本发明实施例中,为了保持游戏录像文件压缩的体积,将所有战斗封包进行分块压缩,生成战斗封包块。在游戏结束之后,可以根据游戏中游戏英雄状态信息的变化情况,确定游戏英雄的战斗封包,并将战斗封包进行分块压缩。其中,战斗封包集合对应多个连续战斗封包块,战斗封包块对应连续多个战斗封包。
在具体实现中,游戏英雄在游戏中状态的变化并不是固定的,如在一段时间内玩家挂机,即不对游戏英雄进行任何操作,此时游戏英雄静止在原地,不发生其他状态变化;又如,游戏英雄在与敌方英雄交战时,英雄释放技能、升级、移动、金币增加等,发生了多状态的变化。可以理解,玩家在进行游戏时,战斗封包每时每刻都不同,则对战斗封包进行压缩后,每个战斗封包块对应的战斗封包的个数可以相同,也可以不同。
在具体实现中,录像系统可以根据玩家对游戏英雄发出的战斗封包的先后顺序,对所有战斗封包进行编号,然后按照预设数目将所有战斗封包进行分块压缩,得到若干个战斗封包块。
在本发明实施例的一种示例中,以游戏英雄每时每刻的战斗封包相等为例进行说明,假设玩家结束了一场游戏战斗,并对该场战斗的录像进行保存,这场游戏战斗中游戏英雄的战斗封包共有1000个,按照25个战斗封包为一个块对1000个战斗封包进行分块压缩,可以得到40个战斗封包块,其中,第1个战斗封包块包括编号为1~25的战斗封包、第2个战斗封包块包括编号为26~50的战斗封包、第3个战斗封包块包括编号为51~75的战斗封包…第40个战斗封包块包括编号为976~1000的战斗封包。
子步骤S22,确定战斗封包与战斗封包块之间的映射关系,以及确定战斗封包块与战斗封包集合之间的映射关系;
在本发明实施例中,录像系统对所有战斗封包进行分块压缩后,可以根据每个战斗封包的编号,确定每个战斗封包与对应的战斗封包块之间的映射关系,以及确定战斗封包块与战斗封包集合之间的映射关系。
在具体实现中,由于采用顺序的方式对所有战斗封包进行编号,以及按照与帧数据集合对应的方式对所有战斗封包进行分块压缩,则每一个战斗封包在对应的战斗封包块中的文件偏移量是固定的,每一个战斗封包块在战斗封包集合中的偏移量也是固定的,即战斗封包集合对应多个战斗封包块,战斗封包块对应多个连续的战斗封包。
在本发明实施例的一种示例中,以游戏英雄每时每刻的战斗封包相等为例进行说明,假设玩家结束了一场游戏战斗,游戏战斗时长为10分钟,并对该场战斗的录像进行保存,这场游戏战斗中游戏英雄的战斗封包共有500个,则战斗封包与战斗封包块之间的映射关系,以及战斗封包块与战斗封包集合之间的映射关系可以如下表2所示:
Figure BDA0001966553000000131
Figure BDA0001966553000000141
Figure BDA0001966553000000151
表2
子步骤S23,采用战斗封包与战斗封包块之间的映射关系以及战斗封包块与战斗封包集合之间的映射关系,生成针对战斗封包集合的战斗封包索引。
在具体实现中,录像系统可以采用战斗封包与战斗封包块之间的映射关系以及战斗封包块与战斗封包集合之间的映射关系生成针对战斗封包集合的战斗封包索引,从而可以确定每一个战斗封包在战斗封包块中的文件偏移量以及每一个战斗封包块在战斗封包集合中的文件偏移量。
步骤104,将战局信息存储于预设文件头,预设文件头为一文件标识;
在本发明实施例中,当玩家结束游戏战斗,并选择保存该场游戏战斗的游戏录像时,游戏软件应用的录像系统可以将游戏战斗录像保存为预设存储格式的游戏录像文件。其中,预设存储格式的游戏录像文件包括文件头和文件体,文件头为一文件标识,文件体包括文件索引和录像数据。
在具体实现中,预设存储格式的文件标识中记录着一场完整游戏中的战局信息,可以包括游戏时长、游戏阵容信息、英雄输出伤害、击杀英雄数、游戏胜负结果以及全场最佳玩家等。在玩家通过帐号登录游戏软件应用后,可以在用户界面的游戏路线存储路径中查看到玩家保存的游戏录像文件标识,具体的,玩家可以根据每一局的游戏录像文件的战局信息,了解当场游戏中玩家自身与其他玩家的表现情况,从而可以选择游戏录像文件进行播放。
需要说明的是,对于战局信息包括以上所述信息但不限于上述信息,游戏运营方可以根据实际情况具体进行设置,本发明对此不作限制。
步骤105,将帧数据索引、战斗封包索引、帧数据集合以及战斗封包集合存储于预设文件体;
在本发明实施例中,预设文件体包括文件索引和录像数据,文件索引包括帧数据索引和战斗封包索引,录像数据包括帧数据集合和战斗封包集合。当游戏软件应用播放时,将游戏录像文件的文件索引加载到内存中,并初始化录像数据,接着使用战斗封包集合可以驱动录像系统播放帧数据集合。
在具体实现中,录像系统生成帧数据索引和战斗封包索引后,可以将帧数据索引和战斗封包索引存储于文件索引中,录像系统对帧数据集合和战斗封包集合进行分块压缩后,可以将帧数据块和战斗封包块存储于录像数据中,从而在游戏录像文件中引入了文件索引,降低录像滞留在内存的字节数,减少内存的赤字。
步骤106,组合预设文件头和预设文件体,生成预设存储格式的游戏录像文件。
在具体实现中,录像系统将战局信息记录于文件标识,得到游戏录像文件的文件头,以及将帧数据索引及战斗封包索引存储于文件索引,将帧数据块以及战斗封包块存储于录像数据,得到游戏录像文件的文件体后,可以将文件头和文件体进行组合,从而生成预设存储格式的游戏录像文件,从而通过在游戏录像文件中引入文件索引,降低录像滞留在内存的字节数,减少内存的赤字,在文件索引中记录每条数据所在块的文件偏移量,以及每条数据是块中的第几个数据,播放时,只需要将文件索引保存在内存中,就可以做到需要哪个数据就从硬盘中加载哪个数据,可以根据播放速度调整读入的速度即可,用过的数据就可以从内存中清理掉。
本发明实施例中,应用于移动终端,移动终端中执行软件应用,通过获取针对软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,接着采用帧数据集合,生成针对帧数据集合的帧数据索引,以及采用战斗封包集合,生成针对战斗封包集合的战斗封包索引,将战局信息存储于预设文件头,并将帧数据索引、战斗封包索引、帧数据集合以及战斗封包集合存储于预设文件体,然后组合预设文件头和预设文件体,生成预设存储格式的游戏录像文件,从而通过在游戏录像文件的文件格式中引入文件索引和类似于MPEG的帧数据与战斗封包集合的方式,形成一种新的存储格式,实现了在保持录像文件的压缩比不变的情况下,降低了低配机器内存的使用以及跳转时用户体验的流畅性。
参照图3,示出了本发明的一种游戏录像文件的播放方法一实施例的步骤流程图,应用于移动终端,移动终端执行软件应用,具体可以包括如下步骤:
步骤301,播放游戏录像文件的帧数据集合,并同步展示战斗封包;
在本发明实施例中,游戏软件应用既可以作为一个游戏平台,也可以作为一个播放器,玩家可以在游戏软件应用中的游戏录像文件展示路径中选择想要播放的游戏录像文件进行播放。
在具体实现中,玩家选定游戏录像文件后,游戏软件应用将游戏录像文件的文件索引加载与移动终端的内存中,并初始化游戏数据,接着使用战斗封包集合驱动录像系统播放录像数据,从而在移动终端的触摸显示屏中播放游戏录像文件的帧数据集合,以及展示玩家在该场游戏战斗录像中的战斗封包。
步骤302,当接收到用户输入的跳转播放指令时,根据跳转播放指令以及游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据跳转播放指令以及游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
在本发明实施例中,在播放过程中,用户可以根据需要对播放进度进行跳转,则游戏软件应用接收到用户输入的跳转播放指令后,可以根据跳转播放指令以及移动终端中加载的文件索引,确定目标播放点。
在具体实现中,游戏软件应用可以根据玩家输入的跳转播放指令以及移动终端中加载的帧数据索引,确定对应的目标帧数据,并根据跳转播放指令以及游戏录像文件的战斗封包索引,确定对应的目标战斗封包。
在本发明实施例的一种优选实施例中,步骤302可以包括如下子步骤:
子步骤S31,采用帧数据块与帧数据集合之间的映射关系,确定与播放时间点对应的目标帧数据块;
在本发明实施例中,游戏软件应用可以根据玩家输入的跳转播放指令确定跳转播放的播放时间点,从而确定播放时间点对应的播放时间。
需要说明的是,玩家可以选择拖动播放进度条对播放进度进行跳转,也可以在移动终端的触摸显示屏进行左右滑动,向左滑动为进度快退,向右滑动为进度快进,还可以通过其他方式进行播放进度的跳转,本发明实施例对此不作限制。
在具体实现中,玩家输入跳转播放指令后,录像系统可以根据跳转播放指令确定玩家选择跳转的播放时间点,从而确定与跳转播放指令对应的播放时间,接着可以根据帧数据块与帧数据集合之间的映射关系,确定与播放时间点对应的目标帧数据块。
在本发明实施例的一种示例中,假设当前的游戏录像文件时长为10分钟,以每30秒对应一个帧数据,则该场游戏战斗一共有20个帧数据,压缩为4个帧数据块后,当玩家输入的跳转指令为跳转至第346秒开始播放时,根据帧数据块与帧数据集合之间的映射关系如下表3所示,可以确定第346秒落在第3个帧数据块中,则确定第3个帧数据块为与播放时间点对应的目标帧数据块。
Figure BDA0001966553000000181
表3
子步骤S32,采用帧数据与帧数据块之间的映射关系,确定与播放时间点对应的目标帧数据;
在具体实现中,目标帧数据包括目标帧数据块中的第一个帧数据和与播放时间点对应的帧数据,当确定与播放时间点对应的目标帧数据块后,可以与播放时间点对应的帧数据。
在本发明实施例的一种示例中,假设当前的游戏录像文件时长为10分钟,以每30秒对应一个帧数据,则该场游戏战斗一共有20个帧数据,压缩为4个帧数据块后,并确定玩家的跳转播放指令对应的目标帧数据块为第3个帧数据块,则第3个帧数据块包括编号为11~15的帧数据,接着可以根据帧数据与帧数据块之间的映射关系(如下表4和表5),得到346秒对应的帧数据包括编号为12的帧数据,即目标帧数据包括编号为12。
Figure BDA0001966553000000191
表4
Figure BDA0001966553000000192
表5
在本发明实施例的一种优选实施例中,步骤302还可以包括如下子步骤:
采用各帧数据与战斗封包之间的映射关系,确定与目标帧数据块中第一个帧数据对应的第二目标战斗封包。
在具体实现中,当播放录像的时候,录像系统初始化游戏数据,接着加载帧数据,恢复游戏录像状态,然后读入与该帧数据对应的第一个战斗封包以及之后的战斗封包。当用户输入跳转播放指令时,确定与播放时间点对应的目标帧数据块后,可以根据各帧数据与战斗封包之间的映射关系,确定与该目标帧数据块对应的第一个战斗封包的序号。
在本发明实施例的一种示例中,以游戏英雄每时每刻的战斗封包相等为例进行说明,假设当前的游戏录像文件时长为10分钟,以每30秒对应一个帧数据,则该场游戏战斗一共有20个帧数据,压缩为4个帧数据块后,根据各帧数据与战斗封包的映射关系(如下表6和表7),得到第12个帧数据对应的目标帧数据对应的第一个战斗封包的序号,由表可以得出第12个帧数据块对应的第一个战斗封包的序号为551。
Figure BDA0001966553000000201
Figure BDA0001966553000000211
Figure BDA0001966553000000221
表6
Figure BDA0001966553000000222
表7
子步骤S33,采用战斗封包块与战斗封包集合之间的映射关系,确定与播放时间点对应的目标战斗封包块;
在具体实现中,玩家输入跳转播放指令后,录像系统可以根据跳转播放指令确定玩家选择跳转的播放时间点,从而确定与跳转播放指令对应的播放时间,接着可以根据战斗封包块与战斗封包集合之间的映射关系,确定与播放时间点对应的目标战斗封包块。
在本发明实施例的一种示例中,以游戏英雄每时每刻的战斗封包相等为例进行说明,这场游戏战斗中游戏英雄的战斗封包共有1000个,按照25个战斗封包为一个块对1000个战斗封包进行分块压缩,可以得到40个战斗封包块,当玩家跳转到第346秒进行播放时,则根据战斗封包块与战斗封包集合之间的映射关系如下表8和表9所示,可以得到346秒对应的战斗封包块为12,即目标战斗封包块编号为12。
Figure BDA0001966553000000231
Figure BDA0001966553000000241
表8
Figure BDA0001966553000000242
Figure BDA0001966553000000251
表9
子步骤S34,采用战斗封包与战斗封包块之间的映射关系,确定与播放时间点对应的第一目标战斗封包。
在具体实现中,当确定与帧数据集合对应的战斗封包块后,可以根据战斗封包与战斗封包块之间的映射关系,确定与播放时间点对应的第一个战斗封包。
在本发明实施例的一种示例中,以游戏英雄每时每刻的战斗封包相等为例进行说明,这场游戏战斗中游戏英雄的战斗封包共有1000个,按照25个战斗封包为一个块对1000个战斗封包进行分块压缩,可以得到40个战斗封包块,当玩家跳转到第346秒进行播放时,对应的战斗封包块为编号为12的战斗封包,则根据战斗封包与战斗封包块之间的映射关系如表9(部分映射关系表)所示,与播放时间点对应的第一个战斗封包包括编号为576。
步骤303,跳转至目标帧数据进行播放,并跳转至目标战斗封包进行展示。
在本发明实施例中,为了能够快速跳转播放进度,使用了类似MPEG的视频流的技术,将游戏录像文件的录像数据分为帧数据集合和战斗封包集合,帧数据集合包含某一个时刻重新恢复一场游戏需要的所有数据,体积较大,战斗封包集合是游戏中游戏英雄的状态消息,占用空间较小,但是依赖于录像系统已经有一个完整的战斗信息,并且,将帧数据集合压缩成多个帧数据块,以及将战斗封包集合压缩成多个战斗封包块,从而可以在跳转播放进度时,在内存中加载文件索引,并通过文件索引快速找到对应的目标播放位置,实现快速跳转。
在具体实现中,录像系统根据玩家输入的跳转播放指令,确定目标帧数据块、目标帧数据、在目标帧数据块中的第一个战斗封包的序号以及目标战斗封包块以及与播放时间点对应的战斗封包的序号后,可以跳转至目标帧数据进行播放,并跳转至目标战斗封包进行展示。
在本发明实施例的一种示例中,以玩家每时每刻输入的战斗封包相等为例进行说明,当前的游戏录像文件时长为10分钟,玩家输入跳转至第346秒的跳转播放指令,录像系统根据跳转播放时间点确定目标帧数据块为第3个帧数据块(游戏录像播放时长为301~450秒),目标帧数据的编号为12,在第3个帧数据块中第一个战斗封包的序号为551,目标战斗封包块为12,目标战斗封包的编号为576,则跳转的过程可以为:首先将第3个帧数据块的第一个帧数据(编号为12的帧数据)载入内存,同时将编号为551~575的战斗封包载入内存,并加速播放,当跳转到目标播放时间点后,载入第12个帧数据,并载入第576个战斗封包,完成进度跳转并进入正常的播放。
本发明实施例中,应用于移动终端,移动终端中执行软件应用,通过采用类似MEPG的视频流的方式将游戏录像文件存储为预设格式的文件形式,从而将录像数据分为帧数据集合和战斗封包集合,同时引入文件索引,在播放时,将文件索引载入内存,并根据用户输入的跳转播放指令,可以采用文件索引确定对应的播放时间点,从而实现快速跳转播放进度,并且通过将文件索引载入内存中,可以实现需要哪个数据就从对应的存储路径中加载对应的数据,用过的数据可以从内存中清除,降低常驻内存空间,硬盘用于缓存数据。
参照图4,示出了本发明的一种游戏录像文件的播放方法另一实施例的步骤流程图,应用于移动终端,移动终端执行软件应用,具体可以包括如下步骤:
步骤401,在软件应用展示战局信息;
在具体实现中,游戏软件应用中的游戏录像文件展示路径中,展示了玩家存储的游戏录像文件的战局信息,玩家可以根据战局信息选择需要观看的游戏录像文件。
步骤402,播放游戏录像文件的帧数据集合,并同步展示战斗封包;
在具体实现中,玩家选定游戏录像文件后,游戏软件应用将游戏录像文件的文件索引加载与移动终端的内存中,并初始化游戏数据,接着使用战斗封包集合驱动录像系统播放帧数据集合,从而在移动终端的触摸显示屏中播放游戏录像文件的帧数据集合,以及展示玩家在该场游戏战斗录像中的战斗封包。
步骤403,接收用户输入的跳转播放指令,并确定与跳转播放指令对应的播放时间点;
在本发明实施例中,游戏软件应用可以根据玩家输入的跳转播放指令确定跳转播放的播放时间点,从而确定播放时间点对应的播放时间。
在具体实现中,玩家可以选择拖动播放进度条对播放进度进行跳转,也可以在移动终端的触摸显示屏进行左右滑动,向左滑动为进度快退,向右滑动为进度快进,还可以通过其他方式进行播放进度的跳转。录像系统可以根据玩家输入的跳转播放指令确定播放时间点,如玩家拖动进度条,停止的位置为播放时间点,又如,玩家向右滑动时,根据玩家滑动的距离确定播放时间点。
步骤404,根据播放时间点以及游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据播放时间点以及游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
在具体实现中,游戏软件应用可以根据播放时间点以及移动终端中加载的帧数据索引,确定对应的目标帧数据,并根据播放时间点以及游戏录像文件的战斗封包索引,确定对应的目标战斗封包。
在本发明实施例的一种优选实施例中,步骤404可以包括如下子步骤:
子步骤S41,采用帧数据块与帧数据集合之间的映射关系,确定与播放时间点对应的目标帧数据块;
在具体实现中,玩家输入跳转播放指令后,录像系统可以根据跳转播放指令确定玩家选择跳转的播放时间点,从而确定与跳转播放指令对应的播放时间,接着可以根据帧数据块与帧数据集合之间的映射关系,确定与播放时间点对应的目标帧数据块。
子步骤S42,采用帧数据与帧数据块之间的映射关系,确定与播放时间点对应的目标帧数据;
在具体实现中,目标帧数据包括目标帧数据块中的第一个帧帧数据和与播放时间点对应的帧数据,当确定与播放时间点对应的目标帧数据块后,可以进一步确定目标帧数据块中的第一个帧帧数据,以及与播放时间点对应的帧数据。
在本发明实施例的一种优选实施例中,步骤403还可以包括如下子步骤:
采用各帧数据与战斗封包之间的映射关系,确定与目标帧数据块中第一个帧数据对应的第二目标战斗封包。
在具体实现中,当用户输入跳转播放指令时,确定与播放时间点对应的目标帧数据块后,可以根据各帧数据与战斗封包之间的映射关系,确定与该目标帧数据块对应的第一个战斗封包的序号。
子步骤S43,采用战斗封包块与帧数据集合之间的映射关系,确定与播放时间点对应的目标战斗封包块;
在具体实现中,玩家输入跳转播放指令后,录像系统可以根据跳转播放指令确定玩家选择跳转的播放时间点,从而确定与跳转播放指令对应的播放时间,接着可以根据战斗封包块与帧数据集合之间的映射关系,确定与播放时间点对应的目标战斗封包块。
子步骤S44,采用战斗封包与战斗封包块之间的映射关系,确定与播放时间点对应的第一目标战斗封包。
在具体实现中,当确定与帧数据集合对应的战斗封包块后,可以根据战斗封包与战斗封包块之间的映射关系,确定与播放时间点对应的第一个战斗封包。
步骤405,跳转至目标帧数据进行播放,并跳转至目标战斗封包进行展示。
在具体实现中,录像系统根据玩家输入的跳转播放指令,确定目标帧数据块、目标帧数据、在目标帧数据块中的第一个战斗封包的序号以及目标战斗封包块以及与播放时间点对应的战斗封包的序号后,可以跳转至目标帧数据进行播放,并跳转至目标战斗封包进行展示。
本发明实施例中,应用于移动终端,移动终端中执行软件应用,通过采用类似MEPG的视频流的方式将游戏录像文件存储为预设格式的文件形式,从而将录像数据分为帧数据集合和战斗封包集合,同时引入文件索引,在播放时,将文件索引载入内存,并根据用户输入的跳转播放指令,可以采用文件索引确定对应的播放时间点,从而实现快速跳转播放进度,并且通过将文件索引载入内存中,可以实现需要哪个数据就从对应的存储路径中加载对应的数据,用过的数据可以从内存中清除,降低常驻内存空间,硬盘用于缓存数据。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种游戏录像文件的生成装置实施例的结构框图,应用于移动终端,所述移动终端执行软件应用,具体可以包括如下模块:所述装置包括:
数据获取模块501,用于获取针对所述软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,所述战斗封包集合为所述游戏战斗录像中所有玩家的战斗封包的集合;
第一索引生成模块502,用于采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引;
第二索引生成模块503,用于采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引;
文件头生成模块504,用于将所述战局信息存储于预设文件头,所述预设文件头为一文件标识;
文件体生成模块505,用于将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于所述预设文件体;
录像文件生成模块506,用于组合所述预设文件头和所述预设文件体,生成预设存储格式的游戏录像文件。
在本发明实施例的一种优选实施例中,所述帧数据集合包括若干个帧数据,所述第一索引生成模块可以包括:
帧数据压缩子模块,用于将所有所述帧数据压缩成若干帧数据块;
第一映射关系确定子模块,用于确定所述帧数据与所述帧数据块之间的映射关系,以及确定所述帧数据块与所述帧数据集合之间的映射关系;
第二映射关系确定子模块,用于确定各所述帧数据与战斗封包之间的映射关系;
第一索引生成子模块,用于采用所述帧数据与所述帧数据块之间的映射关系、所述帧数据块与所述帧数据集合之间的映射关系以及与各所述帧数据对应的第一个战斗封包的序号,生成针对所述帧数据集合的所述帧数据索引。
在本发明实施例的一种优选实施例中,所述第二索引生成模块可以包括:
战斗封包压缩子模块,用于将所有所述战斗封包压缩成若干战斗封包块;
第三映射关系确定子模块,用于确定所述战斗封包与所述战斗封包块之间的映射关系,以及确定所述战斗封包块与所述帧数据集合之间的映射关系;
第二索引生成子模块,用于采用所述战斗封包与所述战斗封包块之间的映射关系以及所述战斗封包块与所述帧数据集合之间的映射关系,生成针对所述战斗封包集合的所述战斗封包索引。
在本发明实施例的一种优选实施例中,所述文件体生成模块可以包括:
第一存储子模块,用于将所述帧数据索引及所述战斗封包索引存储于所述文件索引;
第二存储子模块,用于将所述帧数据块以及所述战斗封包块存储于所述录像数据。
在本发明实施例的一种优选实施例中,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
参照图6,示出了本发明的一种游戏录像文件的播放装置实施例的结构框图,应用于移动终端,所述移动终端执行软件应用,具体可以包括如下模块:所述装置包括:
第一播放模块601,用于播放所述游戏录像文件的帧数据集合,并同步展示战斗封包;
播放点确定模块602,用于当接收到用户输入的跳转播放指令时,根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
跳转播放模块603,用于跳转至所述目标帧数据进行播放,并跳转至所述目标战斗封包进行展示。
在本发明实施例的一种优选实施例中,所述播放装置还可以包括:
播放时间点确定模块,用于确定所述跳转播放指令对应的播放时间点;
所述播放点确定模块可以包括:
帧数据块确定子模块,用于采用帧数据块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标帧数据块;
帧数据确定子模块,用于采用帧数据与所述帧数据块之间的映射关系,确定与所述播放时间点对应的目标帧数据;
战斗封包块确定子模块,用于采用战斗封包块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标战斗封包块;
第一战斗封包确定子模块,用于采用战斗封包与所述战斗封包块之间的映射关系,确定与所述播放时间点对应的第一目标战斗封包。
在本发明实施例的一种优选实施例中,所述播放点确定模块还可以包括:
第二战斗封包确定子模块,用于采用各所述帧数据与所述战斗封包之间的映射关系,确定与所述目标帧数据对应的第二目标战斗封包。
在本发明实施例的一种优选实施例中,所述播放装置还可以包括:
战局信息展示模块,用于在所述软件应用展示战局信息,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的游戏录像文件的生成方法或游戏录像文件的播放方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的游戏录像文件的生成方法或游戏录像文件的播放方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种游戏录像数据的生成方法、播放方法和一种游戏录像数据的生成装置、播放装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种游戏录像文件的生成方法,其特征在于,应用于移动终端,所述移动终端执行软件应用,所述方法包括:
获取针对所述软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,战斗封包为游戏场景中虚拟对象的状态信息;
采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引;
采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引;
将所述战局信息存储于预设文件头,所述预设文件头为一文件标识;
将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于预设文件体;
组合所述预设文件头和所述预设文件体,生成预设存储格式的游戏录像文件。
2.根据权利要求1所述的方法,其特征在于,所述帧数据集合包括若干个帧数据,所述采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引,包括:
将所有所述帧数据压缩成若干帧数据块;
确定所述帧数据与所述帧数据块之间的映射关系,以及确定所述帧数据块与所述帧数据集合之间的映射关系;
确定各所述帧数据与战斗封包之间的映射关系;
采用所述帧数据与所述帧数据块之间的映射关系、所述帧数据块与所述帧数据集合之间的映射关系以及各所述帧数据与战斗封包之间的映射关系,生成针对所述帧数据集合的所述帧数据索引。
3.根据权利要求1所述的方法,其特征在于,所述战斗封包集合包括若干个战斗封包,所述战斗封包为所述帧数据中虚拟对象的状态信息,所述采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引,包括:
将所有所述战斗封包压缩成若干战斗封包块;
确定所述战斗封包与所述战斗封包块之间的映射关系,以及确定所述战斗封包块与所述战斗封包集合之间的映射关系;
采用所述战斗封包与所述战斗封包块之间的映射关系以及所述战斗封包块与所述战斗封包集合之间的映射关系,生成针对所述战斗封包集合的所述战斗封包索引。
4.根据权利要求2或3所述的方法,其特征在于,所述预设文件体包括文件索引和录像数据,所述将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于预设文件体,包括:
将所述帧数据索引及所述战斗封包索引存储于所述文件索引;
将所述帧数据块以及所述战斗封包块存储于所述录像数据。
5.根据权利要求1-3任一所述的方法,其特征在于,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
6.一种游戏录像文件的播放方法,其特征在于,应用于移动终端,所述移动终端执行软件应用,所述游戏录像文件以权利要求1-5中任一所述的生成方法生成,所述播放方法包括:
播放所述游戏录像文件的帧数据集合,并同步展示战斗封包;
当接收到用户输入的跳转播放指令时,根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
跳转至所述目标帧数据进行播放,并跳转至所述目标战斗封包进行展示。
7.根据权利要求6所述的方法,其特征在于,还包括:
确定与所述跳转播放指令对应的播放时间点;
所述根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据,包括:
采用帧数据块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标帧数据块;
采用帧数据与所述帧数据块之间的映射关系,确定与所述播放时间点对应的目标帧数据;
所述根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包,包括:
采用战斗封包块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标战斗封包块;
采用战斗封包与所述战斗封包块之间的映射关系,确定与所述播放时间点对应的第一目标战斗封包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据,还包括:
采用各所述帧数据与所述战斗封包之间的映射关系,确定与所述目标帧数据块中第一个帧数据对应的第二目标战斗封包。
9.根据权利要求6所述的方法,其特征在于,还包括:
在所述软件应用展示战局信息,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
10.一种游戏录像文件的生成装置,其特征在于,应用于移动终端,所述移动终端执行软件应用,所述装置包括:
数据获取模块,用于获取针对所述软件应用中游戏战斗录像的战局信息、帧数据集合以及战斗封包集合,战斗封包为游戏场景中虚拟对象的状态信息;
第一索引生成模块,用于采用所述帧数据集合,生成针对所述帧数据集合的帧数据索引;
第二索引生成模块,用于采用所述战斗封包集合,生成针对所述战斗封包集合的战斗封包索引;
文件头生成模块,用于将所述战局信息存储于预设文件头,所述预设文件头为一文件标识;
文件体生成模块,用于将所述帧数据索引、所述战斗封包索引、所述帧数据集合以及所述战斗封包集合存储于预设文件体;
录像文件生成模块,用于组合所述预设文件头和所述预设文件体,生成预设存储格式的游戏录像文件。
11.根据权利要求10所述的装置,其特征在于,所述帧数据集合包括若干个帧数据,所述第一索引生成模块包括:
帧数据压缩子模块,用于将所有所述帧数据压缩成若干帧数据块;
第一映射关系确定子模块,用于确定所述帧数据与所述帧数据块之间的映射关系,以及确定所述帧数据块与所述帧数据集合之间的映射关系;
第二映射关系确定子模块,用于确定各所述帧数据与战斗封包之间的映射关系;
第一索引生成子模块,用于采用所述帧数据与所述帧数据块之间的映射关系、所述帧数据块与所述帧数据集合之间的映射关系以及各所述帧数据与战斗封包之间的映射关系,生成针对所述帧数据集合的所述帧数据索引。
12.根据权利要求10所述的装置,其特征在于,所述战斗封包集合包括若干个战斗封包,所述战斗封包为所述帧数据中虚拟对象的状态信息,所述第二索引生成模块包括:
战斗封包压缩子模块,用于将所有所述战斗封包压缩成若干战斗封包块;
第三映射关系确定子模块,用于确定所述战斗封包与所述战斗封包块之间的映射关系,以及确定所述战斗封包块与所述战斗封包集合之间的映射关系;
第二索引生成子模块,用于采用所述战斗封包与所述战斗封包块之间的映射关系以及所述战斗封包块与所述帧数据集合之间的映射关系,生成针对所述战斗封包集合的所述战斗封包索引。
13.根据权利要求11或12所述的装置,其特征在于,所述预设文件体包括文件索引和录像数据,所述文件体生成模块包括:
第一存储子模块,用于将所述帧数据索引及所述战斗封包索引存储于所述文件索引;
第二存储子模块,用于将所述帧数据块以及所述战斗封包块存储于所述录像数据。
14.根据权利要求10-12任一项所述的装置,其特征在于,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
15.一种游戏录像文件的播放装置,其特征在于,应用于移动终端,所述移动终端执行软件应用,所述游戏录像文件以权利要求10-14中任一所述的生成装置生成,所述播放装置包括:
第一播放模块,用于播放所述游戏录像文件的帧数据集合,并同步展示战斗封包;
播放点确定模块,用于当接收到用户输入的跳转播放指令时,根据所述跳转播放指令以及所述游戏录像文件的帧数据索引,确定对应的目标帧数据;以及根据所述跳转播放指令以及所述游戏录像文件的战斗封包索引,确定对应的目标战斗封包;
跳转播放模块,用于跳转至所述目标帧数据进行播放,并跳转至所述目标战斗封包进行展示。
16.根据权利要求15所述的装置,其特征在于,还包括:
播放时间点确定模块,用于确定与所述跳转播放指令对应的播放时间点;
所述播放点确定模块包括:
帧数据块确定子模块,用于采用帧数据块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标帧数据块;
帧数据确定子模块,用于采用帧数据与所述帧数据块之间的映射关系,确定与所述播放时间点对应的目标帧数据;
战斗封包块确定子模块,用于采用战斗封包块与所述帧数据集合之间的映射关系,确定与所述播放时间点对应的目标战斗封包块;
第一战斗封包确定子模块,用于采用战斗封包与所述战斗封包块之间的映射关系,确定与所述播放时间点对应的第一目标战斗封包。
17.根据权利要求16所述的装置,其特征在于,所述播放点确定模块还包括:
第二战斗封包确定子模块,用于采用各所述帧数据与所述战斗封包之间的映射关系,确定与所述目标帧数据对应的第二目标战斗封包。
18.根据权利要求15所述的装置,其特征在于,还包括:
战局信息展示模块,用于在所述软件应用展示战局信息,所述战局信息包括以下至少之一:游戏时长、游戏阵容信息、英雄输出伤害、游戏胜负结果以及全场最佳玩家。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-5任一项所述的游戏录像文件的生成方法,或使得所述电子设备执行如权利要求6-9任一项所述的游戏录像文件的播放方法。
20.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-5任一项所述的游戏录像文件的生成方法,或使得所述处理器执行如权利要求6-9任一项所述的游戏录像文件的播放方法。
CN201910105177.0A 2019-02-01 2019-02-01 一种游戏录像文件的生成方法、播放方法和装置 Active CN111514580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910105177.0A CN111514580B (zh) 2019-02-01 2019-02-01 一种游戏录像文件的生成方法、播放方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910105177.0A CN111514580B (zh) 2019-02-01 2019-02-01 一种游戏录像文件的生成方法、播放方法和装置

Publications (2)

Publication Number Publication Date
CN111514580A CN111514580A (zh) 2020-08-11
CN111514580B true CN111514580B (zh) 2023-05-05

Family

ID=71900209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910105177.0A Active CN111514580B (zh) 2019-02-01 2019-02-01 一种游戏录像文件的生成方法、播放方法和装置

Country Status (1)

Country Link
CN (1) CN111514580B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111773684B (zh) * 2020-08-14 2024-07-09 网易(杭州)网络有限公司 游戏数据的处理方法及装置、电子设备、存储介质
CN114159800B (zh) * 2021-12-09 2024-09-20 网易(杭州)网络有限公司 录像数据的处理方法、装置、电子设备及计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014202288A1 (en) * 2013-04-29 2014-11-13 Everi Technology Pty Ltd Gaming machine and method employing video compression
CN105013174A (zh) * 2015-07-28 2015-11-04 珠海金山网络游戏科技有限公司 一种游戏录像回放方法及系统
CN105763825A (zh) * 2016-04-12 2016-07-13 杭州电魂网络科技股份有限公司 一种对帧同步录像功能进行优化的方法
CN107096221A (zh) * 2015-09-30 2017-08-29 索尼互动娱乐美国有限责任公司 用于提供时移智能同步游戏视频的系统和方法
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8206215B2 (en) * 2006-08-31 2012-06-26 Igt Gaming machine systems and methods with memory efficient historical video re-creation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014202288A1 (en) * 2013-04-29 2014-11-13 Everi Technology Pty Ltd Gaming machine and method employing video compression
CN105013174A (zh) * 2015-07-28 2015-11-04 珠海金山网络游戏科技有限公司 一种游戏录像回放方法及系统
CN107096221A (zh) * 2015-09-30 2017-08-29 索尼互动娱乐美国有限责任公司 用于提供时移智能同步游戏视频的系统和方法
CN105763825A (zh) * 2016-04-12 2016-07-13 杭州电魂网络科技股份有限公司 一种对帧同步录像功能进行优化的方法
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Also Published As

Publication number Publication date
CN111514580A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
US9950251B1 (en) Systems and methods for generating a compilation reel in game video
CN113384879B (zh) 游戏数据展示方法以及装置
US11697067B2 (en) Content streaming with gameplay launch
JP6482706B1 (ja) 配信サーバ、配信システム、配信方法及びプログラム
CN112535865B (zh) 游戏内容的回放方法、终端、可读存储介质及电子设备
KR20140103033A (ko) 라이브 이벤트들을 위한 증강 현실
EP3894029A1 (en) Media-activity binding and content blocking
CN110062271A (zh) 场景切换方法、装置、终端及存储介质
US20100190551A1 (en) Game device, game device control method, and information storage medium
CN111514580B (zh) 一种游戏录像文件的生成方法、播放方法和装置
JP3292852B2 (ja) 野球ゲーム装置および野球ゲームの制御方法およびその制御方法のプログラムを記録した記録媒体
US11865446B2 (en) Interactive what-if game replay methods and systems
CN114225402A (zh) 一种游戏中虚拟对象视频的编辑方法和编辑装置
CN117412134A (zh) 虚拟游戏的实现方法、装置、电子设备和可读存储介质
US11471779B2 (en) Spectating support apparatus, spectating support method, and spectating support program
JP5475294B2 (ja) プログラムおよびゲーム装置
JP2023550233A (ja) 解説ビデオ生成方法、装置、サーバ及びコンピュータプログラム
JP2022093223A (ja) プレイ記録動画作成システム
US20110276154A1 (en) Game control program and game device
GB2579659A (en) Player interaction capturing system and method
GB2557976A (en) Gameplay sharing method and apparatus
US20230381662A1 (en) Adaptive difficulty calibration for skills-based activities in virtual environments
JP2023525178A (ja) ビデオゲームのためのゲームコンテンツ推奨
KR20210061970A (ko) 바로 슬로우 모션
CN116603231A (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
GR01 Patent grant
GR01 Patent grant