一种对齐视频流的播放进度的方法及装置与流程

文档序号:12068802阅读:219来源:国知局
一种对齐视频流的播放进度的方法及装置与流程

本发明涉及视频流技术领域,特别涉及一种对齐视频流的播放进度的方法及装置。



背景技术:

在一些应用情况下,需提供多路具有相同视频内容的视频流,且该些视频流的视频参数信息不尽相同,比如说,提供多个码流版本的视频流以满足不同网速环境下的用户需求。但是在现实应用中,上述多路具有相同视频内容的视频流偶尔会发生视频流的播放进度不相同的情况。在现有技术中,由于在视频流的传输过程中存在丢帧的情况,还有在视频流的编码和解码过程中出现白帧的情况,导致现有技术难以解决多路具有相同视频内容的视频流的播放进度同步的问题。如何妥善的解决上述问题,就成为了业界亟待解决的课题。



技术实现要素:

本发明提供一种对齐视频流的播放进度的方法及装置,用以克服具有相同视频内容的不同视频流的播放进度不同步的问题。

根据本发明实施例的第一方面,提供一种对齐视频流的播放进度的方法,包括:

实时监控具有相同视频内容的两路视频流;

通过预设的图像算法分析出所述两路视频流中的特殊帧;

对所述两路视频流中的各个特殊帧进行匹配;

计算出各个匹配出的特殊帧对之间的时间差;

根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

在一个实施例中,所述实时监控具有相同视频内容的两路视频流,包括:

实时监控具有不同视频参数信息的相同视频内容的两路视频流,所述视频参数信息包括流媒体协议、视频封装格式、视频压缩格式、视频分辨率、视频帧率和视频流码率中的任一者或多者。

在一个实施例中,所述通过预设的图像算法分析出所述两路视频流中的特殊帧,包括:

设定起始时刻和结束时刻;

获取以所述起始时刻为始到所述结束时刻为止的时间段内的所述两路视频流的视频数据;

根据预设的图像算法分析出所述视频数据中的特殊帧,所述特殊帧与所述特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。

在一个实施例中,所述对所述两路视频流中的各个特殊帧进行匹配,包括:

筛选出所述两路视频流中的各个所述特殊帧的颜色直方图相似的特殊帧对,所述特殊帧对中的两个特殊帧分别来自于不同的视频流,确定所述特殊帧对为第一特殊帧对;

通过感知哈希算法对所述第一特殊帧对进行验证,确认通过验证的第一特殊帧对为所述匹配出的特殊帧对。

在一个实施例中,所述根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度,包括:

计算出所述匹配出的特殊帧对之间的时间差的众值;

计算出时间差为所述众值的特殊帧对的数量与所述特殊帧对的总数量之间的比值;

当所述比值大于预设的确认阈值时,根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

根据本发明实施例的第二方面,提供一种对齐视频流的播放进度的装置,包括:

监控模块,用于实时监控具有相同视频内容的两路视频流;

分析模块,用于通过预设的图像算法分析出所述两路视频流中的特殊帧;

匹配模块,用于对所述两路视频流中的各个特殊帧进行匹配;

计算模块,用于计算出各个匹配出的特殊帧对之间的时间差的众值;

对齐模块,用于根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

在一个实施例中,所述监控模块,包括:

监控子模块,用于实时监控具有不同视频参数信息的相同视频内容的两路视频流,所述视频参数信息包括流媒体协议、视频封装格式、视频压缩格式、视频分辨率、视频帧率和视频流码率中的任一者或多者。

在一个实施例中,所述分析模块,包括:

设定子模块,用于设定起始时刻和结束时刻;

获取子模块,用于获取以所述起始时刻为始到所述结束时刻为止的时间段内的所述两路视频流的视频数据;

分析子模块,用于根据预设的图像算法分析出所述视频数据中的特殊帧,所述特殊帧与所述特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。

在一个实施例中,所述匹配模块,包括:

筛选子模块,用于筛选出所述两路视频流中的各个所述特殊帧的颜色直方图相似的特殊帧对,所述特殊帧对中的两个特殊帧分别来自于不同的视频流,确定所述特殊帧对为第一特殊帧对;

验证子模块,用于通过感知哈希算法对所述第一特殊帧对进行验证,确认通过验证的第一特殊帧对为所述匹配出的特殊帧对。

在一个实施例中,所述对齐模块,包括:

第一计算子模块,用于计算出所述匹配出的特殊帧对之间的时间差的众值;

第二计算子模块,用于计算出时间差为所述众值的特殊帧对的数量与所述特殊帧对的总数量之间的比值;

对齐子模块,用于当所述比值大于预设的确认阈值时,根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明一示例性实施例示出的一种对齐视频流的播放进度的方法的流程图;

图2为本发明一示例性实施例示出的一种对齐视频流的播放进度的方法的步骤S11的实施方式一的流程图;

图3为本发明一示例性实施例示出的一种对齐视频流的播放进度的方法的步骤S12的实施方式二的流程图;

图4为本发明一示例性实施例示出的一种对齐视频流的播放进度的方法的步骤S13的流程图;

图5为本发明一示例性实施例示出的一种对齐视频流的播放进度的方法的步骤S15的流程图;

图6为本发明一示例性实施例示出的一种对齐视频流的播放进度的装置的框图;

图7为本发明一示例性实施例示出的一种对齐视频流的播放进度的装置的监控模块61的框图;

图8为本发明一示例性实施例示出的一种对齐视频流的播放进度的装置的分析模块62的框图;

图9为本发明一示例性实施例示出的一种对齐视频流的播放进度的装置的匹配模块63的框图;

图10为本发明一示例性实施例示出的一种对齐视频流的播放进度的装置的对齐模块65的框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1是根据一示例性实施例示出的一种对齐视频流的播放进度的方法流程图,如图1所示,该对齐视频流的播放进度的方法,包括以下步骤S11-S15:

在步骤S11中,实时监控具有相同视频内容的两路视频流;

在步骤S12中,通过预设的图像算法分析出所述两路视频流中的特殊帧;

在步骤S13中,对所述两路视频流中的各个特殊帧进行匹配;

在步骤S14中,计算出各个匹配出的特殊帧对之间的时间差;

在步骤S15中,根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

在一个实施例中,在很多情况下,需提供多路具有相同视频内容的视频流,且该些视频流的视频参数信息不尽相同,比如说,提供多个码流版本的视频流以满足不同网速环境下的用户需求。但是在现实应用中,上述多路具有相同视频内容的视频流偶尔会发生视频流的播放进度不相同的情况。在现有技术中,由于在视频流的传输过程中存在丢帧的情况,还有在视频流的编码和解码过程中出现白帧的情况,导致现有技术难以解决多路具有相同视频内容的视频流的播放进度同步的问题。本实施例的技术方案可以妥善的解决上述问题。

详细技术方案如下:首先实时监控具有相同视频内容的两路视频流。进一步的,实时监控具有不同视频参数信息的相同视频内容的两路视频流,该视频参数信息包括流媒体协议、视频封装格式、视频压缩格式、视频分辨率、视频帧率和视频流码率中的任一者或多者。

然后通过预设的图像算法分析出该两路视频流中的特殊帧。进一步的,设定起始时刻和结束时刻,获取以该起始时刻为始到该结束时刻为止的时间段内的该两路视频流的视频数据,根据预设的图像算法分析出该视频数据中的特殊帧,该特殊帧与该特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。

之后对该两路视频流中的各个特殊帧进行匹配。进一步的,筛选出该两路视频流中的各个该特殊帧的颜色直方图相似的特殊帧对,该特殊帧对中的两个特殊帧分别来自于不同的视频流,确定该特殊帧对为第一特殊帧对。通过感知哈希算法对该第一特殊帧对进行验证,确认通过验证的第一特殊帧对为该匹配出的特殊帧对。

计算出各个匹配出的特殊帧对之间的时间差。根据该时间差的众值,对齐该具有相同视频内容的两路视频流的播放进度。进一步的,计算出该匹配出的特殊帧对之间的时间差的众值。计算出时间差为该众值的特殊帧对的数量与该特殊帧对的总数量之间的比值。当该比值大于预设的确认阈值时,根据该时间差的众值,对齐该具有相同视频内容的两路视频流的播放进度。

例如,某高清直播视频实时输出两路视频流,其中一路视频流为高清视频流A,另一路视频流为标清视频流B。在播放了较长的一段时间之后,该高清视频流A和标清视频流B的播放进度发生了不一致的情况。实时监控高清视频流A和标清视频流B。设定起始时刻甲和结束时刻乙,通过获取以起始时刻甲为始到结束时刻乙为止的时间段内的高清视频流A和标清视频流B的视频数据,不妨假设高清视频流A在始时刻甲和结束时刻乙之间的视频数据为a,标清视频流B在始时刻甲和结束时刻乙之间的视频数据为b。然后根据预设的图像算法分析出视频数据a和视频数据b中的所有特殊帧,特殊帧的含义为与前一帧图像的图像数据具有巨大差异的图像帧。在具体操作的时候,可预先设置一个差异阈值,当某一图像帧α与该图像帧α的前一帧的图像数据的差异大于预设的差异阈值时,命名该图像帧α为特殊帧。在视频数据a中可得出一个特殊帧的集合,不妨将该集合命名为第一特殊帧集合,同理,在视频数据b中可得出一个特殊帧的集合,不妨将该集合命名为第二特殊帧集合。筛选出第一特殊帧集合和第二特殊帧集合中相似图像,具体实施过程为通过颜色直方图来筛选出相似的特殊帧对,并且该相似的特殊帧对中的两个特殊帧分别来自于不同的视频流,不妨将该特殊帧对命名为第一特殊帧对,不妨将该第一特殊帧对组成的集合命名为第三特殊帧对集合。然后通过感知哈希算法对第三特殊帧对集合中的每一个第一特殊帧对进行验证,确认通过验证的第一特殊帧对为匹配出的特殊帧对。因为每一个视频帧在视频流中是对应有时间数值的,故可计算出各个匹配出的特殊帧对之间的时间差。不妨假设该时间差的众值为10s,预设的确认阈值为60%。若时间差为众值的特殊帧对的数量与该第三特殊帧对集合中的特殊帧对的总数量之比为80%,则可确认该时间差的众值10s为高清视频流A和标清视频流B的时间差,根据该时间差10s来对齐高清视频流A和标清视频流B。

本实施例中的技术方案可克服具有相同视频内容的不同视频流的播放进度不同步的问题,从而提升了观看者的用户体验。

在一个实施例中,如图2所示,步骤S11包括如下步骤S21:

在步骤S21中,实时监控具有不同视频参数信息的相同视频内容的两路视频流,所述视频参数信息包括流媒体协议、视频封装格式、视频压缩格式、视频分辨率、视频帧率和视频流码率中的任一者或多者。

在一个实施例中,实时监控具有不同视频参数信息的相同视频内容的至少两路视频流,并不局限于两路视频流。该视频参数信息包括视频格式和视频参数中的任一者或多者,其中,视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。

在一个实施例中,如图3所示,步骤S12包括如下步骤S31-S33:

在步骤S31中,设定起始时刻和结束时刻;

在步骤S32中,获取以所述起始时刻为始到所述结束时刻为止的时间段内的所述两路视频流的视频数据;

在步骤S33中,根据预设的图像算法分析出所述视频数据中的特殊帧,所述特殊帧与所述特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。

在一个实施例中,设定起始时刻和结束时刻,获取以该起始时刻为始到该结束时刻为止的时间段内的该两路视频流的视频数据,根据预设的图像算法分析出该视频数据中的特殊帧,该特殊帧与该特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。因为视频流在解码和编码的过程中可能会出现白帧,检测该特殊帧中是否存在颜色直方图为单一白色的白帧,若存在白帧的情况,直接舍弃为白帧的特殊帧。

在一个实施例中,如图4所示,步骤S13包括如下步骤S41-S42:

在步骤S41中,筛选出所述两路视频流中的各个所述特殊帧的颜色直方图相似的特殊帧对,所述特殊帧对中的两个特殊帧分别来自于不同的视频流,确定所述特殊帧对为第一特殊帧对;

在步骤S42中,通过感知哈希算法对所述第一特殊帧对进行验证,确认通过验证的第一特殊帧对为所述匹配出的特殊帧对。

在一个实施例中,分析出该两路视频流中的各个该特殊帧的颜色直方图,根据各个特殊帧的颜色直方图来筛选出相似的特殊帧对,该特殊帧对中的两个特殊帧分别来自于不同的视频流,确定该特殊帧对为第一特殊帧对。通过感知哈希算法对该第一特殊帧对进行验证,确认通过验证的第一特殊帧对为该匹配出的特殊帧对。

在一个实施例中,如图5所示,步骤S15包括如下步骤S51-S53:

在步骤S51中,计算出所述匹配出的特殊帧对之间的时间差的众值;

在步骤S52中,计算出时间差为所述众值的特殊帧对的数量与所述特殊帧对的总数量之间的比值;

在步骤S53中,当所述比值大于预设的确认阈值时,根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

在一个实施例中,在视频流的传输过程中可能会发生丢帧的情况,若两组特殊帧对之间的时间差的数值差异度小于预设的误差数值,则认为该两组特殊帧对之间的时间差为同一个时间差。计算出该匹配出的特殊帧对之间的时间差的众值,计算出时间差为该众值的特殊帧对的数量与该特殊帧对的总数量之间的比值。当该比值大于预设的确认阈值时,确认该时间差的众值为具有相同视频内容的两路视频流的时间差。然后根据该时间差的众值,来对齐该具有相同视频内容的两路视频流的播放进度。

在一个实施例中,图6是根据一示例性实施例示出的一种对齐视频流的播放进度的装置框图。如图6示,该装置包括监控模块61、分析模块62、匹配模块63、计算模块64和对齐模块65。

该监控模块61,用于实时监控具有相同视频内容的两路视频流;

该分析模块62,用于通过预设的图像算法分析出所述两路视频流中的特殊帧;

该匹配模块63,用于对所述两路视频流中的各个特殊帧进行匹配;

该计算模块64,用于计算出各个匹配出的特殊帧对之间的时间差的众值;

该对齐模块65,用于根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

如图7所示,该监控模块61包括监控子模块71。

该监控子模块71,用于实时监控具有不同视频参数信息的相同视频内容的两路视频流,所述视频参数信息包括流媒体协议、视频封装格式、视频压缩格式、视频分辨率、视频帧率和视频流码率中的任一者或多者。

如图8所示,该分析模块62包括设定子模块81、获取子模块82和分析子模块83。

该设定子模块81,用于设定起始时刻和结束时刻;

该获取子模块82,用于获取以所述起始时刻为始到所述结束时刻为止的时间段内的所述两路视频流的视频数据;

该分析子模块83,用于根据预设的图像算法分析出所述视频数据中的特殊帧,所述特殊帧与所述特殊帧相邻的前一帧图像帧的图像数据的差异大于预设的差异阈值。

如图9所示,该匹配模块63包括筛选子模块91和验证子模块92:

该筛选子模块91,用于筛选出所述两路视频流中的各个所述特殊帧的颜色直方图相似的特殊帧对,所述特殊帧对中的两个特殊帧分别来自于不同的视频流,确定所述特殊帧对为第一特殊帧对;

该验证子模块92,用于通过感知哈希算法对所述第一特殊帧对进行验证,确认通过验证的第一特殊帧对为所述匹配出的特殊帧对。

如图10所示,该对齐模块65包括第一计算子模块101、第二计算子模块102和对齐子模块103。

该第一计算子模块101,用于计算出所述匹配出的特殊帧对之间的时间差的众值;

该第二计算子模块102,用于计算出时间差为所述众值的特殊帧对的数量与所述特殊帧对的总数量之间的比值;

该对齐子模块103,用于当所述比值大于预设的确认阈值时,根据所述时间差的众值,对齐所述具有相同视频内容的两路视频流的播放进度。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1