我是视频分析和python的新手,正在开展视频合成项目。我有三个重叠的视频。 例如,下面是视频的开始和结束时间
video1 video2 video3
start 19-13-30 19-13-25 19-13-45
end 19-13-55 19-13-35 19-13-59
在上面的场景中,video1&视频2重叠5秒(19-13-30至19-13-35),视频1和视频3重叠10秒(19-13-45至19-13-55)。
那么,有没有办法在给定时间戳的情况下识别视频中的重叠并返回它们重叠的时间戳,或者只是分析视频
答案 0 :(得分:0)
假设您有一个视频的开始时间和结束时间列表[[video1_starttime,video1_endtime],[video2_starttime,video2_endtime],[video3_starttime,video3_endtime]],您可以先根据startimes对列表进行排序,然后迭代到检查它是否重叠。
您可以使用以下代码进行检查:
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])
其中interval是[starttime,endtime]
要比较时间戳,请使用以下方法将它们转换为datetime对象:
from datetime import datetime
dateTimeObject = datetime.strptime(timestampString)