我正在尝试从iPhone的MOV文件中获取h.264 NAL单元,以便从iPhone相机向服务器传输RTP h.264视频。由于Apple的API不允许直接访问相机输出的编码比特流,因此我只能在MOV文件被写入时访问它。我已经按照苹果的MOV结构参考链接解析了MOV文件为“原子”,但现在需要从“mdat atom”中提取“NAL units”才能将其打包到RTP并进行流式传输。由于我找不到关于“mdat结构”的文档,所以希望得到一些帮助。谢谢!
mdat原子是一个包含大量数据的二进制块,单独看并没有意义。要理解其中的内容,必须首先解析moov原子。你提到你将MOV文件分解为原子 - 你有没有深入挖掘除了moov、mdat、ftyp和其他一些顶层原子之外的内容?你需要解析moov原子(其中包含大量原子)以获取所需的数据(额外的编解码器数据附加到与H.264 stsd原子组合的数据中,后者又与由stco或co64原子索引的H.264块的数据相结合)。或者使用一个已经为您完成所有繁琐工作的库。