我正在尝试解析一个mp4文件,已经成功解析了moov
,但不确定如何使用moov
信息来解析mdat
。
我的目标是从mdat
中获取轨道信息(如元数据)以及如果可能的话从中获取音视频帧。
目前正在遵循QuickTime文件格式规范。
尝试过使用Sample-to-Chunk Atoms
,但我的所有stsc(20字节)都像这样:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0]
[0 0 0 1]
[0 0 0 1 0 0 0 1]
[0 0 0 1]
fmt.Println(binary.BigEndian.Uint32(buf[0:4])) //4
fmt.Println(binary.BigEndian.Uint32(buf[4:8])) //4
fmt.Println(binary.BigEndian.Uint32(buf[8:16])) //8
fmt.Println(binary.BigEndian.Uint32(buf[16:20])) //4
目前不知道如何处理和解析 mdat
原子。
如果有帮助,将不胜感激!
buf[0:3]
和buf[4:7]
等等……?你的前四个字节是[0] [1] [2] [3]
,所以为什么要读取到[4]
? - VC.One