什么可能导致AVI文件中的索引错误或丢失?

时间:2013-06-15 22:26:57

标签: avi

我已经构建了一个AVI M-jpeg编码器,它基本上构建了一个包含所有信息的AVI Riff头。

我在视频流的末尾添加了一个帧索引,如规范中所指定。

索引构建如下:

idx1[Size],然后00dc[0x10,0x00,0x00,0x00][Offset from frame X][Size from frame X]直到结束。我比较了任何其他AVI文件,一切都是一样的。所以我无法理解软件在我的AVI文件中找不到或搜索索引的位置。还验证了几次标记后面指示的良好字节长度。顺便说一下,每个偏移都有很好的填充,长度只是jpeg的大小。

我附加了当前呈现的文件:movie.avi

我花了一整天的时间试图找出索引的问题。 AVI规范非常简单,所以我在桌面上砸了我的头。

[编辑]

一旦我的视频超过1秒,它就会失败。这对我来说没有任何意义,因为算法是相同的,无论写入多少帧。

1 个答案:

答案 0 :(得分:1)

您的AVI文件违反了对齐规则:每个块必须以偶数字节开始。

在每个奇数帧后添加一个零字节,并相应地更新索引。标题中的块大小仍然应该是奇数来表示数据的真实大小,但所有偏移量应该是偶数。