是否有可能确定2个文件的相似程度?

时间:2011-12-24 03:07:51

标签: file

出于本示例的目的,假设存在2个二进制文件A和B,每个文件包含youtube视频的变体,其中

  • A包含5秒广告
  • B不包含广告
  • 除广告外,A包含与B
  • 相同的内容
  • 文件A的总长度为60秒
  • 文件B的总长度为55秒

作为一般规则,如果我们要比较每个文件的位模式,我们会得出相同的结论:文件包含55秒的公共位吗?

如果我们进一步扩展问题,那么对于2个罐子的世界来说,唯一的区别就是评论,比较比特的顺序和根据我们发现的东西,确定相似程度是否合适? / p>

很容易确定文件是否相同。比较位的方法是否有助于准确地确定文件彼此接近的程度?

问题不是关于视频文件,而是一般的二进制文件。我仅在上面提到了视频文件。

2 个答案:

答案 0 :(得分:2)

这取决于文件格式,但在您的示例中 - 不,可能不是。

有和没有初始广告的视频:视频通常通过将它们分成小时间块进行编码,然后对这些块进行编码和压缩;如果您在开头插入广告,则很可能会导致块转换在主视频中的不同时间偏移处发生。

带有和不带评论的jar文件(或带有不同的评论):相同的故事;更改文件中注释的长度将影响将整个文件拆分为可压缩块,因此更改注释后的所有块将以不同方式进行压缩。 (当然,这是假设jar文件实际上包含注释。仅仅因为注释在源代码中,这并不意味着jar文件将具有它们;这取决于编译器设置等等。 )

答案 1 :(得分:0)

这些天的大多数视频压缩都是通过有损算法完成的。压缩在帧和BETWEEN帧内完成。如果由于帧间压缩而在“A”视频中添加的额外视频帧“泄漏”到原始电影中,那么根据定义,您的两个视频文件将是不同的视频,即使逻辑上它们是同一部电影,但是广告钉在前面几秒钟。压缩算法将两个视频中的一个或多个帧合并为两者的混合,这从根本上改变了一切。