如何解析WMV(ASF)文件?找不到数据包的长度

时间:2018-03-08 17:30:13

标签: parsing video ffmpeg wmv asf

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

见图片: Sample

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

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

enter image description here enter image description here

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

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

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

1 个答案:

答案 0 :(得分:2)

您似乎拥有固定大小的数据包,但未包含明确的有效负载长度,这意味着有效负载数据大小是从顶级数据对象结构派生的。

规格引用评论:

enter image description here

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