I have 2 video files with the same content, but coming from a different source. They have a slight difference in 'cut' and language dubbing, meaning one can be missing a shot compared to the other.

I have a other language dubbed that is correctly timed for one file (call it A), and because of the different cut, a bit off for the other (call it B).

The thing is that “A” also has low quality, while “B” is of better quality, and original language dubbed.

I basically need to fix the timing of the dubbed to match B.

In order to do so, i need to locate the missing/additional shots between the 2 videos, so i know where to cut it..

This is realistic if i have only one pair of files, however i have 20 pair of files ! I would like to automate this search, and basically compare the 2 files at different points in time, and find where they diverge.

How can I do this?

Since file A has other dubbed language, the comparison method should be exact enough to detect content difference..

  • Does it need to be automated? Is it something you would be doing to many files, or are you asking how to do this in video editing software the conventional way.
    – tomh
    Sep 1, 2020 at 18:21
  • I mean auto highlight the video that is not on video 1. then there is an option to delete all highlight scene. I do it in manual I compare two video if the video 2 has scene and no in video 1 I deleted it, but I almost consume 1 day to compare and cut the 1 hr video. I want is there a software to highlight then cut all scene that is not have on video 1 in one click. no need to search whole video and cut one by one.
    – djsoda
    Sep 1, 2020 at 23:29
  • anyone have an idea regarding this? another sample is 1 hr video with dubbing in another language but this video has low quality and cut some scene. and the original video with original language and high quality. what I want is it can compare this two videos then the all cut scene will highlight on another video then it can cut. after the cut, the audio of low quality video will replace the audio of the original video with high quality video.
    – djsoda
    Sep 4, 2020 at 2:40
  • I still don't understand what you are trying to do - your comments have made me understand it less.
    – Dr Mayhem
    Sep 4, 2020 at 16:05
  • I edited the my question to clear it.
    – djsoda
    Sep 5, 2020 at 3:26

1 Answer 1


A Clip(C) is a sequence of frames, each frame(f) consists of video and audio frames, the duration(t) of each frame is constant and is determined by the frame rate.

For the i th clip(Ci), it is defined as (fi_n) n∈ℕ

back to your question, the idea is to find the result of

⊕Cj , where j ∈ {0,…,19}

Since the sizes of all Cj are not the same, the elements or frames of ⊕Cj are not guaranteed to be monotonic increasing. Therefore, different frames, with expected sequence, cannot be identified in this problem.


IF you can guarantee the sizes of all Cj to be the same, a video frame can be extracted by ffmpeg to a png file and a audio frame can be extracted by the t second of wav file. The ⊕ operation can be handled by image diff and easily be found in Google.

  • what kind of software do I use?
    – djsoda
    Sep 5, 2020 at 22:44
  • My answer has included everything you need, good luck.
    – xer-rex
    Sep 6, 2020 at 1:56
  • I think it is more complicated than my manual cut. I use techsmith camtasia studio, I compare the two videos then I cut manually the difference but it take me 3 to 6 hrs cuting the 1hr video. I have 20 videos, so in 1 day I only edited 2 to 3 videos a day. it takes me 6 to 10 days to complete all videos.
    – djsoda
    Sep 6, 2020 at 3:51
  • Downvoted as I'm not sure re-writing the problem into fancy (unformatted) mathematical notation and suggesting to just use ffmpeg, an image diff and googling is a helpful answer. Jan 19 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.