ffmpeg + SDL 系列 4 ASF文件解析相关资料整理

本来想直接参考FFMPEG的代码,却发现代码写的不是很正规,很多字段都是hacker方式,

很难理解是否正确。


为此,特整理相关资料:


1> Java版本参考代码

http://3xin2yi.info/wwwroot/tech/doku.php/tech:multimedia:asf_parser


2> C语言版本参考代码

2.1 ffmpeg:

文件: asfdec.c  坦率地说代码可读性很烂, 凑合着可以看看。

关于Data Object的主要解析函数是 ff_asf_get_packet


2.2 libasf

结构很清晰,推荐参考学习。

关于Data Object的主要解析函数是 asf_parse_data

具体解析函数放在Data.c 里面


3 对比检查工具

Asf Virew (微软)

http://www.microsoft.com/en-us/download/details.aspx?id=12826


规格文档:(1.2)

http://www.microsoft.com/en-us/download/details.aspx?id=14995


4 ASF文件解析基本思路整理

第一步是处理GUID

有两种做法,一种是直接比较字节数组。(数据定义可参考上面的代码)

还有一种是与规格中定义的字符串比较。(注意,需要考虑平台是否为Big-Endian或Little-Endian)


第二步分析相关Object

主要的是分析DataObject,并获取Packet数据。


详细请对比参考代码和协议深入研究。



你可能感兴趣的:(parser,ASF)