logo好方法网

一种视频数据处理方法、装置、计算机设备及存储介质


技术摘要:
本申请实施例公开了一种视频数据处理方法、装置、计算机设备及存储介质,该方法包括:响应针对第一播放界面上的可操作控件的触发操作,在第一播放界面上截取目标区域;在获取到与目标对象相匹配的第二视频数据时,将第一播放界面划分为第二播放界面和第三播放界面;在  全部
背景技术:
目前,在多路(例如,两路)视频数据同步播放时,可以使用播放器1和播放器2同时 播放视频数据A和视频数据B。为了实现视频数据A与视频数据B的同步播放,可以通过定时 器轮询的方式定时获取这两个播放器的当前播放位置,并在这两个播放器的当前播放位置 之间的差值达到预设阈值(例如,1s)时,采取以下两种视频数据同步策略。 例如,播放器1播放到10秒时,播放器2由于某些原因(卡顿、掉线等)仅播放到9秒, 即播放器1相较于播放器2之间的差值达到预设阈值。此时,用户终端所采用的一种视频数 据同步策略为:暂停对播放器1的播放,且将播放器2继续播放,直到播放器2播放到10秒时, 用户终端可以恢复播放器1,以实现两路视频数据的同步播放。可选的,用户终端所采用的 另一种视频数据同步策略为:将播放器1正常播放,且在差值范围内将播放器2进行倍数播 放(例如,播放倍数值为1.1倍),直到播放器2与播放器1的播放位置相同(例如,直到这两个 播放器均播放至第20s)时,恢复对播放器2的正常播放,以实现两路视频数据的同步播放。 由此可见,现有技术在通过定时器轮询的方式对多路视频数据进行同步播放时,会存在较 大粒度的差异,以至于在多路视频数据的播放过程中会呈现出多个不同进度的画面,进而 降低了视频数据同步的准确度。 申请内容 本申请实施例提供一种视频数据处理方法、装置、计算机设备及存储介质,可以提 高多路视频数据同步播放的精准度。 本申请实施例一方面提供一种视频数据处理方法,该方法包括: 响应针对第一播放界面上的可操作控件的触发操作,在第一播放界面上截取目标 区域;目标区域中包含目标对象;第一播放界面是基于外部时钟的第一时间戳播放第一视 频数据时所得到的; 在获取到与目标对象相匹配的第二视频数据时,将第一播放界面划分为第二播放 界面和第三播放界面;第二播放界面用于播放第一视频数据;第三播放界面用于播放第二 视频数据; 在第一视频数据的播放时间戳和第二视频数据的播放时间戳中,存在不同于第二 时间戳的播放时间戳时,对不同于第二时间戳的播放时间戳所对应的视频数据进行调整, 以使调整后的视频数据的播放时间戳与第二时间戳保持一致;第二时间戳为外部时钟的时 间戳,且第二时间戳晚于第一时间戳。 本申请实施例一方面提供一种视频数据处理装置,该装置包括: 截取模块,用于响应针对第一播放界面上的可操作控件的触发操作,在第一播放 界面上截取目标区域;目标区域中包含目标对象;第一播放界面是基于外部时钟的第一时 6 CN 111601136 A 说 明 书 2/27 页 间戳播放第一视频数据时所得到的; 划分模块,用于在获取到与目标对象相匹配的第二视频数据时,将第一播放界面 划分为第二播放界面和第三播放界面;第二播放界面用于播放第一视频数据;第三播放界 面用于播放第二视频数据; 调整模块,用于在第一视频数据的播放时间戳和第二视频数据的播放时间戳中, 存在不同于第二时间戳的播放时间戳时,对不同于第二时间戳的播放时间戳所对应的视频 数据进行调整,以使调整后的视频数据的播放时间戳与第二时间戳保持一致;第二时间戳 为外部时钟的时间戳,且第二时间戳晚于第一时间戳。 其中,该调整模块包括: 获取单元,用于获取外部时钟的第二时间戳,将第二时间戳作为用于调整第一视 频数据以及第二视频数据的基准时间戳; 第一确定单元,用于在第一视频数据的播放时间戳和第二视频数据的播放时间戳 中,存在不同于基准时间戳的播放时间戳时,将不同于基准时间戳的播放时间戳作为待同 步时间戳,将待同步时间戳所对应的视频数据作为待处理视频数据;待处理视频数据包含 第一视频数据、第二视频数据中的一种或者多种; 调整单元,用于基于基准时间戳和待同步时间戳,对待处理视频数据中的解码视 频序列以及解码音频序列进行调整,得到调整后的视频数据。 其中,待同步时间戳包含视频播放时间戳和音频播放时间戳; 该调整单元包括: 第一确定子单元,用于确定视频播放时间戳与基准时间戳之间的第一差值,在待 处理视频数据的解码视频序列中获取与第一差值相关联的待同步视频帧; 第二确定子单元,用于确定音频播放时间戳与基准时间戳之间的第二差值,在待 处理视频数据中的解码音频序列中获取与第二差值相关联的待同步音频帧; 调整子单元,用于基于第一差值、第二差值、待同步视频帧和待同步音频帧,对待 处理视频数据中的解码视频序列以及待处理视频数据中的解码音频序列进行调整,得到调 整后的视频数据。 其中,该调整子单元还用于: 将待处理视频数据中的解码视频序列以及待处理视频数据中的解码音频序列作 为待同步多媒体序列,将待同步视频帧和待同步音频帧作为多媒体数据帧,将第一差值与 第二差值作为多媒体数据帧的待同步差值; 若待同步差值为正数,则在多媒体数据帧的等待时长达到待同步差值时,在待同 步多媒体序列中对多媒体数据帧进行渲染处理,得到调整后的视频数据; 若待同步差值为负数,则在待同步多媒体序列中对多媒体数据帧进行丢帧处理, 得到调整后的视频数据。 其中,该划分模块包括: 第二确定单元,用于在获取到与目标对象相匹配的第二视频数据时,将第一播放 界面所属的终端显示界面作为待处理界面,在待处理界面中确定用于播放第一视频数据与 第二视频数据的分界线以及分界线在待处理界面中的分界位置信息; 划分单元,用于基于分界线以及分界位置信息,将待处理界面划分为第二播放界 7 CN 111601136 A 说 明 书 3/27 页 面以及第三播放界面。 其中,该装置还包括: 第一确定模块,用于获取目标对象的目标对象标签,在第二播放界面中确定独立 于第二播放界面的切换子界面;切换子界面为第二播放界面上的界面; 第一输出模块,用于在第二播放界面上播放第一视频数据时,将目标对象标签输 出至切换子界面; 第一同步播放模块,用于在第三播放界面上同步播放第二视频数据。 其中,该装置还包括: 第二输出模块,用于响应针对切换子界面中的推荐按钮的触发操作,关闭第三播 放界面,且确定与目标对象标签相关联的K个封面显示数据,将K个封面显示数据输出至独 立于第二播放界面的对象展示界面;K为正整数; 切换模块,用于响应针对对象展示界面中的目标封面显示数据的触发操作,获取 目标封面显示数据对应的目标视频数据,且将第二播放界面切换为第四播放界面,将目标 视频数据播放在第四播放界面上;目标封面显示数据为K个封面显示数据中的一个封面显 示数据。 其中,该装置还包括: 启动模块,用于响应针对第一视频数据的启动操作,调用用户终端的调度层,基于 调度层启动与第一视频数据相关联的外部时钟、以及与第一视频数据相关联的第一播放 器,且将启动操作对应的时间戳作为外部时钟的第一时间戳; 解码模块,用于通过第一播放器对第一编码视频流进行解码,得到第一视频数据; 第一编码视频流为用户终端从服务器的第一视频地址上所获取得到的视频数据;第一视频 数据包含解码视频序列和解码音频序列; 第二同步播放模块,用于基于第一时间戳在第一播放界面上同步播放第一视频数 据中的解码视频序列和解码音频序列。 其中,该解码模块包括: 接收单元,用于接收服务器存储在第一视频地址中的第一编码视频流;第一编码 视频流为服务器对第一视频数据进行编码处理后所得到的; 分离单元,用于基于第一播放器中的分离器对第一编码视频流进行数据分离,得 到与第一编码视频流相关联的视频包以及音频包; 解码单元,用于基于第一播放器中的视频解码器对视频包进行解码,得到视频包 对应的解码视频序列,基于第一播放器中的音频解码器对音频包进行解码,得到音频包对 应的解码音频序列; 第三确定单元,用于将解码视频序列和解码音频序列,作为第一视频数据。 其中,该截取模块包括: 输出单元,用于获取服务器推送的具有显示时长阈值的可操作控件,将可操作控 件输出至第一播放界面上,在显示时长阈值内显示可操作控件的进度动画; 截取单元,用于在显示时长阈值内,响应针对可操作控件的触发操作,在第一播放 界面上截取目标区域。 其中,目标区域中包含至少一个对象; 8 CN 111601136 A 说 明 书 4/27 页 该装置还包括: 第二确定模块,用于在解码视频序列中,将目标区域所属的视频帧作为待处理视 频帧,基于待处理视频帧对应的目标播放时间戳,在待处理视频帧中确定目标区域的坐标 信息;目标播放时间戳为晚于或者等于第一时间戳的时间戳; 发送模块,用于将目标播放时间戳以及坐标信息发送至服务器,以使服务器在至 少一个对象中确定目标对象时,将目标对象对应的对象标签作为目标对象标签;目标对象 的确定是服务器基于与待处理视频帧相关联的映射关系表所确定的;映射关系表中包含与 待处理视频帧相关联的Z个区域,一个区域对应一个对象,且一个对象对应一个对象标签;Z 为正整数; 第三确定模块,用于确定与目标对象相匹配的第二视频数据;第二视频数据是由 服务器基于目标对象标签所获取到的第二视频地址所确定的。 其中,该第三确定模块包括: 启动单元,用于基于调度层启动与第二视频数据相关联的第二播放器,获取服务 器基于目标对象标签所返回的第二视频地址; 拉取单元,用于通过第二视频地址从服务器上拉取第二编码视频流;第二编码视 频流为服务器对第二视频数据进行编码处理后所得到的;第二视频数据中包含目标对象; 解码单元,用于通过第二播放器对第二编码视频流进行解码,得到第二视频数据。 本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口; 该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存 储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述 一方面中的方法。 本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计 算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例 中上述一方面中的方法。 在本申请实施例中,可以根据外部时钟的第一时间戳在第一播放界面上播放第一 视频数据,当该第一播放界面上存在用于获取目标对象的可操作控件时,可以响应针对第 一播放界面上的可操作控件的触发操作,以在所述第一播放界面上截取到包含目标对象的 目标区域。进一步的,本申请实施例还可以在获取到与该目标对象相匹配的第二视频数据 时,将所述第一播放界面划分为第二播放界面和第三播放界面,以在第二播放界面上播放 第一视频数据,在第三播放界面播放第二视频数据。应当理解,本申请实施例可以使用同一 个外部时钟对当前播放的第一视频数据、第二视频数据中的一个或者多个视频数据的播放 时间戳进行调整,即本申请实施例可以在当前所播放的这些视频数据中,检测到播放时间 戳不同于外部时钟的第二时间戳的视频数据时,可以快速对检测到的播放时间戳不同于外 部时钟的第二时间戳的视频数据进行动态调整,以使调整后的第一视频数据或者调整后的 第二视频数据的播放时间戳可以与外部时钟的第二时间戳保持一致。由此可见,本申请实 施例在使用同一外部时钟的时间戳,去动态校准第一视频数据或者第二视频数据时,无需 让播放进度快的视频数据等待播放进度慢的视频数据,从而可以优化视频同步的粒度。这 样,当在同一终端中播放第一视频数据与第二视频数据时,可以尽可能地确保呈现在不同 播放界面中的视频数据的播放进度是相同的,从而可以提高多路视频数据同步播放的精准 9 CN 111601136 A 说 明 书 5/27 页 度。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1是本申请实施例提供的一种网络架构的结构示意图; 图2是本申请实施例提供的一种进行数据交互的场景示意图; 图3是本申请实施例提供的一种视频数据处理方法的流程示意图; 图4是本申请实施例提供的一种外部时钟与多个播放器之间的关系示意图; 图5是本申请实施例提供的一种通过播放器播放视频数据的基本原理的示意图; 图6是本申请实施例提供的一种对视频包进行解码得到解码视频序列的场景示意 图; 图7是本申请实施例提供的一种可操作控件的进度动画示意图; 图8是本申请实施例提供的一种外部时钟所记录的时间戳的场景示意图; 图9是本申请实施例提供的一种视频数据处理方法的流程示意图; 图10是本申请实施例提供的一种推荐与目标对象相关联的目标视频数据的场景 示意图; 图11是本申请实施例提供的一种视频数据处理装置的结构示意图; 图12是本申请实施例提供的一种视频数据处理装置的结构示意图; 图13是本申请实施例提供的一种计算机设备的示意图。
技术实现要素:
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。 请参见图1,是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网 络架构可以包括服务器10和用户终端集群,该用户终端集群可以包括一个或者多个用户终 端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终 端100b、用户终端100c、…、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户 终端100c、…、用户终端100n可以分别与上述服务器10进行网络连接,以便于每个用户终端 可以通过该网络连接与服务器10进行数据交互。 如图1所示的服务器10可以是独立的物理服务器,也可以是多个物理服务器构成 的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、 网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基 础云计算服务的云服务器。 其中,为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户 10 CN 111601136 A 说 明 书 6/27 页 终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、笔记本电脑、桌上 型电脑、智能电视等具有视频数据处理功能的智能终端。例如,本申请实施例可以将图1所 示的用户终端100a作为目标用户终端,该目标用户终端中可以集成有具备该视频数据处理 功能的目标应用。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目 标应用,当该目标应用运行于各用户终端中时,可以分别与上述图1所示的服务器10之间进 行数据交互。其中,该目标应用可以包含社交客户端、多媒体客户端(例如,视频客户端)、娱 乐客户端(例如,游戏客户端)、教育客户端、直播客户端等具有帧序列(例如,帧动画序列) 加载和播放功能的应用客户端。 可以理解的是,目标用户终端中可以包含多个播放器,具体可以包含播放器1、播 放器2、…、播放器n。多个播放器中的每个播放器均可以使用同一个外部时钟(external  clock)所记录的时间戳,对各自播放的视频数据(这里指的是解码音频序列和解码视频序 列)进行同步处理,进而使得运行在同一终端中的多个播放器之间能够实现同步播放,比 如,可以根据外部时钟在每个播放器对应的播放界面上实现帧级别的视频同步。 比如,目标用户终端(例如,上述用户终端100a)对应的目标用户在访问目标应用 (例如,上述视频客户端)时,目标用户可以针对第一视频数据执行触发操作(即启动操作), 以启动目标应用的第一播放器(例如,播放器1),并在该第一播放器的播放界面(例如,播放 界面1000)上,基于外部时钟的第一时间戳播放该第一视频数据。这里的触发操作可以包含 点击或者长按等接触性操作,也可以包含语音或者手势等非接触性操作,这里将不对其进 行限定。 其中,本申请实施例可以将启动第一视频数据的时间戳称之为外部时钟记录的第 一时间戳,该第一时间戳可以为第一视频数据中的首个视频帧的视频播放时间戳。本申请 实施例可以将用于播放第一视频数据的播放器称之为第一播放器,将用于播放第一视频数 据的播放界面称之为第一播放界面。 其中,应当理解,这里的第一视频数据可以包含该用户终端100a对应的目标用户 从该目标应用(例如,视频客户端1)的默认显示界面中所选择的视频数据,该默认显示界面 可以为该目标用户启动目标应用时所同步启动的首页频道(即第一频道)所对应的视频显 示界面,该目标用户可以将从该首页频道所对应的视频显示界面中选择需要播放的某个视 频数据(例如,视频数据A,该视频数据A可以为电视节目、综艺节目或者教育节目),此时,本 申请实施例可以将在视频显示界面中所选取的该视频数据A统称为第一视频数据,并将用 于播放该视频数据A的播放界面统称为第一播放界面。 可选的,可以理解的是,该目标用户还可以在该首页频道所对应的视频显示界面 的文本搜索区域中输入相应搜索文本信息,以使用户终端100a可以根据该搜索文本信息搜 索自己感兴趣的视频数据,进而可以在该目标应用(例如,视频客户端1)的搜索界面上显示 搜索到的另一视频数据(例如,视频数据B可以为某个综艺节目)。进一步的,目标用户可以 针对该搜索界面上的视频数据B执行触发操作,以启动该目标应用的第一播放器,并在该第 一播放器的播放界面上,基于外部时钟的第一时间戳播放该视频数据B。此时,应当理解,本 申请实施例可以将在搜索界面上所触发的这个视频数据B统称为第一视频数据,并将触发 该视频数据B的时间戳统称为外部时钟的第一时间戳,进而可以基于该外部时钟的第一时 间戳,对该视频数据B的解码音频序列和解码视频序列进行音视频的同步播放。 11 CN 111601136 A 说 明 书 7/27 页 可选的,应当理解,上述目标应用(例如,视频客户端1)中还可以包含不同于第一 频道的第二频道,该第二频道可以用于获取服务器10所推送的视频数据(例如,直播视频数 据等)。基于此,本申请实施例可以在启动该目标应用的同时,同步启动该目标应用中的第 二频道,以在该第二频道所对应的视频播放界面播放服务器10所推送的视频数据,例如,直 播视频数据C。应当理解,本申请实施例可以在启动该目标应用的过程中,直接启动该目标 应用的第一播放器,以在该第一播放器的播放界面上快速播放该直播视频数据C。此时,本 申请实施例可以将获取到的这个直播视频数据C统称为第一视频数据,并基于外部时钟的 第一时间戳在该第一播放器的播放界面(即第一播放界面)上播放该直播视频数据C(第一 视频数据)。 可选的,应当理解,上述视频客户端1中的第二频道还可以为独立于上述视频客户 端1的另一应用客户端(例如,视频客户端2),此时,本申请实施例可以将该视频客户端2统 称为目标用户终端的目标应用。可以理解的是,用户终端100a可以在响应目标用户针对视 频客户端2(即新的目标应用)所执行的触发操作时,在视频客户端2的视频展示界面中直接 播放该服务器10推送的视频数据,例如,视频数据D,该视频数据D可以为服务器10基于目标 用户的历史浏览数据、好友观看数据等业务数据,直接推送给用户终端100a的视频数据;视 频数据10A还可以为服务器10基于统计到的视频数据的浏览量,确定出的具有较高浏览量 的视频数据,在此不做限定。应当理解,本申请实施例在启动视频客户端2时,可以一并启动 视频客户端2对应的第一播放器,进而可以在第一播放器的播放界面上直接播放视频数据 D。此时,本申请实施例可以将获取到的这个视频数据D统称为第一视频数据,并基于外部时 钟的第一时间戳在第一播放界面(即视频客户端2的视频展示界面)上播放视频数据D。 可以理解的是,在第一视频数据(例如,视频数据A)的播放过程中,用户终端的第 一播放界面(例如,播放界面1000)上可以显示具有显示时长阈值(例如,5秒)的可操作控 件。其中,可操作控件可以用于截取包含目标用户所感兴趣对象的区域。进一步地,用户终 端100a可以响应针对播放界面1000上的可操作控件的触发操作,在播放界面1000上截取目 标区域。其中,目标区域可以包含目标对象。进一步地,用户终端100a可以从服务器10中获 取与目标对象相匹配的视频数据(例如,视频数据10A)。其中,本申请实施例可以将与目标 对象相匹配的视频数据称之为第二视频数据,并将播放第二视频数据的播放器(例如,播放 器2)称之为第二播放器。其中,第二视频数据(例如,视频数据10A)中的目标对象可以与第 一视频数据(例如,视频数据A)中的目标对象的拍摄角度不同。 应当理解,用户终端100a可以在获取到视频数据10A时,可以将播放界面1000所在 的终端显示界面划分为两个播放界面,例如,用于通过播放器1播放视频数据A的播放界面 2000以及用于通过播放器2播放视频数据10A的播放界面3000。本申请实施例可以在同一个 终端显示界面中,将用于播放第一视频数据的播放界面(例如,播放界面2000)称之为第二 播放界面,将用于同步播放第二视频数据的播放界面(例如,播放界面3000)称之为第三播 放界面。 进一步地,在视频数据A的播放时间戳和视频数据10A的播放时间戳中,存在不同 于第二时间戳的播放时间戳时,用户终端100a可以对不同于第二时间戳的播放时间戳所对 应的视频数据进行调整,以使调整后的视频数据的播放时间戳与第二时间戳保持一致。其 中,本申请实施例中的第二时间戳是指外部时钟记录的时间戳,且第二时间戳晚于第一时 12 CN 111601136 A 说 明 书 8/27 页 间戳。可以理解的是,调整后的视频数据中可以包含调整后的视频数据A以及调整的视频数 据10A。用户终端100a可以通过播放器1将调整后的视频数据A播放在播放界面2000上,同时 通过播放器2将调整后的视频数据10A同步播放在播放界面3000上。 进一步地,请参见图2,是申请实施例提供的一种进行数据交互的场景示意图。本 申请实施例中的用户终端200可以为上述图1所示的用户终端集群中的任意一个用户终端, 例如,用户终端100a。本申请实施例中的服务器210可以为上述图1所示的服务器10。 其中,本申请实施例中的第一视频数据中可以包含多个对象,具体可以包含对象 a、对象b、对象c。其中,该第一视频数据可以为图2所示的视频数据10A(该视频数据10A可以 为普通机位所拍摄得到的视频数据)。如图2所示的服务器210中可以包含同一个拍摄场景 (例如,场景X)下由多个不同拍摄角度的机位所拍摄得到的多个视频数据,这些视频数据中 具体可以包含图2所示的由普通机位所拍摄得到的视频数据10A、还可以包含由其他特写机 位所拍摄得到的视频数据,例如,由拍摄对象a的特写机位所拍摄得到的视频数据20A、由拍 摄对象b的特写机位所拍摄得到的视频数据20B、由拍摄对象c的特写机位所拍摄得到的视 频数据20C。此外,服务器210还可以包含与这3个对象分别相关联的推荐数据,这里将不对 与每个对象相关联的推荐数据的具体数量进行限定。其中,推荐数据可以通过对图2所示的 切换子界面中的“更多作品”这一推荐按钮执行触发操作后所得到。其中,推荐数据可以为 服务器210中所存储的与对象相关联的历史播放数据或者已存储至服务器210但目标用户 未观看的推荐数据,例如,电视剧、综艺节目、电影、短视频、拍摄花絮等视频数据,以及与对 象相关联的新闻、简介等文本数据等。 如图2所示,在外部时钟的第一时间戳时,用户终端200可以将第一视频数据(例 如,视频数据10A)播放在播放界面1上。其中,可以理解的是,用户终端200对应的目标用户 可以针对目标应用(例如,上述视频客户端1)中的视频数据10A执行启动操作,此时,用户终 端200可以响应该启动操作,启动与视频数据10A相关联的外部时钟以及播放视频数据10A 的播放器(例如,播放器1),以使视频数据10A可以基于外部时钟所记录的第一时间戳进行 同步播放。 其中,目标用户针对视频数据10A所执行的启动操作可以为该目标用户第一次对 该视频数据10A执行启动操作,换言之,目标用户在第一次观看视频数据10A时,可以对视频 数据10A执行启动操作,此时,用户终端200可以响应该启动操作,从而启动外部时钟。可选 的,目标用户针对视频数据10A所执行的启动操作也可以为该目标用户再一次对该视频数 据10A执行启动操作,例如,目标用户在视频数据10A播放某一时长(例如,35分钟)后,曾退 出该视频数据10A的播放界面1,此时,外部时钟将不再继续计时,并将退出播放界面1的时 间戳保存下来。在目标用户再次观看视频数据10A时,可以对视频数据10A执行启动操作,此 时,用户终端200可以响应该启动操作,从而启动外部时钟,以使外部时钟恢复最新退出播 放界面1时所记录的时间戳(例如,35分钟)。 用户终端200的播放界面1可以从服务器210中获取具有显示时长阈值(例如,5秒) 的可操作控件,并在显示时长阈值内,显示可操作控件的进度动画。应当理解,若在可操作 控件的显示时长阈值内,用户终端200未接收到目标用户对可操作控件的触发操作,可以在 第一播放界面中隐藏可操作控件。若在可操作控件的显示时长阈值内,用户终端200接收到 目标用户对可操作控件的触发操作,此时,用户终端200可以响应该触发操作,从而在播放 13 CN 111601136 A 说 明 书 9/27 页 界面1上当前所播放的视频帧中,截取包含目标对象(例如,对象a)的目标区域。 其中,可以理解的是,目标用户在选择目标对象所在的目标区域时,可以调整截取 区域的范围,以便于服务器210可以更准确的选取目标对象,从而使得服务器210可以更快 速的识别目标对象的目标对象标签,从而可以将所获取的与目标对象相关联的视频数据 (例如,视频数据20A)返回给用户终端200。 如图2所示,用户终端200可以向服务器210发送用于获取与目标区域中的目标对 象相匹配的视频数据(即第二视频数据)的业务请求,以使服务器210基于该业务请求确定 第二视频数据(例如,视频数据20A)。应当理解,服务器210可以确定目标区域中的目标对象 (例如,对象a),进而可以识别目标对象的目标对象标签,例如,对象a的姓名、艺名、生日、年 龄等。进一步地,服务器210可以基于对象a的对象标签,获取与对象a相匹配的视频数据(例 如,视频数据20A)。其中,视频数据20A可以为包含对象a,且对象a在视频数据20A中的拍摄 角度不同于视频数据10A。 进一步地,用户终端200在获取到视频数据20A时,可以基于图2所示的分界线,将 播放界面1划分为用于播放视频数据10A的播放界面2以及用于播放视频数据20A的播放界 面3。应当理解,用户终端200可以获取目标对象标签,在播放界面2中确定独立于播放界面2 的切换子界面,进而可以在视频数据10A播放在播放界面2时,将目标对象标签输出至切换 子界面,与此同时,用户终端200还可以将视频数据20A同步播放在播放界面3上。其中,切换 子界面中还可以包含推荐按钮(例如,“更多作品”),以便于后续目标用户针对切换子界面 中的“更多作品”这一推荐按钮执行触发操作时,将播放界面跳转观看与对象a相关联的推 荐数据(例如,视频数据30A)的播放界面。 其中,用户终端在第一视频数据的播放时间戳和第二视频数据的播放时间戳中, 存在不同于第二时间戳的播放时间戳时,对不同于第二时间戳的播放时间戳所对应的视频 数据进行调整的具体实现方式可以参见下述图3-图10所对应的实施例。 进一步地,请参见图3,是本申请实施例提供的一种视频数据处理方法的流程示意 图。如图3所示,该方法可以由用户终端(例如,上述图1所示的用户终端100a)执行,也可以 由服务器(例如,上述图1所示的服务器10)执行,还可以由用户终端和服务器共同执行。为 便于理解,本申请实施例以该方法由用户终端执行为例进行说明,该方法至少可以包括以 下步骤S101-步骤S103: 步骤S101,响应针对第一播放界面上的可操作控件的触发操作,在第一播放界面 上截取目标区域。 应当理解,集成有目标应用(例如,上述视频客户端)的用户终端在执行步骤S101 之前,用户终端可以响应针对第一视频数据的启动操作,启动与第一视频数据相关联的外 部时钟,并可以将启动该第一视频数据的时间戳作为该外部时钟的第一时间戳,进而可以 基于外部时钟的第一时间戳在第一播放界面上同步播放第一视频数据(这里指的是同步播 放第一视频数据的解码音频序列和解码视频序列)。进一步地,可以理解的是,该用户终端 在该第一播放界面上播放第一视频数据的过程中,可以获取具有显示时长阈值的可操作控 件,进而可以将该可操作控件输出至第一播放界面上,并在显示时长阈值内显示可操作控 件的进度动画。进一步地,在显示时长阈值内,目标用户可以针对可操作控件执行触发操 作,从而可以在第一播放界面上截取包含目标对象的目标区域。其中,第一播放界面是基于 14 CN 111601136 A 说 明 书 10/27 页 外部时钟的第一时间戳播放第一视频数据时所得到的。 其中,应当理解,目标用户针对第一视频数据所执行的启动操作,具体可以包含点 击或者长按等接触性操作,也可以包含语音或者手势等非接触性操作,这里将不对其进行 限定。可以理解的是,目标用户在访问目标应用(例如,上述视频客户端)时,服务器可以将 综合筛选出的相应的视频数据作为首页视频数据,并将这些首页视频数据推选给目标用 户,以供目标用户在这些首页视频数据所在的视频显示界面中选择贴合自己兴趣的某个视 频数据作为第一视频数据。 应当理解,用户终端可以在响应该启动操作时,调用用户终端的调度层,基于调度 层可以启动与第一视频数据相关联的外部时钟、以及与第一视频数据相关联的第一播放 器,且可以将启动操作对应的时间戳作为外部时钟的第一时间戳。其中,调度层可以用于管 理和调度外部时钟以及播放器(例如,第一播放器)。 为便于理解,进一步地,请参见图4,是本申请实施例提供的一种外部时钟与多个 播放器之间的关系示意图。如图4所示,本申请实施例中的用户终端可以为集成有目标应用 的用户终端,该用户终端可以为上述图1所对应实施例中的用户终端集群中的任意一个用 户终端,例如,用户终端100a。 其中,可以理解的是,用户终端可以通过图4所示的调度层,管理和调度多个播放 器以及外部时钟,多个播放器具体可以包含播放器1、播放器2、…、播放器N。应当理解,每个 播放器有自己的播放时钟,以至于在多路视频数据的播放过程中,会存在不同程度的播放 差异,鉴于此,本申请实施例可以基于同一外部时钟,使所有播放器都使用该外部时钟的时 间戳进行视频同步,以在用户终端的同一个终端显示界面上,通过多个播放器同步播放具 有相同播放进度的视频数据。其中,视频数据可以包含解码视频序列和解码音频序列。 其中,外部时钟可以是一个与物理时钟保持同一增长节奏的时钟。在实际操作中, 外部时钟可以选取系统时钟或系统开机后所经历的时间,时钟单位可以精确到毫秒级。应 当理解,外部时钟可以提供以下多个接口,以便于用户终端通过调度层管理和调度外部时 钟以及多个播放器中的每一个播放器。例如,启动时钟(start),暂停时钟(pause),继续时 钟(resume),重置时钟(reset),获取时钟(getclockUs)。 应当理解,用户终端可以将目标应用中的终端显示界面划分为多个播放界面,具 体可以包含播放界面1、播放界面2、…、播放界面N。其中,播放界面1可以用于通过播放器1 播放视频数据(例如,视频数据1),播放界面2可以用于通过播放器2播放视频数据(例如,视 频数据2),…,播放界面N可以用于通过播放器N播放视频数据(例如,视频数据N)。其中,视 频数据1、视频数据2、…、视频数据N均可以为同一拍摄场景(例如,明星组合a的演唱会)下 的拍摄角度互不相同的视频数据。例如,视频数据1可以为针对明星组合a的普通机位所拍 摄的视频数据,视频数据2可以为针对明星组合a中的对象a的特写机位所拍摄的视频数 据,…,视频数据N可以为针对明星组合a中的对象n的特写机位所拍摄的视频数据。 其中,在上述包含多个播放界面的终端显示界面中,可以存在用于集中管控终端 显示界面中的多个播放器以及外部时钟的集中管控按钮。可以理解的是,目标用户对集中 管控按钮执行触发操作(即集中管控操作)时,用户终端可以响应该触发操作,从而可以同 时管控终端显示界面中的多个播放界面分别对应的播放器以及外部时钟。可选的,集中管 控操作也可以为目标用户针对终端显示界面进行双击操作,从而可以获取集中管控多个播 15 CN 111601136 A 说 明 书 11/27 页 放器以及外部时钟的集中指令,进而可以基于该集中指令,同时管控多个播放器中的每一 个播放器和外部时钟。其中,集中管控操作还可以为其他形式的触发操作,在此不做限定。 例如,用户终端对应的目标用户可以在上述包含多个播放界面的终端显示界面 中,针对集中管控按钮执行初次播放多个视频数据的触发操作(即启动操作),进而可以使 得用户终端可以响应该启动操作,调用用户终端的调度层,基于调度层同时启动多个播放 器中的每一个播放器和外部时钟。此时,外部时钟所记录的时间戳可以从零开始计时。 可选的,用户终端对应的目标用户可以在上述包含多个播放界面的终端显示界面 中,针对集中管控按钮执行暂停播放多个视频数据的触发操作(即暂停操作),进而可以使 得用户终端可以响应该暂停操作,调用用户终端的调度层,基于调度层同时暂停多个播放 器中的每一个播放器和外部时钟。此时,外部时钟将会保持当前记录的时间戳,不再继续进 行计时。 可选的,用户终端对应的目标用户可以在上述包含多个播放界面的终端显示界面 中,针对集中管控按钮执行继续播放多个视频数据的触发操作(即继续操作),进而可以使 得用户终端可以响应该继续操作,调用用户终端的调度层,基于调度层同时恢复多个播放 器中的每一个播放器和外部时钟。此时,外部时钟将恢复最新一次暂停播放视频数据时所 记录的时间戳,继续进行计时。 可选的,用户终端对应的目标用户可以在上述包含多个播放界面的终端显示界面 中,针对集中管控按钮执行重置播放多个视频数据的触发操作(即重置操作),换言之,目标 用户对已经播放的视频数据进行重新播放(即后退播放),或者目标用户对当前播放的视频 数据不感兴趣,需要快进当前的播放进度(即快进播放)。此时,用户终端可以响应该重置操 作,调用用户终端的调度层,基于调度层重置外部时钟所记录的时间戳(即减小或者增加至 相应的时间戳),进而使得多个播放器可以重新获取外部时钟已重置的时间戳,基于已重置 的时间戳,同步每个播放器对应的视频数据。 此外,在多个视频数据中的每个视频数据同时播放完成时,用户终端可以调用用 户终端的调度层,基于调度层直接停止多个播放器中的每一个播放器以及外部时钟,此时 外部时钟将不再继续进行计时,或者外部时钟所记录的时间戳可以重置为0。 当然,在多个视频数据中的每个视频数据同时播放时,用户终端对应的目标用户 可以针对某个播放器(例如,播放器2)所播放的视频数据(例如,视频数据2)执行触发操作 (即关闭操作),此时,用户终端可以调用用户终端的调度层,基于调度层暂停播放器2,且除 播放器2的其余播放器均可以继续播放。此时,用户终端的终端显示界面上可以关闭播放视 频数据2的播放界面2。 进一步地,用户终端在启动第一播放器和外部时钟后,可以通过第一播放器对第 一编码视频流进行解码,从而可以获取第一视频数据。其中,可以理解的是,用户终端可以 从目标应用对应的服务器的第一视频地址上获取对第一视频数据进行编码的视频数据。其 中,本申请实施例中服务器对第一视频数据进行编码的视频数据称之为第一编码视频流。 第一视频数据可以包含解码视频序列和解码音频序列。此时,用户终端可以基于外部时钟 的第一时间戳,在第一播放界面上同步播放第一视频数据中的解码视频序列和解码音频序 列。 其中,可以理解的是,用户终端可以接收服务器存储在第一视频地址中的第一编 16 CN 111601136 A 说 明 书 12/27 页 码视频流,进而可以基于第一播放器中的分离器,对第一编码视频流进行数据分离,从而可 以得到与第一编码视频流相关联的视频包以及音频包。进一步地,用户终端可以基于第一 播放器中的视频解码器,对视频包进行解码,从而得到视频包对应的解码视频序列,并基于 第一播放器中的音频解码器,对音频包进行解码,从而得到音频包对应的解码音频序列。此 时,用户终端可以将解码视频序列和解码音频序列,作为第一视频数据。 为便于理解,进一步地,请参见图5,是本申请实施例提供的一种通过播放器播放 视频数据的基本原理的示意图。如图5所示,本申请实施例中的编码视频流100可以为服务 器对视频数据5A进行编码处理后所得到的,该编码视频流100是由用户终端通过服务器所 返回的视频地址中所获取的。其中,用户终端可以为集成有目标应用的用户终端(如图1所 示的用户终端100a),服务器可以为目标应用对应的服务器(如图1所示的服务器10)。 可以理解的是,视频数据5A在网络上传播时,常常需要采用各种流媒体协议(即编 码视频流100),例如,HTTP,RTMP或者MMS等。这些协议在传输视频数据5A的同时,也会传输 一些信令数据。具体可以包括对播放的控制(例如,播放、暂停、停止等)、对网络状态的描述 等。用户终端的播放器对编码视频流100进行数据分离的过程可以包括解协议、解封装。 其中,解协议的过程中可以去除掉信令数据而只保留音视频数据。例如,采用RTMP 协议传输的数据,经过解协议操作后,输出FLV格式的数据。其中,解封装的过程中可以基于 播放器的分离器,将输入的封装格式的数据,分离成为视频流压缩编码数据(即视频包10) 和音频流压缩编码数据(即音频包20)。可以理解的是,封装格式种类很多,例如MP4,MKV, RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的 格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC 编码的音频码流。 进一步地,用户终端可以通过播放器中的视频解码器,对视频包10进行解码,从而 得到解码视频序列。换言之,视频解码器可以将压缩编码的视频数据输出成为非压缩的颜 色数据,例如,YUV420P,RGB等等。此外,用户终端可以通过播放器中的音频解码器,对音频 包20进行解码,从而得到解码音频序列。换言之,音频解码器可以将压缩编码的音频数据输 出成为非压缩的音频抽样数据,例如,PCM数据。此时,用户终端可以将解码视频序列和解码 音频序列作为第一视频数据(如图5所示的视频数据5A)。 为便于理解,进一步地,请参见图6,是本申请实施例提供的一种对视频包进行解 码得到解码视频序列的场景示意图。本申请实施例中的视频数据(例如,图5所示的视频数 据5A)在采集时可以拆分为多个帧组(例如,2个),如图6所示,采集视频序列100中具体可以 包含帧组1和帧组2。其中,帧组1中可以包含I[0]帧、B[1]帧、B[2]帧、P[3]帧、B[4]帧、B[5] 帧、P[6]帧、B[7]帧以及B[8]帧。帧组2中可以包含I[0]帧、B[1]帧、B[2]帧以及P[3]帧。 其中,一个帧组是指一组由1个I帧和多个B/P帧组成的图像序列,是视频编码器和 视频解码器存取的基本单位。可以理解的是,I帧(Intra-coded  picture,帧内编码帧,常称 为关键帧)包含一幅完整的图像信息,属于帧内编码图像,不含运动矢量,在解码时不需要 参考其他帧图像。因此,在I帧图像处可以切换频道,而不会导致图像丢失或无法解码。P帧 (Predictive-coded  picture,预测编码视频帧)是帧间编码帧,视频编码器在编码时可以 利用之前的I帧或P帧进行预测编码。B帧(Bi-directionally  predicted  picture,双向预 测编码视频帧)是帧间编码帧,利用之前和(或)之后的I帧或P帧进行双向预测编码。B帧不 17 CN 111601136 A 说 明 书 13/27 页 可以作为参考帧。 如图6所示,采集视频数据所得到的采集视频序列100中视频帧的顺序可以称之为 采集顺序。在存储或者传输视频数据5A时,可以通过视频编码器对采集视频序列100进行编 码,即可以基于采集视频序列100中的帧组(例如,帧组1和帧组2),对采集视频序列100进行 编码,从而可以得到编码视频序列200,并将编码视频序列200中视频帧的顺序可以称之为 编码顺序。进一步地,在播放视频数据5A的过程中,需要通过视频解码器对所拉取的编码视 频序列200进行解码,从而得到解码视频序列300,进而可以将解码视频序列300在用户终端 的播放界面显示。其中,解码视频序列300中的视频帧在用户终端的播放界面显示的顺序称 之为显示顺序。其中,采集顺序可以与显示顺序相同。 应当理解,视频解码器在对编码视频序列200进行解码时,视频解码器中需要缓存 一定数量的视频帧。可以理解的是,一个新的解码动作启动后,视频解码器之所以需要获取 多个帧组(例如,帧组1和帧组2),才会解码出一个帧组,是因为解码时视频帧之间有信赖关 系。例如,视频解码器在获取到I帧、P帧、B帧这三个帧时,视频解码器需要先对I帧和P帧进 行解码,进而可以对B帧解码。 如图6所示,在一个帧组(例如,帧组1)内,编码视频序列200中的B[1]帧依赖于I [0]帧和P[3]帧,在视频解码器对帧组1中的B[1]帧进行解码时,需要先对P[3]帧进行解码, 进而才可以基于I[0]帧和P[3]帧对B[1]帧进行解码。此外,由于编码视频序列200中的帧组 1的B[7]帧需要依赖于帧组1的下一个帧组(例如,帧组2)中的I[0]帧,所以,视频解码器在 对帧组1中的B[7]帧进行解码时,需要先对帧组2中的I[0]帧进行解码,进而才可以基于帧 组2中的I[0]帧以及帧组1中的P[6]帧进行解码。这就导致了解码顺序和显示顺序的不一 致。 进一步地,用户终端在播放第一视频数据的过程中,可以周期性地获取可操作控 件,例如,用户终端可以每隔十分钟获取一次可操作控件,即在第一视频数据的播放时间戳 为第10分钟、第20分钟、第30分钟等时间戳时,用户终端可以获取可操作控件。可以理解的 是,可操作控件还可以由服务器周期性的推送给用户终端。 可选的,用户终端可以基于第一视频数据的关键视频帧获取可操作控件。例如,在 第一视频数据播放到关键视频帧(例如,第1帧、第27帧、第38帧、第52帧等)时,用户终端可 以获取可操作控件。其中,第一视频数据的关键视频帧的确定方法,在本申请实施例中不做 详细阐述。可以理解的是,可操作控件还可以由服务器基于第一视频数据的关键视频帧推 送至用户终端。应当理解,用户终端可以在可操作控件的显示时长阈值内,显示可操作控件 的进度动画。 为便于理解,进一步地,请参见图7,是本申请实施例提供的一种可操作控件的进 度动画示意图。如图7所示,本申请实施例中的用户终端可以为上述图1所示的用户终端集 群中的任意一个用户终端,例如,用户终端100a。 其中,用户终端的播放界面(即第一播放界面)中可以播放视频数据(即第一视频 数据)。可以理解的是,在第一视频数据的播放过程中,用户终端可以获取具有显示时长阈 值的可操作控件(如图7所示的“圈住对象”)。应当理解,用户终端可以将获取到的具有显示 时长阈值(例如,5秒)的可操作控件,输出至第一视频数据的第一播放界面,此时,本申请实 施例可以将用户终端在第一播放界面上输出可操作控件的时刻称之为H1时刻。其中,H1时 18 CN 111601136 A 说 明 书 14/27 页 刻所显示的可操作控件的进度动画可以如图7中的可操作控件700a所示。 应该理解,可操作控件的进度动画可以随着可操作控件在第一播放界面上的显示 时长进行动态变化。例如,在H2时刻,可操作进度动画可以如图7中的可操作控件700b所示。 其中,H2时刻可以为可操作控件在显示时长阈值内的某一时刻。 其中,H3时刻可以为可操作控件的显示时长阈值对应的时刻,在可操作控件的进 度动画如图7中的可操作控件700c所示时,可操作控件将会消失在第一播放界面上,直到下 一次获取可操作控件时,可操作控件将会再一次重复如图7所示的进度动画。其中,由H1时 刻至H3时刻所构成的时长可以称之为可操作控件在第一播放界面上的显示时长(例如,5 秒)。例如,若当前达到该显示时长的H3时刻(即第5秒),则表明该可操作控件在第一播放界 面上的显示时长已经达到5秒,进而可以在该第一播放界面上隐藏该可操作控件,以至于对 于目标用户而言,可以看到该可操作控件消失在第一播放界面中。 为便于阐述,本申请实施例可以以图7所示的H2时刻为例,用于阐述目标用户在显 示时长阈值内对可操作控件执行触发操作的时刻。此时,用户终端可以响应针对可操作控 件的触发操作,在第一播放界面上截取目标区域。其中,可以理解的是,目标用户在选择目 标对象所在的目标区域时,可以调整截取区域的范围,以便于服务器后续可以更准确的确 定目标对象,从而使得服务器可以更快速的识别目标对象的对象标签,以及与对象标签相 关联的视频数据。其中,目标区域中可以包含至少一个对象。 步骤S102,在获取到与目标对象相匹配的第二视频数据时,将第一播放界面划分 为第二播放界面和第三播放界面。 具体地,用户终端在获取到与目标对象相匹配的第二视频数据时,可以将第一播 放界面所属的终端显示界面作为待处理界面,在待处理界面中确定用于播放第一视频数据 与第二视频数据的分界线(如图2所示的分界线)以及分界线在待处理界面中的分界位置信 息。进一步地,用户终端可以基于分界线以及分界位置信息,将待处理界面划分为第二播放 界面以及第三播放界面。其中,第二播放界面可以用于播放第一视频数据;第三播放界面可 以用于播放第二视频数据。 应当理解,用户终端在第一播放界面上截取目标区域后,可以获取与目标区域中 的目标对象相关联的视频数据(即第二视频数据)。例如,用户终端获取该第二视频数据的 方式可以为:用户终端向服务器发送用于确定第二视频数据的业务请求,从而使得服务器 可以基于该业务请求,确定与目标对象相匹配的第二视频数据。其中,服务器识别目标对象 的方式可以通过多种方式,在此不做限定。例如,服务器可以通过图像识别的方法,识别目 标区域中目标对象。可以理解的是,用户终端可以将目标用户所截取的目标区域直接发送 至服务器,此时,服务器可以将目标区域输入至具有图像识别功能的图像识别模型中,从而 可以将图像识别模型输出的识别结果确定为目标区域中的目标对象。 可选的,服务器还可以通过目标区域所属视频帧(待处理处理帧)对应的目标播放 时间戳以及目标区域的坐标信息,识别目标区域中目标对象。其中,可以理解的是,在第一 视频数据的解码视频序列中,用户终端可以将目标区域所属视频帧作为待处理视频帧。其 中,本申请实施例可以将待处理视频帧的播放时间戳称之为目标播放时间戳。目标播放时 间戳为晚于或者等于第一时间戳的时间戳。进一步地,用户终端可以基于待处理视频帧对 应的目标播放时间戳,在待处理视频帧中确定目标区域的坐标信息。用户终端可以将目标 19 CN 111601136 A 说 明 书 15/27 页 播放时间戳与坐标信息一并发送至服务器,以使服务器可以在目标区域中所包含的至少一 个对象中确定目标对象。其中,目标播放时间戳可以用于由服务器确定待处理视频帧对应 的映射关系表。 其中,本申请实施例中的第一映射关系表和第二映射关系表均可以统称为映射关 系表。可以理解的是,第一映射关系表可以包含与待处理视频帧相关联的Z个区域,一个区 域对应一个对象,且一个对象对应一个对象标签。其中,Z为正整数。第二映射关系表中可以 包含对象标签,且每个对象标签可以对应一个与对象相匹配的视频数据的视频地址。 为便于理解,进一步地,请参见表1,是本申请实施例提供的一种第一映射关系表。 其中,服务器可以基于第一视频数据中编码视频序列的视频帧Mi中的对象(例如,人物、动 物等)对视频帧Mi进行区域划分,进而可以基于所划分的区域、区域中所包含的对象以及对 象对应的对象标签建立如表1所示的映射关系表。其中,i可以小于或者等于编码视频序列 中视频帧的总数目,对象标签可以包含对象的基本信息,例如,对象的姓名、年龄、职业、生 日、粉丝数目等。 表1 视频帧Mi所划分的区域 对象 对象标签 A区域 对象a 对象标签1 B区域 对象b 对象标签2 C区域 对象c 对象标签3 D区域 对象d 对象标签4 如表1所示,本申请实施例中与视频帧Mi(例如,视频帧M36)相关联的区域可以以4 个为例,具体可以包含A区域、B区域、C区域以及D区域。其中,A区域中可以包含对象a,对象a 对应的对象标签可以为对象标签1;B区域中可以包含对象B,对象b对应的对象标签可以为 对象标签2;C区域中可以包含对象c,对象c对应的对象标签可以为对象标签3;D区域可以包 含区域d,对象d对应的对象标签可以为对象标签4。 可以理解的是,服务器可以基于目标播放时间戳,确定待处理视频帧为视频帧M36, 进而可以获取视频帧M36对应的第一映射关系表(如上述表1)。其中,目标区域中可以包含至 少一个对象。 应当理解,若目标区域中包含1个对象(例如,对象a),服务器可以基于用户终端发 送的坐标信息,直接确定目标区域为A区域。此时,基于上述表1,服务器可以将A区域中的对 象a作为目标对象。 可选的,若目标区域中包含多个对象(例如,2个,即对象a和对象b),服务器可以基 于用户终端发送的坐标信息,确定该目标区域在视频帧M36所划分的区域所在面积比重。例 如,若目标用户所截取的目标区域可以包含上述表1所示的两个区域(例如,A区域和B区 域),此时,服务器可以确定在目标区域中A区域所占的面积比重为比重1(例如,40%),在目 标区域中B区域所占的面积比重为比重2(例如,60%),则可以理解为目标用户所感兴趣的 目标对象是B区域中所包含的对象,即对象b。此时,服务器可以基于上述表1,将对象b作为 目标对象。 进一步地,服务器可以将所确定的目标对象对应的对象标签作为目标对象标签, 在第二映射关系表中,基于目标对象标签确定与目标对象相匹配的视频数据(即第二视频 20 CN 111601136 A 说 明 书 16/27 页 数据)相关联的视频地址(即第二视频地址),进而将第二视频地址返回给用户终端,以使用 户终端确定与目标对象相匹配的第二视频数据。 为便于理解,进一步地,请参见表2,是本申请实施例提供的一种第二映射关系表。 其中,第二映射关系表可以由服务器基于第一视频数据中的对象标签以及视频地址所建立 的映射关系表。其中,视频地址可以为与对象相匹配的视频数据相关联的视频地址。 表2 对象标签 与对象相匹配的视频地址 对象标签1 视频地址1 对象标签2 视频地址2 对象标签3 视频地址3 应当理解,与第一视频数据为同一拍摄场景且拍摄角度不同的视频数据可以有多 个,具体可以包含视频数据A、视频数据B、视频数据C。如表2所示,视频地址1所存储的编码 视频流可以为服务器对视频数据A进行编码处理后所得到的,视频地址2所存储的编码视频 流可以为服务器对视频数据B进行编码处理后所得到的,视频地址3所存储的编码视频流可 以为服务器对视频数据C进行编码处理后所得到的。其中,视频数据A可以为针对对象a所直 拍的视频数据,视频数据B可以为针对对象b所直拍的视频数据,视频数据C可以为针对对象 c所直拍的视频数据。 例如,若服务器根据上述表1,在目标区域中所确定的目标对象为对象a,目标对象 标签为对象a对应的对象标签1,则服务器可以基于对象标签1,在上述表2中查询到与对象a 相匹配的视频地址(第二视频地址,即视频地址1),并将视频地址1发送给用户终端。 可选的,若服务器根据上述表1,在目标区域中所确定的目标对象为对象d,目标对 象标签为对象d对应的对象标签4,则服务器可以基于对象标签4,在上述表2中查询与对象d 相匹配的视频数据。如表2所示,该第二映射关系表中不存在与对象标签4对应的视频数据 的视频地址。换言之,服务器无法获取到与对象d相匹配的视频数据,则可以理解为用户终 端无法响应目标用户的针对可操作控件的触发操作,进而使得第一播放界面中将不会有所 显示。 应当理解,用户终端在获取到与第二视频数据相关联的第二视频地址(如表2所示 视频地址1)时,可以基于调度层,在多个播放器中任选一个除第一播放器之外的播放器(即 第二播放器)进行启动。进一步地,用户终端的第二播放器可以通过第二视频地址从服务器 上拉取第二编码视频流。其中,第二编码视频流可以为服务器对第二视频数据进行编码处 理后所得到的。进一步地,用户终端可以通过第二播放器,对第二编码视频流进行解码,从 而得到第二视频数据(例如,视频数据A)。 其中,用户终端通过第二播放器,从视频地址1所存储的编码视频流中获取与对象 a相匹配的视频数据A的具体实现过程,可以参见上述图5中的用户终端从编码视频流100所 对应的视频地址中获取视频数据5A的过程,这里将不再继续进行赘述。 进一步地,在获取到与对象a相匹配的视频数据A(即第二视频数据)时,用户终端 可以将第一播放界面所属的终端显示界面作为待处理界面,在待处理界面中确定用于播放 第一视频数据与第二视频数据的分界线以及分界线在待处理界面中的分界位置信息,进而 可以基于分界线以及分界位置信息,将待处理界面划分为第二播放界面以及第三播放界 21 CN 111601136 A 说 明 书 17/27 页 面。 应当理解,目标用户还可以在划分第二播放界面与第三播放界面的终端显示界面 上,针对分界线执行用于改变分界线的分界位置信息的触发操作,进而在终端显示界面中 拖动分界线,并基于拖动的分界线以及新的分界位置信息,调整第二播放界面与第三播放 界面在终端显示界面的播放界面显示范围。进一步地,用户终端可以基于拖动后的分界线 的分界位置信息,更新第二播放界面以及第三播放界面。 步骤S103,在第一视频数据的播放时间戳和第二视频数据的播放时间戳中,存在 不同于第二时间戳的播放时间戳时,对不同于第二时间戳的播放时间戳所对应的视频数据 进行调整,以使调整后的视频数据的播放时间戳与第二时间戳保持一致。 具体地,用户终端可以获取外部时钟的第二时间戳,并将所获取的第二时间戳可 以作为用于调整第一视频数据以及第二视频数据的基准时间戳。其中,第二时间戳可以为 用户终端当前所获取的外部时钟所记录的时间戳,且第二时间戳晚于第一时间戳。在第一 视频数据的播放时间戳和第二视频数据的播放时间戳中,存在不同于基准时间戳的播放时 间戳时,用户终端可以将不同于基准时间戳的播放时间戳作为待同步时间戳,可以将待同 步时间戳所对应的视频数据作为待处理视频数据。其中,待处理视频数据中可以包含第一 视频数据、第二视频数据中的一种或者多种。进一步地,用户终端可以基于基准时间戳和待 同步时间戳,对待处理视频数据中的解码视频序列以及解码音频序列进行调整,得到调整 后的视频数据。 应当理解,用户终端可以获取目标对象的目标对象标签,进而可以在第二播放界 面中确定独立于第二播放界面的切换子界面(如图2所示的切换子界面)。其中,切换子界面 可以为第二播放界面上的界面,切换子界面中可以包含推荐按钮以及直拍按钮。进一步地, 用户终端可以在第二播放界面上播放第一视频数据时,将目标对象标签输出至切换子界 面,与此同时,用户终端可以在第三播放界面上同步播放第二视频数据。 可以理解的是,用户终端的播放器(第一播放器、第二播放器)可以通过回调的形 式,调用外部时钟的获取时钟函数(例如,getclockUs函数),进而可以获取外部时钟所记录 的第二时间戳,进而可以将第二时间戳作为用于调整第一视频数据以及第二视频数据的基 准时间戳。此时,用户终端可以将第一视频数据的播放时间戳、第二视频数据的播放时间戳 分别与基准时间戳进行比较,在第一视频数据的播放时间戳和第二视频数据的播放时间戳 中,存在与基准时间戳相同的播放时间戳时,用户终端可以直接将与基准时间戳相同的播 放时间戳对应的视频数据输出至用户终端的终端显示界面上,即第一视频数据直接输出至 第二播放界面,第二视频数据直接输出至第三播放界面。 在第一视频数据的播放时间戳和第二视频数据的播放时间戳中,存在不同于基准 时间戳的播放时间戳时,用户终端可以将不同于基准时间戳的播放时间戳作为待同步时间 戳,可以将待同步时间戳所对应的视频数据作为待处理视频数据。其中,待同步时间戳可以 包含视频播放时间戳和音频播放时间戳。 其中,用户终端在对待处理视频数据中的解码视频序列进行调整时,可以确定视 频播放时间戳与基准时间戳之间的差值(即第一差值),在待处理视频数据中的解码视频序 列中获取与第一差值相关联的待同步视频帧。 具体地,视频播放时间戳与基准时间戳之间的差值(VideoDeltaUs)计算公式可以 22 CN 111601136 A 说 明 书 18/27 页 如下述公式(1)所示: VideoDeltaUs=VideoClockUs-BaseClockUs,             (1) 其中,VideoClockUs可以为视频播放时间戳,BaseClockUs可以为所获取的外部时 钟的第二时间戳(基准时间戳)。 其中,用户终端在对待处理视频数据中的解码音频序列进行调整时,可以确定音 频播放时间戳与基准时间戳之间的差值(即第二差值),在待处理视频数据中的解码音频序 列中获取与第二差值相关联的待同步音频帧。 具体地,音频播放时间戳与基准时间戳之间的差值(AudioDeltaUs)计算公式可以 如下述公式(2)所示: AudioDeltaUs=AudioClockUs-BaseClockUs,             (2) 其中,AudioClockUs可以为音频播放时间戳,BaseClockUs可以为所获取的外部时 钟的第二时间戳(基准时间戳)。 进一步地,用户终端可以基于第一差值、第二差值、待同步视频帧和待同步音频 帧,对待处理视频数据中的解码视频序列以及待处理视频数据中的解码音频序列进行调 整,从而可以得到调整后的视频数据。其中,用户终端可以将待处理视频数据中的解码视频 序列以及待处理视频数据中的解码音频序列作为待同步多媒体序列,将待同步视频帧和待 同步音频帧作为多媒体数据帧,将第一差值与第二差值作为多媒体数据帧的待同步差值。 若待同步差值为正数,则用户终端可以在多媒体数据帧的等待时长达到待同步差 值时,在待同步多媒体序列中,对多媒体数据帧进行渲染处理,从而可以得到调整后的视频 数据。若多媒体数据帧为视频帧时,用户终端可以基于播放器的视频渲染器输出至用户终 端的播放界面中。若多媒体数据帧为音频帧时,用户终端可以基于播放器的音频渲染器输 出至用户终端的音频输出设备上,例如,功放、耳机、音箱等设备。 若待同步差值为负数,则用户终端可以在待同步多媒体序列中,对多媒体数据帧 进行丢帧处理,得到调整后的视频数据。 比如,在外部时钟的第二时间戳(基准时间戳)为第16秒时,用户终端所确定的待 同步时间戳为视频播放时间戳(例如,第19秒)。此时,用户终端可以确定第一差值为3秒(即 正数),在待处理视频数据的解码视频序列中获取待同步视频帧,即播放时间戳为第19秒对 应的视频帧(例如,视频帧M15)。进一步地,用户终端可以在视频帧M15等待时长达到3秒时, 在通过视频渲染器对视频帧M15进行渲染处理,从而得到调整后的视频数据。 比如,在外部时钟的第二时间戳(基准时间戳)为第16秒时,用户终端所确定的待 同步时间戳为视频播放时间戳(例如,第13秒)。此时,用户终端可以确定第一差值为-3秒 (即负数),在待处理视频数据的解码视频序列中获取待同步视频帧,即视频播放时间戳为 第13秒至视频播放时间戳为第16秒之间的视频帧(例如,视频帧M7、视频帧M8、视频帧M9以及 视频帧M10)。进一步地,用户终端可以在解码视频序列中对上述4帧视频帧进行丢帧处理,从 而可以得到调整的视频数据。 进一步地,请参见图8,是本申请实施例提供的一种外部时钟所记录的时间戳的场 景示意图。如图8所示的T1时间戳可以为外部时钟所记录的在用户终端的第一播放界面上 播放第一视频数据(例如,视频数据A)时的时间戳(即第一时间戳)。该T1时间戳可以为上述 第一时间戳。如图8所示的T2时间戳可以为外部时钟所记录的在第一播放界面显示可操作 23 CN 111601136 A 说 明 书 19/27 页 控件(例如,“圈住对象”)时的时间戳。如图8所示的T3时间戳可以为外部时钟所记录的目标 用户截取目标区域所属视频帧的时间戳(即目标播放时间戳)。应当理解,这里的T2时间戳 与T3时间戳之间的时间间隔可以很短,即不超过可操作控件的显示时长阈值。如图8所示的 T4时间戳可以为外部时钟所记录的在同一终端显示界面中,同步播放第一视频数据以及第 二视频数据(例如,视频数据B)的时间戳。 应当理解,在目标用户执行对视频数据A的启动操作时,外部时钟所记录的时间戳 可以从零开始计时,即在T1时间戳为第0秒时,用户终端可以在第一播放界面中播放视频数 据A。 进一步地,在视频数据A播放一段时间(例如,20分钟)后,用户终端可以获取服务 器所推送的可操作控件。换言之,在T2时间戳为第20分钟时,用户终端的第一播放界面可以 显示具有显示时长阈值(例如,5秒)的可操作控件。 此时,目标用户可以在可操作控件显示时长阈值范围内(如图7所示的H2时刻,例 如,可操作控件显示第3秒时),对可操作控件执行触发操作,从而可以截取包含目标对象的 目标区域。换言之,在T3时间戳为第20分钟03秒时,目标用户可以在第一播放界面所播放的 当前视频帧中截取目标区域。 进一步地,服务器可以基于用户终端发送的目标区域的T3时间戳、以及目标区域 的坐标信息,识别目标区域中目标对象以及目标对象标签,进而可以确定与目标对象相匹 配的视频数据(例如,图8所示的视频数据B)的视频地址。此时,用户终端可以获取目标对象 标签以及视频数据B,将第一播放界面所属终端显示界面(即待处理界面)划分为第二播放 界面以及第三播放界面,进而可以在T4时间戳(例如,第20分钟05秒)时,在第二播放界面上 播放视频数据A且在切换子界面上输出目标对象标签,同时在第三播放界面上播放视频数 据B。换言之,在T4时间戳为第20分钟05秒时,用户终端的终端显示界面上可以同步播放视 频数据A和视频数据B。其中,T4时间戳与T3时间戳的时间间隔可以取决于服务器获取第二 视频数据的视频地址的效率以及用户终端的播放器解析视频地址中的编码视频流的效率。 可选的,应当理解,本申请实施例还可以在图8所示的同一终端显示界面上同步播 放多个视频数据。比如,如图8所示,该用户终端在第二播放界面上继续播放视频数据A的过 程中,可以将该第二播放界面作为新的第一播放界面,以便于在该新的第一播放界面所属 的终端显示界面上输出新的可操作控件,进而可以基于该新的可操作控件在该新的第一播 放界面上截取包含另一目标对象(也可以称之为新的目标对象,例如,对象b)的区域。应当 理解,本申请实施例可以将在该新的第一播放界面上所截取到的包含对象b的区域作为新 的目标区域,以便于后续可以获取与该对象b相匹配的另一第二视频数据(例如,视频数据 C)。此时,用户终端可以将该新的第一播放界面继续进行划分,进而可以实现在同一终端显 示界面,使用同一外部时钟同步播放上述视频数据A、视频数据B以及视频数据C。其中,该用 户终端获取并输出视频数据C的具体实现方式可以参照上述对视频数据B的描述,这里将不 再继续进行赘述。 在本申请实施例中,可以根据外部时钟的第一时间戳在第一播放界面上播放第一 视频数据,当该第一播放界面上存在用于获取目标对象的可操作控件时,可以响应针对第 一播放界面上的可操作控件的触发操作,以在所述第一播放界面上截取到包含目标对象的 目标区域。进一步的,本申请实施例还可以在获取到与该目标对象相匹配的第二视频数据 24 CN 111601136 A 说 明 书 20/27 页 时,将所述第一播放界面划分为第二播放界面和第三播放界面,以在第二播放界面上播放 第一视频数据,在第三播放界面播放第二视频数据。应当理解,本申请实施例可以使用同一 个外部时钟对当前播放的第一视频数据、第二视频数据中的一个或者多个视频数据的播放 时间戳进行调整,即本申请实施例可以在当前所播放的这些视频数据中,检测到播放时间 戳不同于外部时钟的第二时间戳的视频数据时,可以快速对检测到的播放时间戳不同于外 部时钟的第二时间戳的视频数据进行动态调整,以使调整后的第一视频数据或者调整后的 第二视频数据的播放时间戳可以与外部时钟的第二时间戳保持一致。由此可见,本申请实 施例在使用同一外部时钟的时间戳,去动态校准第一视频数据或者第二视频数据时,无需 让播放进度快的视频数据等待播放进度慢的视频数据,从而可以优化视频同步的粒度。这 样,当在同一终端中播放第一视频数据与第二视频数据时,可以尽可能地确保呈现在不同 播放界面中的视频数据的播放进度是相同的,从而可以提高多路视频数据同步播放的精准 度。 进一步地,请参见图9,是本申请实施例提供的一种视频数据处理方法的流程示意 图。如图9所示,该方法由用户终端(例如,上述图1所示的用户终端100a)执行,也可以由服 务器(例如,上述图1所示的服务器10)执行,还可以由用户终端和服务器共同执行。为便于 理解,本申请实施例以该方法由用户终端执行为例进行说明,该方法至少可以包括以下步 骤S201-步骤S205: 步骤S201响应针对第一播放界面上的可操作控件的触发操作,在第一播放界面上 截取目标区域。 步骤S202,在获取到与目标对象相匹配的第二视频数据时,将第一播放界面划分 为第二播放界面和第三播放界面。 步骤S203,在第一视频数据的播放时间戳和第二视频数据的播放时间戳中,存在 不同于第二时间戳的播放时间戳时,对不同于第二时间戳的播放时间戳所对应的视频数据 进行调整,以使调整后的视频数据的播放时间戳与第二时间戳保持一致。 其中,该步骤S201-步骤S203的
分享到:
收藏