我有2个视频文件与相同的内容,但来自不同的来源。他们在“剪辑”和语言配音方面略有不同,这意味着一个人可能会比另一个人错过一个镜头。
我有另一种配音的语言,它对一个文件(称为A)进行了正确的计时,并且由于不同的剪切,对另一个文件(称为B)略有偏离。
问题是,“A”的质量也很低,而“B”的质量更好,原创语言被配音。
我基本上需要修改配音的时间来匹配B。
为了做到这一点,我需要找到两个视频之间的缺失/附加镜头,这样我就知道在哪里剪切它。
如果我只有一对文件,这是现实的,但是我有20对文件!我想自动化这个搜索,基本上比较两个文件在不同的时间点,并找到他们的分歧。
我该怎么做呢?我在windows上使用什么软件?
由于文件A有其他配音语言,因此比较方法应该足够精确,以检测内容差异。
发布于 2020-09-16 23:56:41
假设各个帧具有相同的质量、大小等,您可以使用如下方法:
<代码>H19如果到达x但在上面的步骤中找不到匹配,接着阅读视频B的下一x帧,直到找到与视频A中的当前fame匹配的帧为止(如果视频B具有您在上面找到的匹配的额外frames)
X的值将控制您准备在多大程度上提前搜索找到相同的帧。
Python和OpenCV将是实现这一点的一种常见的语言/工具选择--一个框架示例来展示打开视频文件和比较(没有经过测试或破坏,它只是给出一个示例方向):
import cv2
import numpy as np
from skimage.measure import compare_ssim as ssim
capture = cv2.VideoCapture("videoA.mp4")
capture2 = cv2.VideoCapture("videoB.mp4")
simlarityIndexThreshold = // the value you want as your threshold
while True:
f, frameA = capture.read()
f2, frameB = capture2.read()
if (frameA.empty() || frameB.emnpty()
break
simlarityIndex = ssim(farmeA, frameB)
if(simlarityIndex < simlarityIndexThreshold):
//Frames are differnt so do your work to skip ahead here在OpenCV中,有多种方法可以比较图像之间的相似性,因此值得您进行一些搜索,以决定要使用哪一种-上面的方法记录在这里:https://scikit-image.org/docs/stable/api/skimage.measure.html#compare-ssim
https://stackoverflow.com/questions/63750251
复制相似问题