【问题标题】:How to check if videos overlap如何检查视频是否重叠
【发布时间】:2016-10-06 12:29:47
【问题描述】:

我是视频分析和 python 的新手,正在做一个视频合成项目。我有三个重叠的视频。 例如下面是视频的开始和结束时间

       video1     video2     video3
start  19-13-30   19-13-25   19-13-45
end    19-13-55   19-13-35   19-13-59

在上述场景中,视频 1 和视频 2 重叠 5 秒(19-13-30 到 19-13-35),视频 1 和视频 3 重叠 10 秒(19-13-45 到 19-13-55)。

那么,有没有办法在给定时间戳的情况下识别视频中的重叠并返回它们重叠的时间戳,或者只分析视频

【问题讨论】:

  • 您能否向我们展示您目前尝试过的代码示例?
  • 是的,有办法:)

标签: python timestamp video-processing


【解决方案1】:

假设您有一个视频 [[video1_starttime,video1_endtime],[video2_starttime,video2_endtime],[video3_starttime,video3_endtime]] 的开始时间和结束时间列表,您可以先根据开始时间对列表进行排序,然后对其进行迭代检查它是否重叠。

您可以使用以下代码进行检查:

overlapping = [ [x,y] for x in intervals for y in intervals if x is not y and x[1]>y[0] and x[0]<y[0] ]
for x in overlapping:
    print '{0} overlaps with {1}'.format(x[0],x[1])

其中intervals是[starttime,endtime]的列表

要比较时间戳,请使用以下方法将它们转换为日期时间对象:

from datetime import datetime
dateTimeObject = datetime.strptime(timestampString)

【讨论】:

  • 感谢您的回答。实际上,我将时间戳作为字典值,将视频索引作为键。所以我想获取其值重叠的键的值。
  • 如果您可以将时间戳转换为日期时间对象,则可以使用 > 或
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多