如何检查视频是否重叠

How to check if videos overlap

我是视频分析新手,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) .

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

假设您有视频的开始时间和结束时间列表 [[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)