【发布时间】:2012-08-04 09:18:52
【问题描述】:
我正在尝试从 iPhone 上的 MOV 文件中获取 h.264 NAL 单元, 为了将 iPhone 摄像头中的 h.264 视频 RTP 传输到服务器。
Apple 的 API 不允许直接访问来自相机输出的编码比特流,因此我只能在写入 MOV 文件时访问它。
根据Apple's MOV structure reference,我已将 MOV 文件解析为 Atoms,但现在我需要从 mdat atom 中提取 NAL 单元 strong> 以便将其打包到 RTP 并流式传输。
我很高兴在这里得到一些帮助,因为我找不到关于 mdat 结构 的文档。谢谢!
【问题讨论】:
-
Steve McFarlin (stackoverflow.com/users/227021/steve-mcfarlin) 有这样一个库。
-
@avishic 你最后是怎么解决这个问题的?您是否使用任何库或手动解析帧?你能在这里发布你的问题的答案吗?谢谢。
-
@Anastasia 还没有完全解决。如果 mdat 包含多个视频通道,则解析 mdat 似乎非常复杂。但是,如果它确实包含单个视频通道,则 mdat 只是 NAL 单元的集合。所以根据他们的头文件(mdat & nal 单元)你可以知道每个 nal 单元有多少字节并自己解析。不理想,但可行的解决方案。
-
@avishic 那么,现在您可以从硬件编码器获取 H.264 帧,对吧?你能分享你的代码吗?请联系我(查看我的个人资料)。
-
@Anastasia 抱歉,我不能分享代码,因为它具有合法权利。但是请查看上述问题中有关 Atom 和 mdat 的 Apple 文档的链接。
标签: ios h.264 quicktime rtp mov