ffmpeg + SDL 系列 四 ASF文件解析相关资料整理
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数据。
详细请对比参考代码和协议深入研究。