
技术摘要:
本发明公开了一种远端视频回放方法、装置、设备及介质,用以解决现有进行远端视频回放顺序切换时,用户等待时间长,造成用户体验差的问题。本发明提供了一种视频录像回放的方法、装置、设备及介质,该方法中当接收到第一播放指令后,根据缓存区中的每个录像视频帧及当 全部
背景技术:
目前的物联网领域的远端视频回放主要有回放公网云端录像以及回放物联网设 备终端录像。无论回放哪台远端监控设备的视频,在进行远端视频回放时,其都要经过外网 网络,通过公知的应用协议进行视频的下载及播放。在经过外网网络时,每次接收到回放指 令后,开始请求视频数据会耗费比较长的时间,比如统计常知的RTSP协议,从开始请求到首 帧数据到达平均耗时3~5秒。 目前的回放的视频可以通过以下方式播放:正常播放、倍速播放、慢放、倒放、单帧 播放。而在各种播放方式之间切换时,例如正在采用正常播放方式播放的视频时,接收到切 换为倒放的第一播放指令,则进行回放的终端向远端监控设备发送该第一播放指令,远端 监控设备接收到该第一播放指令后,根据该终端在接收到第一播放指令时播放的录像视频 帧及接收到的该第一播放指令,确定向该终端发送的每个录像视频帧,并按照顺序依次向 该终端发送每个录像视频帧,由于切换后的第一播放指令从请求到首个录像视频帧到达的 平均耗时为3~5秒,因此在3~5秒内将会造成用户的等待,降低了用户体验。
技术实现要素:
本发明实施例提供了一种远端视频回放方法、装置、设备及介质,用以解决现有进 行远端视频回放顺序切换时,用户等待时间长,造成用户体验差的问题。 本发明实施例提供了一种远端视频回放方法,所述方法包括: 在视频录像回放过程中若接收到回放顺序切换的第一播放指令,将所述第一播放 指令发送给远端监控设备; 针对缓存区中缓存的每个录像视频帧,根据切换后的回放顺序及当前播放的录像 视频帧,在所述缓存区中确定待播放的录像视频帧的播放顺序; 根据确定的待播放的录像视频帧的播放顺序,依次播放所述缓存区中缓存的每个 录像视频帧。 进一步地,所述远端视频回放方法还包括: 若接收到回放速度切换的第二播放指令,将所述第二播放指令发送给远端监控设 备; 根据切换后的回放速度播放所述缓存区中缓存的录像视频帧。 进一步地,所述缓存区为二级环形队列,其中,第一级环形队列用于缓存每个GOP 的标识,第二级环形队列用于针对每个标识的GOP缓存该GOP包含的每个录像视频帧。 进一步地,所述根据切换后的回放顺序及当前播放的录像视频帧,在所述缓存区 中确定待播放的录像视频帧的播放顺序之前,所述方法还包括: 6 CN 111614997 A 说 明 书 2/27 页 根据第一指令切换前的回放方向,将所述第一级环形队列中的第一头指针指向的 存储区域更新为第一尾指针的指向的存储区域的前一个存储区域,将所述第一尾指针的指 向的存储区域更新为所述第一头指针更新前指向的存储区域的前一个空闲存储区域; 若所述第一头指针更新后指向的存储区域与第一读指针指向的存储区域不一致, 则将所述第一头指针与所述第一读指针指向的存储区域之间的存储区域存储的每个GOP数 据删除,并将所述第一头指针指向所述第一读指针指向的存储区域。 进一步地,所述根据确定的待播放的录像视频帧的播放顺序,依次播放所述缓存 区中缓存的每个录像视频帧包括: 将第一级环形队列中的第一读指针指向的存储区域中存储的GOP的标识,确定为 当前播放的录像视频帧所属的GOP的标识; 根据回放方向与第一头指针到第一尾指针的指向方向的对应关系,确定所述当前 的回放方向对应的指向方向中第一读指针与第一尾指针之间的存储区域存储的GOP的目标 标识; 根据所述目标标识,依次播放每个所述目标标识的GOP对应的第二级环形队列中 的每个录像视频帧。 进一步地,所述方法还包括: 接收所述远端监控设备发送的录像视频帧; 判断所述缓存区中是否缓存有所述录像视频帧; 若否,将所述录像视频帧存储到所述缓存区的空闲存储区域; 若是,则丢弃所述录像视频帧。 进一步地,所述将所述录像视频帧存储到所述缓冲区的空闲存储区域包括: 判断所述录像视频帧是否为关键帧; 若是,根据所述缓存区中的第一级环形队列存储的GOP的标识的顺序,及切换后的 回放顺序,查找所述第一级环形队列中的首个空闲存储区域,将该关键帧所归属的第一GOP 的标识添加到查找到的所述首个空闲存储区域内,并将所述关键帧存储到所述首个空闲存 储区域对应的第二级环形队列的关键帧对应的存储区域; 若否,确定该非关键帧归属的第二GOP,在所述第一级环形队列中查找所述第二 GOP的标识,在所述第二GOP的标识对应的第二级环形队列中,根据存储的所述第二GOP的每 个非关键帧的顺序,将所述非关键帧存储到对应的存储区域。 进一步地,所述查找所述第一级环形队列中的首个空闲存储区域包括: 将第一级环形队列中的第一尾指针指向的存储区域作为首个空闲存储区域,根据 第一头指针与第一尾指针的指向方向,与所述当前的回放顺序的对应关系,将所述第一尾 指针移动到下一个空闲存储区域; 所述根据存储的所述第二GOP的每个非关键帧的顺序,将所述非关键帧存储到对 应的存储区域包括: 将所述非关键帧存储到所述第二GOP对应的第二级环形队列中的第二尾指针指向 的存储区域,并根据第二头指针与第二尾指针的指向方向,与所述当前的回放顺序的对应 关系,将所述第二尾指针移动到下一个空闲存储区域。 进一步地,所述方法还包括: 7 CN 111614997 A 说 明 书 3/27 页 若缓存区缓存的数据已满,判断是否存在已被播放的GOP数据; 若是,则根据当前的回放顺序,确定所述缓存区当前缓存的已被播放的第一个GOP 数据,将确定的所述GOP数据删除。 进一步地,若不存在已被播放的GOP数据,所述方法还包括: 向所述远端监控设备发送暂停送流指令; 若存在已被播放的GOP数据,将所述GOP数据删除; 若检测到缓存区中空闲存储区域的数量达到设定阈值,向所述远端监控设备发送 恢复送流指令。 本发明实施例还提供了一种远端视频回放装置,所述装置包括: 发送模块,用于在视频录像回放过程中接收到回放顺序切换的第一播放指令后, 将所述第一播放指令发送给远端监控设备; 确定模块,用于针对缓存区中缓存的每个录像视频帧,根据切换后的回放顺序及 当前播放的录像视频帧,在所述缓存区中确定待播放的录像视频帧的播放顺序; 播放模块,用于根据确定的待播放的录像视频帧的播放顺序,依次播放所述缓存 区中缓存的每个录像视频帧。 进一步地,所述播放模块,还用于若接收到回放速度切换的第二播放指令,将所述 第二播放指令发送给远端监控设备;根据切换后的回放速度播放所述缓存区中缓存的录像 视频帧。 进一步地,所述播放模块,还用于若接收到回放速度切换的第二播放指令,将所述 第二播放指令发送给远端监控设备;根据切换后的回放速度播放所述缓存区中缓存的录像 视频帧。 进一步地,所述缓存区为二级环形队列,其中,第一级环形队列用于缓存每个GOP 的标识,第二级环形队列用于针对每个GOP缓存该GOP包含的每个录像视频帧。 进一步地,所述确定模块,还用于根据第一指令切换前的回放方向,将所述第一级 环形队列中的第一头指针指向的存储区域更新为第一尾指针的指向的存储区域的前一个 存储区域,将所述第一尾指针的指向的存储区域更新为所述第一头指针更新前指向的存储 区域的前一个空闲存储区域;若所述第一头指针更新后指向的存储区域与第一读指针指向 的存储区域不一致,则将所述第一头指针与所述第一读指针指向的存储区域之间的存储区 域存储的每个GOP数据删除,并将所述第一头指针指向所述第一读指针指向的存储区域。 进一步地,所述播放模块,用于将第一级环形队列中的第一读指针指向的存储区 域中存储的GOP的标识,确定为当前播放的录像视频帧所属的GOP的标识;根据回放方向与 第一头指针到第一尾指针的指向方向的对应关系,确定所述当前的回放方向对应的指向方 向中第一读指针与第一尾指针之间的存储区域存储的GOP的目标标识;根据所述目标标识, 依次播放每个所述目标标识的GOP对应的第二级环形队列中的每个录像视频帧。 进一步地,所述远端视频回放装置还包括: 缓存模块,用于接收所述远端监控设备发送的录像视频帧;判断所述缓存区中是 否缓存有所述录像视频帧;若否,将所述录像视频帧存储到所述缓存区的空闲存储区域;若 是,则丢弃所述录像视频帧。 进一步地,所述缓存模块,用于判断所述录像视频帧是否为关键帧;若是,根据所 8 CN 111614997 A 说 明 书 4/27 页 述缓存区中的第一级环形队列存储的GOP的标识的顺序,及切换后的回放顺序,查找所述第 一级环形队列中的首个空闲存储区域,将该关键帧所归属的第一GOP的标识添加到查找到 的所述首个空闲存储区域内,并将所述关键帧存储到所述首个空闲存储区域对应的第二级 环形队列的关键帧对应的存储区域;若否,确定该非关键帧归属的第二GOP,在所述第一级 环形队列中查找所述第二GOP的标识,在所述第二GOP的标识对应的第二级环形队列中,根 据存储的所述第二GOP的每个非关键帧的顺序,将所述非关键帧存储到对应的存储区域。 进一步地,所述缓存模块,用于将第一级环形队列中的第一尾指针指向的存储区 域作为首个空闲存储区域,根据第一头指针与第一尾指针的指向方向,与所述当前的回放 顺序的对应关系,将所述第一尾指针移动到下一个空闲存储区域;并将所述非关键帧存储 到所述第二GOP对应的第二级环形队列中的第二尾指针指向的存储区域,并根据第二头指 针与第二尾指针的指向方向,与所述当前的回放顺序的对应关系,将所述第二尾指针移动 到下一个空闲存储区域。 进一步地,所述删除模块,用于若缓存区缓存的数据已满,判断是否存在已被播放 的GOP数据;若是,则根据当前的播放顺序,确定所述缓存区当前缓存的已被播放的第一个 GOP数据,将确定的所述GOP数据删除。 进一步地,所述删除模块,还用于若缓存区不存在已被播放的GOP数据,向所述远 端监控设备发送暂停送流指令;如存在已被播放的GOP数据,将所述GOP数据删除;若检测到 缓存区中空闲存储区域的数量达到设定阈值,向所述远端监控设备发送恢复送流指令。 本发明实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器, 所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述远端视频回放方 法的步骤。 本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计 算机程序被处理器执行时实现如上述任一所述远端视频回放方法的步骤。 本发明提供了一种视频录像回放的方法、装置、设备及介质,该方法中当接收到第 一播放指令后,根据缓存区中的每个录像视频帧及当前播放的录像视频帧,确定缓存区中 待播放录像视频帧的播放顺序,根据所确定的待播放的录像视频帧的播放顺序,依次播放 所述缓存区中缓存的每个录像视频帧,从而可以在接收到远端监控设备发送的首个录像视 频帧来临之前播放缓存区中缓存的录像视频帧,进而在一定程度上减少远端视频回放顺序 切换时,用户的等待时间,提高了用户体验。 附图说明 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。 图1为本发明实施例提供的一种远端视频回放过程示意图; 图2为本发明实施例提供的二级环形队列示意图; 图3为本发明实施例提供的将录像视频帧存储到缓存区的具体过程示意图; 图4为本发明实施例提供的具体的远端视频的回放流程示意图; 9 CN 111614997 A 说 明 书 5/27 页 图5为本发明实施例提供的一种读取以及写入录像视频帧到缓存区示意图; 图6为本发明实施例提供的播放录像视频帧的具体过程示意图; 图7为本发明实施例提供的删除录像视频帧的具体过程示意图; 图8为本发明实施例提供的一种远端视频回放装置结构示意图; 图9为本发明实施例提供的一种电子设备结构示意图。