CN113553473A - 一种bag文件的云播放方法、系统及装置 - Google Patents

一种bag文件的云播放方法、系统及装置 Download PDF

Info

Publication number
CN113553473A
CN113553473A CN202110882891.8A CN202110882891A CN113553473A CN 113553473 A CN113553473 A CN 113553473A CN 202110882891 A CN202110882891 A CN 202110882891A CN 113553473 A CN113553473 A CN 113553473A
Authority
CN
China
Prior art keywords
theme
topic
target
bag
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.)
Granted
Application number
CN202110882891.8A
Other languages
English (en)
Other versions
CN113553473B (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.)
Guangzhou Weride Technology Co Ltd
Original Assignee
Guangzhou Weride 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 Guangzhou Weride Technology Co Ltd filed Critical Guangzhou Weride Technology Co Ltd
Priority to CN202110882891.8A priority Critical patent/CN113553473B/zh
Priority claimed from CN202110882891.8A external-priority patent/CN113553473B/zh
Publication of CN113553473A publication Critical patent/CN113553473A/zh
Application granted granted Critical
Publication of CN113553473B publication Critical patent/CN113553473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请公开了一种bag文件的云播放方法、系统及装置,包括:向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。本申请在bag文件的播放中,可以根据具体需要,仅下载指定的主题的内容数据,并对其进行播放。无需下载整个bag文件,从而缩短了下载时间,提升了用户体验。

Description

一种bag文件的云播放方法、系统及装置
技术领域
本申请涉及机器人应用技术领域,更具体地说,是涉及一种bag文件的云播放方法、系统及装置。
背景技术
机器人操作系统(Robot Operating System,ROS)是一种可帮助构建机器人应用程序的开源的系统软件平台,能为异质计算机集群提供类似操作系统的功能。从驱动程序到最先进的算法,再加上强大的开发人员工具,ROS拥有机器人项目开发所需的基本资源。
ROS应用程序的开发可以采用点对点的设计方式。具体地,ROS应用程序包括多个节点程序,每个节点可以负责机器人很小的一个功能,比如摄像头节点、地图节点、slam(simultaneous localization and mapping,定位与地图构建)感知节点、视觉节点以及负责远程控制的主节点。例如,可以设计一个摄像机节点,专门读取摄像头图像数据,然后设计另外一个节点,以专门负责图像处理,图像处理对象为摄像机节点所读取的图像数据。
在功能独立化的同时,每个节点程序按照一定的格式发布和订阅话题。所有话题的内容合并起来构成系统的运行数据及运行状态。在ROS系统中,可以使用bag文件来保存系统的运行数据及运行状态,以及通过bag文件来恢复系统的运行状态。此外,亦可通过播放bag文件来展示系统运行中所产生的数据,以确定系统运行中所遇到的问题。
然而,现有技术中,在播放bag文件时,即使只需要播放bag内容中的某个主题(topic),也需要读取整个bag的内容,不能选择性地仅仅读取感兴趣的内容。当bag文件比较大、而网络条件不佳时,该读取过程会相当耗时,且相当一部分损耗的时间花在读取不需要的bag内容上。
发明内容
有鉴于此,本申请提供了一种bag文件的云播放方法、系统及装置,以实现选择性地下载并读取指定主题的内容。
为实现上述目的,本申请第一方面提供了一种bag文件的云播放方法,包括:
向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
优选地,所述响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据的过程,包括:
响应用户选中待播放的目标主题的操作,获取待播放的目标主题以及待播放的进度;
计算所述进度所处的目标时间区间,向服务器请求所述目标主题下与所述目标时间区间对应的内容数据。
优选地,所述根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放的过程,包括:
根据所述目标主题的主题信息,获取所述目标主题的数据格式;
根据所述目标主题的数据格式,选取适配于所述目标主题的内容数据的渲染方式;
根据所述渲染方式,通过浏览器对所述目标主题的内容数据进行播放。
优选地,在根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放之前,还包括:
将所述目标主题的内容数据缓存至本地;
从所述概要数据解析出各个主题的主题信息的过程,包括:
从所述概要数据解析出各个主题的标识、路径和/或数据格式。
本申请第二方面提供了一种bag文件的处理方法,包括:
根据bag文件的元数据,获取bag文件的时长信息;
根据所述时长信息,按照预设的时间步长,将bag文件的时间轴划分成连续的多个时间区间;
针对bag文件中每个主题的消息,根据所述消息的记录时间,以所述各个时间区间作为边界,将所述消息划分成多个时间块,得到每个主题下的时间块;
其中,所述元数据和bag文件的时间区间构成bag文件的概要数据;每个主题下的时间块构成所述主题的内容数据。
优选地,根据每个主题的数据格式,对所述主题下的时间块进行渲染计算,得到所述主题下经过渲染计算后的时间块。
优选地,所述bag文件的处理方法还包括:
将每个主题下的时间块打包成单个文件;
所述将每个主题下的时间块打包成单个文件的过程,包括:
对每个主题下的时间块进行打包,得到所述主题打包后的数据;
将所述主题打包后的数据存储成JSON格式或者SCHEMA格式的文件。
本申请第三方面提供了一种bag文件的云播放系统,包括播放器和服务器;
所述播放器用于根据上述的bag文件的云播放方法,对bag文件进行播放;
所述服务器包括bag文件处理单元和bag文件服务单元;
其中,所述bag文件处理单元用于对bag文件进行处理,以确定bag文件的概要数据及各个主题的内容数据;
所述bag文件服务单元与所述播放器相配合,用于为所述播放器提供bag文件服务。
优选地,所述bag文件处理单元对bag文件进行处理的过程,包括:
根据上述的bag文件的处理方法对bag文件进行预处理。
本申请第四方面提供了一种bag文件的云播放装置,包括:
概要数据获取单元,用于向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
概要数据解析单元,用于从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
内容数据请求单元,用于响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
内容数据播放单元,用于将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
经由上述的技术方案可知,本申请预先对bag文件进行处理,将bag文件划分成元数据和各个主题的内容数据。当需要播放bag文件时,获取bag文件的概要数据,并从所述概要数据解析出bag文件的时间区间以及各个主题的主题信息。
由用户根据各个主题的主题信息,决定播放哪个主题。当确定需要播放一主题的指定内容时,向服务器请求所述主题的内容数据,然后根据所述主题的主题信息,对所述主题的内容数据进行播放。
在bag文件的播放中,可以根据具体需要,仅下载指定的主题的内容数据,并对其进行播放。无需下载整个bag文件,从而缩短了下载时间,提升了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的bag文件的处理方法的示意图;
图2示例了本申请实施例公开的将内容数据按照所属的主题进行拆分的示意图;
图3示例了本申请实施例公开的将内容数据按照所属的主题进行拆分的另一示意图;
图4为本申请实施例公开的bag文件的云播放方法的示意图;
图5为本申请实施例公开的bag文件的云播放方法系统的示意图;
图6为本申请实施例公开的bag文件的云播放方法装置的示意图;
图7为本申请实施例公开的网络安全风险评估设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的播放器bag文件的云播放方法的应用环境包括云端的播放服务器以及用户端的播放器。具体地,播放服务器用于对bag文件进行存储管理,并响应播放器的请求;播放器用于向服务器请求播放内容,并对该内容进行播放。
在本申请实施例中,存储于播放服务器的bag文件是经过预先处理的。对bag文件进行处理的操作可以是由播放服务器完成,也可以是由其他设备或单元完成。具体地,采用本申请实施例提供的bag文件的处理方法对bag文件进行预先处理,通过该处理过程,可以将bag文件划分成概要数据及各个主题的内容数据。播放服务器将该概要数据及各个主题的内容数据存储在其中,以便播放器可以根据概要数据,单独请求某个主题的内容数据。
下面介绍本申请实施例提供的bag文件的处理方法。请参阅图1,本申请实施例提供的bag文件的处理方法可以包括如下步骤:
步骤S101,获取bag文件的时长信息。
具体地,根据bag文件的元数据,获取bag文件的时长信息。其中,该时长信息可以包括bag文件下各个主题消息的时长信息,记录了各个主题消息的起始时间等信息。
步骤S102,根据时长信息,划分时间区间。
具体地,根据所述时长信息,按照预设的时间步长,将bag文件的时间轴划分成连续的多个时间区间。
bag文件下各个主题消息的时间跨度可以很大,且各个主题的起始时间不一定相同,各个主题都有自己的时间线。本申请实施例以整个bag文件的时间轴作为考量对象,根据bag文件的时长信息,将bag文件的时间轴划分成连续的多个时间区间。
其中,所述元数据和bag文件的时间区间构成bag文件的概要数据。
例如,假设一bag文件下包含两个主题,分别为topic A和topic B。这两个主题的内容数据在时间序列上的时刻如表1所示。
由表1可知,topic A和topic B分别有不同的时间线。其中,topic A的时间线从t=1.2秒开始,t=8.2秒结束;topic B的时间线从t=1.5秒开始,t=8.5秒结束。
表1:内容数据的时间序列
主题 时刻1 时刻2 时刻3 时刻4 时刻5 时刻6 时刻7 时刻8
topic A 1.2 2.2 3.2 4.2 5.2 6.2 7.2 8.2
topic B 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5
那么,对于该bag文件,从时刻t=1开始,以1秒作为时间步长,对上述bag文件的时间轴进行划分,可以划分成(1,2)、(2,3)、(3、4)、(4、5)、(5、6)、(6、7)、(7、8)以及(8、9)这8个时间区间。可选地,还可以对这8个时间区间进行编号,例如,将这8个时间区间编号为时间区间1、时间区间2、时间区间3、时间区间4、时间区间5、时间区间6、时间区间7以及时间区间8。
步骤S103,确定各个主题的内容数据。
具体地,针对bag文件中每个主题的消息,根据所述消息的记录时间,以所述各个时间区间作为边界,将所述消息划分成多个时间块,得到每个主题下的时间块。其中,每个主题下的时间块构成所述主题的内容数据。
以上述表1中的bag文件为例,根据在步骤S102中所划分的8个时间区间,以这些时间区间作为边界,根据topic A和topic B的记录时间,分别将topic A和topic B划分成8个时间块。
其中,topic A的这8个时间块构成topic A的内容数据;topic B的这8个时间块构成topic B的内容数据。
具体地,假设topic A在时刻t的数据可以表示为Data_topic_A(t),同样地,topicB在时刻t的数据可以表示为Data_topic_B(t)。那么,请参阅图2,Data_topic_A(1.2)与Data_topic_B(1.5)属于同一时间区间下的时间块,Data_topic_A(2.2)与Data_topic_B(2.5)属于同一时间区间下的时间块,以此类推,可以获取bag文件中属于同一时间区间下的时间块的内容数据。
至此,分别从时间维度以及主题的维度,将各个主题的内容数据划分成单个主题下的多个时间块。
本申请实施例通过对bag文件进行处理,将bag文件划分成概要数据和各个主题的内容数据,便于对bag文件进行管理。当需要查看bag文件下某个主题的内容时,可以通过bag文件的概要数据查看各个主题的基本信息,然后再针对性地获取相应主题的内容数据。进一步地,通过时间块的划分,还可以针对性地获取相应主题在相应时间段的内容数据。
由于bag文件下各个主题消息的时间跨度可以很大,且各个主题的起始时间不一定相同,各个主题都有自己的时间线。基于此,在本申请的另外一些实施例中,对于上述步骤S102,还可以针对各个主题,根据各个主题的时长信息,单独为各个主题设置时间步长,使得各个主题依据该主题的时间步长划分出连续的多个时间区间。
例如,对于单位时间内产生数据量较大的主题,可以以较短的时间步长对其进行划分;对于单位时间内产生数据量较小的主题,可以以较长的时间步长对其进行划分。
在一个具体的例子中,假设一bag文件两个主题,分别为topic C和topic D。其中,topic C和topic D的时间序列分别为:
topic C={1.2,1.7,2.2,2.7,3.2,3.7,4.2,4.7,5.2,5.7,6.2,6.7,7.2,7.7,8.2,8.7,…}
topic D={1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,…}
那么,请参阅图3,对于topic C,从时刻t=1开始,以1秒作为时间步长,对其进行划分,可以划分成(1,2)、(2,3)、(3、4)、(4、5)、(5、6)、(6、7)、(7、8)以及(8、9)这8个时间区间;对于topic D,从时刻t=1开始,以2秒作为时间步长,对其进行划分,可以划分成(1,3)、(3,5)、(5、7)以及(7、9)这4个时间区间。
至此,从具体的主题的角度,单独为每个主题设置时间不长,然后将各个主题的内容数据划分成单个主题下的多个时间块。此处的时间块是主题维度下的时间块,各个主题下的时间块划分方式与主题的数据量相关。
在播放bag文件前,需要根据待播放内容的具体数据格式,对其选取适配的渲染方法对其进行渲染计算。为使得可以更加顺畅地播放bag文件,可以对bag文件进行渲染方面的预处理,即将部分渲染计算放在播放前进行。
基于此,在本申请的一些实施例中,对bag文件进行处理的过程,还可以包括:
根据每个主题的数据格式,对该主题下的时间块进行渲染计算,得到该主题下经过渲染计算后的时间块。
其中,具体的渲染计算方式依赖于具体主题的数据格式。通常地,一个bag文件中会包含有多个数据格式为marker_array的主题,其中,marker_array为ROS的通用消息格式。以marker_array为例,在对marker_array渲染时,需要根据pose/points计算渲染的位置,而bag文件记录的pose/points可能会使用不同的坐标系。因此,在渲染计算的时候,就可以提前将pose/points的坐标系转换到渲染中需要使用的坐标系,比如map坐标系。
以ROS的图像的数据格式为例,由于在图像的数据格式CompressedImage中,图像是以二进制消息的形式进行存储,播放器在对其进行播放前,需要先对其进行渲染,即将二进制消息转换成jpg/png的格式。因此,对于数据格式CompressedImage,可以提前将二进制消息转成jpg/png格式,免去播放器的该渲染过程,从而节省播放的计算花销。
在bag文件完成上述处理后,还需要以一具体的方式存储在存储介质中,以便其他应用对其进行使用。基于此,在本申请的一些实施例中,对bag文件进行处理的过程,还可以包括:
将每个主题下的时间块打包成单个文件。
其中,将每个主题下的时间块打包成单个文件的过程,可以包括:
A1,对每个主题下的时间块进行打包,得到所述主题打包后的数据;
A2,将所述主题打包后的数据存储成JSON格式或者SCHEMA格式的文件。
以JSON格式为例,假如marker_array原始消息内容为:
[{"header":{"seq":0,"frame_id":"base_link"},
"type":0,
"points":[{"x":0.1,"y":0.1,"z":0.1}]}]
根据frame_id,知道points在base_link坐标系。假如前端渲染是在map坐标系,则通过转化参数,算出points在map坐标系的参数,并将其存储成JSON格式,最终得到新的消息为:
[{"header":{"seq":0,"frame_id":"map"},
"type":0,
"points":[{"x":10.1,"y":10.1,"z":0.1}]}]
至此,完成了关于bag文件的处理方法的介绍。接下来,对本申请实施例提供的bag文件的云播放方法进行介绍。本申请实施例提供的bag文件的云播放方法中所用到的bag文件,为经过上述bag文件的处理方法处理过的bag文件。
请参阅图4,本申请实施例提供的bag文件的云播放方法,可以包括如下步骤:
步骤S201,请求待播放的bag文件的元数据。
具体地,向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据。
其中,如前所述,bag文件的概要数据包括bag文件的元数据和时间区间。bag文件的元数据可以是bag文件的metadata数据,metadata数据包含了bag文件的名字、bag文件的大小、bag文件所包含的所有主题(topic)的名称以及该名称的命名空间。各个主题的内容数据可以是bag文件的各个主题下的具体数据。
步骤S202,根据概要数据获取时间区间信息以及各个主题的主题信息。
具体地,从概要数据解析出bag文件的时间区间,以及从元数据解析出各个主题的主题信息。该主题信息可以用于对各个主题的内容数据进行索引;当用户对播放进度进行选取时,该时间区间可以用于定位到具体的时间块。
例如,通过该主题信息,用户可以获取各个主题的名称、时长、数据格式和内容概要中的一种或多种信息,并根据该信息选取自己想要播放的主题;通过该主题信息,播放器可以获取各个主题的名称、时长、数据格式和路径中的一种或多种信息,并根据该信息响服务器请求指定资源,其中,该资源可以是某个主题下的具体数据。数据格式可以反映主题的消息类型和数据结构等信息。
步骤S203,向服务器请求指定目标主题的内容数据。
具体地,响应用户选中待播放的目标主题的操作,根据该时间区间和目标主题的主题信息,向服务器请求该目标主题的内容数据。
由于本地仅存储有待播放的bag文件的概要数据,当确定用户需要播放某一主题时,还需要向服务器请求该主题的内容数据,以便播放器对其进行播放。
进一步地,当用户对某一主题的播放进度进行选取时,还需要根据bag文件的时间区间向服务器请求该主题下对应于该目标时间区间的内容数据,以便播放器对其进行播放。
步骤S204,播放指定目标主题的内容数据。
具体地,根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
bag文件中可以包含多种数据格式的内容数据,例如图片数据、点云数据和格式消息数据等。不同数据格式的内容数据需要用不同的渲染方法对其进行渲染,以便将其正确地播放出来。
根据目标主题的主题信息,可以获知目标主题的数据格式,从而确定与其相对应的渲染方法,进一步对其进行播放。
本申请实施例中,当需要播放bag文件时,获取bag文件的元数据,并从所述元数据解析出各个主题的主题信息。
由用户根据各个主题的主题信息,决定播放哪个主题。当确定需要播放一主题时,向服务器请求所述主题的内容数据,然后将所述主题的内容数据缓存至本地,并根据所述主题的主题信息,对所述主题的内容数据进行播放。
在bag文件的播放中,可以根据具体需要,仅下载指定的主题的内容数据,并对其进行播放。无需下载整个bag文件,从而缩短了下载时间,提升了用户体验。
在本申请的一些实施例中,上述步骤S203响应用户选中待播放的目标主题的操作,根据该时间区间和目标主题的主题信息,向服务器请求该目标主题的内容数据的过程,可以包括:
B1,响应用户选中待播放的目标主题的操作,获取待播放的目标主题以及待播放的进度;
B2,计算所述进度所处的目标时间区间,向服务器请求该目标主题下与该目标时间区间对应的内容数据。
例如,可以获取用户所选中的进度条位置,计算出用户想要播放的时刻。比较该时刻与各个时间区间,得到用户想要播放的内容所处的时间区间,然后向服务器请求用户选中的目标主题下对应于该时间区间的内容数据,亦即该目标主题下相应的时间块。
对bag文件的播放可以采用流媒体播放的形式进行边下边播,也可以将目标主题的内容数据下载到本地后再播放。基于此,在本申请的一些实施例中,在上述步骤S204根据所述目标主题的主题信息,对该目标主题的内容数据进行播放之前,还可以包括:
将该目标主题的内容数据缓存至本地。
用以播放bag文件的播放器可以是独立运行的专有软件,也可以是嵌入于浏览器的播放插件。基于此,在本申请的一些实施例中,上述步骤S204根据该目标主题的主题信息,对该目标主题的内容数据进行播放的过程,可以包括:
C1,根据目标主题的主题信息,获取该目标主题的数据格式;
C2,根据该目标主题的数据格式,选取适配于该目标主题的内容数据的渲染方式;
C3,根据该渲染方式,通过浏览器对该目标主题的内容数据进行播放。
例如,首先根据目标主题的主题信息,获取bag文件的总帧数、主题的数量和各个主题的数据格式。其中,总帧数相当于总的时间区间数。然后将内容数据根据预处理结果划分到不同的帧数据中,然后根据数据格式,确定渲染方式,比如文本类型就使用文本框,图片使用图片框,marker_array就在俯视图进行展示。最后在播放时,就是按照一定频率显示不同帧的数据。
通过浏览器对bag文件进行播放,可以免除安装专门播放软件的困扰,也不需要依赖于特定的操作系统。
下面对本申请实施例提供的bag文件的云播放系统进行描述。请参见图5,本申请实施例提供的bag文件的云播放系统,可以包括播放器11和服务器12。
其中,播放器11用于根据上述任一实施例的bag文件的云播放方法,对bag文件进行播放。
服务器12包括bag文件处理单元121和bag文件服务单元122。
其中,bag文件处理单元121用于对bag文件进行处理,以确定bag文件的元数据及各个主题的内容数据;
bag文件服务单元122与播放器11相配合,用于为播放器11提供bag文件服务。
在本申请的一些实施例中,bag文件处理单元121对bag文件进行处理的过程,可以包括:
根据bag文件的元数据,获取bag文件的时长信息;
根据所述时长信息,按照预设的时间步长,将bag文件的时间轴划分成连续的多个时间区间;
针对bag文件中每个主题的消息,根据所述消息的记录时间,以所述各个时间区间作为边界,将所述消息划分成多个时间块,得到每个主题下的时间块;
其中,所述元数据和bag文件的时间区间构成bag文件的概要数据;每个主题下的时间块构成所述主题的内容数据。
在本申请的一些实施例中,bag文件处理单元121对bag文件进行处理的过程,还可以包括:
根据每个主题的数据格式,对所述主题下的时间块进行渲染计算,得到所述主题下经过渲染计算后的时间块。
在本申请的一些实施例中,bag文件处理单元121对bag文件进行处理的过程,还可以包括:
将每个主题下的时间块打包成单个文件;
所述将每个主题下的时间块打包成单个文件的过程,包括:
对每个主题下的时间块进行打包,得到所述主题打包后的数据;
将所述主题打包后的数据存储成JSON格式或者SCHEMA格式的文件。
下面对本申请实施例提供的bag文件的云播放装置进行描述,下文描述的bag文件的云播放装置与上文描述的bag文件的云播放方法可相互对应参照。
请参见图6,本申请实施例提供的bag文件的云播放装置,可以包括:
概要数据获取单元21,用于向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
概要数据解析单元22,用于从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
内容数据请求单元23,用于响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
内容数据播放单元24,用于将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
在本申请的一些实施例中,主题信息获取单元22响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据的过程,可以包括:
响应用户选中待播放的目标主题的操作,获取待播放的目标主题以及待播放的进度;
计算所述进度所处的目标时间区间,向服务器请求所述目标主题下与所述目标时间区间对应的内容数据。
在本申请的一些实施例中,内容数据播放单元24根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放的过程,可以包括:
根据所述目标主题的主题信息,获取所述目标主题的数据格式;
根据所述目标主题的数据格式,选取适配于所述目标主题的内容数据的渲染方式;
根据所述渲染方式,通过浏览器对所述目标主题的内容数据进行播放。
本申请实施例提供的bag文件的云播放装置可应用于bag文件的云播放设备,如网站服务器等。可选的,图7示出了bag文件的云播放设备的硬件结构框图,参照图7,bag文件的云播放设备的硬件结构可以包括:至少一个处理器31,至少一个通信接口32,至少一个存储器33和至少一个通信总线34。
在本申请实施例中,处理器31、通信接口32、存储器33、通信总线34的数量为至少一个,且处理器31、通信接口32、存储器33通过通信总线34完成相互间的通信;
处理器31可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器32可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器33存储有程序,处理器31可调用存储器33存储的程序,所述程序用于:
向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
综上所述:
经由上述的技术方案可知,本申请实施例预先对bag文件进行处理,将bag文件划分成元数据和各个主题的内容数据。当需要播放bag文件时,获取bag文件的元数据,并从所述元数据解析出各个主题的主题信息。
由用户根据各个主题的主题信息,决定播放哪个主题。当确定需要播放一主题时,向服务器请求下载所述主题的内容数据,然后将所述主题的内容数据缓存至本地,并根据所述主题的主题信息,对所述主题的内容数据进行播放。
在bag文件的播放中,可以根据具体需要,仅下载指定的主题的内容数据,并对其进行播放。无需下载整个bag文件,从而缩短了下载时间,提升了用户体验。
进一步地,本申请实施例可以通过浏览器对bag文件进行播放,不需要安装特定的播放软件,也不依赖于特定的操作系统,操作环境比较友好。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种bag文件的云播放方法,其特征在于,包括:
向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
2.根据权利要求1所述的方法,其特征在于,所述响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据的过程,包括:
响应用户选中待播放的目标主题的操作,获取待播放的目标主题以及待播放的进度;
计算所述进度所处的目标时间区间,向服务器请求所述目标主题下与所述目标时间区间对应的内容数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放的过程,包括:
根据所述目标主题的主题信息,获取所述目标主题的数据格式;
根据所述目标主题的数据格式,选取适配于所述目标主题的内容数据的渲染方式;
根据所述渲染方式,通过浏览器对所述目标主题的内容数据进行播放。
4.根据权利要求1所述的方法,其特征在于,在根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放之前,还包括:
将所述目标主题的内容数据缓存至本地;
从所述概要数据解析出各个主题的主题信息的过程,包括:
从所述概要数据解析出各个主题的标识、路径和/或数据格式。
5.一种bag文件的处理方法,其特征在于,包括:
根据bag文件的元数据,获取bag文件的时长信息;
根据所述时长信息,按照预设的时间步长,将bag文件的时间轴划分成连续的多个时间区间;
针对bag文件中每个主题的消息,根据所述消息的记录时间,以所述各个时间区间作为边界,将所述消息划分成多个时间块,得到每个主题下的时间块;
其中,所述元数据和bag文件的时间区间构成bag文件的概要数据;每个主题下的时间块构成所述主题的内容数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据每个主题的数据格式,对所述主题下的时间块进行渲染计算,得到所述主题下经过渲染计算后的时间块。
7.根据权利要求5所述的方法,其特征在于,还包括:
将每个主题下的时间块打包成单个文件;
所述将每个主题下的时间块打包成单个文件的过程,包括:
对每个主题下的时间块进行打包,得到所述主题打包后的数据;
将所述主题打包后的数据存储成JSON格式或者SCHEMA格式的文件。
8.一种bag文件的云播放系统,其特征在于,包括播放器和服务器;
所述播放器用于根据权利要求1~4中任一项所述的方法,对bag文件进行播放;
所述服务器包括bag文件处理单元和bag文件服务单元;
其中,所述bag文件处理单元用于对bag文件进行处理,以确定bag文件的概要数据及各个主题的内容数据;
所述bag文件服务单元与所述播放器相配合,用于为所述播放器提供bag文件服务。
9.根据权利要求8所述的系统,其特征在于,所述bag文件处理单元对bag文件进行处理的过程,包括:
根据权利要求5~7中任一项所述的方法对bag文件进行处理。
10.一种bag文件的云播放装置,其特征在于,包括:
概要数据获取单元,用于向服务器请求待播放的bag文件的概要数据,所述服务器存储了所述bag文件的概要数据及各个主题的内容数据;
概要数据解析单元,用于从所述概要数据解析出bag文件的时间区间和各个主题的主题信息;
内容数据请求单元,用于响应用户选中待播放的目标主题的操作,根据所述时间区间和目标主题的主题信息,向服务器请求所述目标主题的内容数据;
内容数据播放单元,用于将所述目标主题的内容数据缓存至本地,并根据所述目标主题的主题信息,对所述目标主题的内容数据进行播放。
CN202110882891.8A 2021-08-02 一种bag文件的云播放方法、系统及装置 Active CN113553473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110882891.8A CN113553473B (zh) 2021-08-02 一种bag文件的云播放方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110882891.8A CN113553473B (zh) 2021-08-02 一种bag文件的云播放方法、系统及装置

Publications (2)

Publication Number Publication Date
CN113553473A true CN113553473A (zh) 2021-10-26
CN113553473B CN113553473B (zh) 2024-06-04

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174680A (zh) * 2022-07-05 2022-10-11 广州文远知行科技有限公司 可视化数据播放方法、装置、系统、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887120A (en) * 1995-05-31 1999-03-23 Oracle Corporation Method and apparatus for determining theme for discourse
US20100299199A1 (en) * 2006-12-11 2010-11-25 Min Soo Kang Advertisement providing method and system for moving picture oriented contents which is playing
US20110087603A1 (en) * 2009-10-13 2011-04-14 Google Inc. Cloud based media player and offline media access
CN110139127A (zh) * 2019-05-21 2019-08-16 北京声智科技有限公司 音频文件播放方法、服务器、智能音箱及播放系统
CN110297943A (zh) * 2019-07-05 2019-10-01 联想(北京)有限公司 标签的添加方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887120A (en) * 1995-05-31 1999-03-23 Oracle Corporation Method and apparatus for determining theme for discourse
US20100299199A1 (en) * 2006-12-11 2010-11-25 Min Soo Kang Advertisement providing method and system for moving picture oriented contents which is playing
US20110087603A1 (en) * 2009-10-13 2011-04-14 Google Inc. Cloud based media player and offline media access
CN110139127A (zh) * 2019-05-21 2019-08-16 北京声智科技有限公司 音频文件播放方法、服务器、智能音箱及播放系统
CN110297943A (zh) * 2019-07-05 2019-10-01 联想(北京)有限公司 标签的添加方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SELFDISCIPLINESUN: "Rosbag详细操作", pages 2 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/qiqiqiqi0000/article/details/114767249> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174680A (zh) * 2022-07-05 2022-10-11 广州文远知行科技有限公司 可视化数据播放方法、装置、系统、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110058856B (zh) 页面配置方法及装置
US9773069B2 (en) Pre-fetching of network page content in a browser application
TWI712907B (zh) 一種透過文件獲取對網頁進行區塊鏈存證的方法及裝置
CN105451087A (zh) 弹幕信息的推送方法、终端、历史数据服务器及系统
CN110020339B (zh) 基于无埋点的网页数据采集方法及装置
CN106933887B (zh) 一种数据可视化方法及装置
CN112131504B (zh) 一种网页编辑、展示方法、装置、设备以及存储介质
CN106951270B (zh) 一种代码处理方法、系统及服务器
CN111818123A (zh) 网络前端远程回放方法、装置、设备及存储介质
CN109656797B (zh) 日志数据的关联方法及装置
CN115086752B (zh) 一种针对浏览器页面内容的录制方法、系统及存储介质
CN110377579A (zh) 文件存储方法、装置及服务器
CN110290396B (zh) 一种视频处理的方法、装置、系统、设备和存储介质
CN110134410B (zh) 冷启动用户的个性化信息关联方法、装置及存储介质
CN109710827B (zh) 图片属性管理方法、装置、图片服务端和业务处理端
JP3685721B2 (ja) 広告情報受信プログラムおよび広告情報受信方法
CN113553473B (zh) 一种bag文件的云播放方法、系统及装置
CN111367519B (zh) 页面零件化使用方法、装置、计算设备及计算机存储介质
CN113553473A (zh) 一种bag文件的云播放方法、系统及装置
CN112148202B (zh) 训练样本读取方法及装置
CN103942239A (zh) 信息处理装置和信息处理方法
KR101525519B1 (ko) Html5를 기반으로 하는 오프라인상에서의 웹브라우징 방법
CN111443906B (zh) 一种应用的访问方法和装置
CN111061977A (zh) 网站的更新方法、装置及系统
CN111209028B (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