Feature Request: Select frames with binary differences and write a repaired file for recovering corrupt video files.
When dubbing DV video cassettes to the hard drive, random read errors occur repeatedly. These result in artifacts in the video and audio. The reading of the files is deterministic as there is no reencoding of the raw digital video data. Read errors (differences) can be detected by performing a binary analysis of the files.
I would therefore like to suggest the following feature for video compare:
- Video compare is enabled to jump to frames that show binary differences between the two video files A and B.
- The user now selects for each differing frame whether he wants to accept the frame from A or B.
- Once completed, the identical video data and all selected frames are exported to a new video file (binary copy operation).
It is clear that such an operation does not work with all video formats. I am also aware that video compare was designed only for viewing and comparing, not for writing new video data. Nevertheless, I would like to put this feature up for discussion.
Hi @Somebodyisnobody.
Thank you for your detailed suggestion. It’s a thoughtful idea and I appreciate the explanation. However, this isn’t something I plan to work on for the following reasons:
- As you mention,
video-compareis designed purely for viewing and visual analysis, not for editing or writing new video files. - It does not handle audio, whereas your proposed workflow (correct me if I'm wrong) would require frame-level binary manipulation that also affects audio data.
- The use case is niche, and adding support for deterministic DV frame reconstruction would introduce significant complexity outside the scope of the project.
That said, I’ll leave this issue open in case someone is interested in creating a separate tool or a fork of video-compare for this purpose. It’s a completely valid idea; just not a good fit for the goals of this project.
Hello Jon, Thank you for your assessment. I agree with you and understand your point with the audio. However, let's note that the use case would not only be the DV format, but any container that does not break if individual bits and bytes are incorrect and errors occurred during transmission or storage for whatever reason. Transferring DV videos from the camera is just one example. Another example: Two storage media (DVD, hard disk) that both store a video over a long period of time for archiving purposes. Both media are damaged and the data is corrupted.