3

我尝试在没有任何 SDK 的情况下解析 WMV (ASF) 文件,只需解码原始字节即可。现在我遇到了 ASF_Data_Object 的问题,我找不到数据包的长度。更精确,单有效载荷数据包。

见图片: 样本

这里我有 9 个数据包,但无法找到单个数据包的大小。如何确定数据包之间的边界?

我想,我的问题在字节 0x411,其中字段“长度类型标志”。如您所见,此处为 0 值,因此所有标志都为零。偶数包长度类型。

在此处输入图像描述 在此处输入图像描述

是的,这里允许 0 值。但是如何阅读这类内容呢?

现在这是压缩的有效负载,因为复制数据是 8,而不是 1。因此,这是单个有效负载,没有额外的大小字段。

WMV 文件示例:https ://files.catbox.moe/b51l2j.wmv

4

1 回答 1

2

您似乎有固定大小的数据包,没有包含明确的有效负载长度,这意味着有效负载数据大小来自顶级数据对象结构。

规格报价评论:

在此处输入图像描述

也就是说,ASF 数据对象携带 9 个数据包,每个数据包 3200 字节,然后每个数据包内部包含有效负载 3174 字节的有效负载,除了最后一个数据较少和一些填充的数据包。

于 2018-03-09T17:37:09.450 回答