我如何检查 AVI 视频是否在某个时刻被剪切了?

我如何检查 AVI 视频是否在某个时刻被剪切了?

我有一个 AVI 视频,需要知道是否有人过去从中剪掉了某些部分。

有没有什么软件可以帮助做这样的检查?

答案1

我会说,你不能确实知道。

看看AVI 文件格式

RIFF                RIFF HEADER
|-AVI               AVI CHUNK  
  |-hdrl            MAIN AVI HEADER
  | |-avih          AVI HEADER
  | |-strl          STREAM LIST[One per stream]
  | | |-strh            STREAM HEADER[Requiered after above]
  | | |-strf            STREAM FORAMT
  | | |-strd            OPTIONAL -- STREAM DATA
  | | |-strn            OPTIONAL -- STREAM NAME
  |-movi            MOVIE DATA
  | |-rec           RECORD DATA[SEE BELOW]
  |   |-[data subchunks]    RAW DATA[SEE BELOW]
  |-idx1            AVI INDEX
    |-[index data]      DATA

一个AVI(本质上是一个 RIFF 文件)包含多个块。

  • 标头 ( hdr)
  • 视频 (movi
  • 指数 ( idx)

电影数据可以在其指定的位置RAW DATA(在movi块下)找到。索引数据完全是可选的,但它可用于指定在何处查找视频的哪个部分。这允许在视频中搜索。

现在,假设你从具有完整索引的 AVI 文件中剪切部分内容。然后你观察这个文件。有三种可能性:

  1. 该文件具有正确构建的索引块:这意味着文件完好无损,你根本无法判断它是否被剪切过。它与原始文件没有任何区别(文件大小除外)。

  2. 该文件根本没有索引块:这暗示文件以某种方式被编辑过,但编辑器未能写入索引。这并不能证明文件被编辑过,但却是一个非常强烈的暗示。为了获得“完整”的文件,您需要重新索引它并生成索引块。

  3. 该文件的索引块已损坏:这意味着有人手动编辑了该文件,要么从末尾截断字节,要么以其他方式破坏它。

现在剩下的唯一问题是:我怎么知道是否有索引块?我不能尝试,也许艾维菲XP有一个选项可以验证这一点。还有DivFix++它可以检查错误。

总而言之,仅从文件来看,你无法真正分辨出来。索引损坏或丢失可能是一个提示,但不是完整的证据。

相关内容