微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – H264基本流格式混乱

我对H264视频流的格式感到困惑.简单地说,我已经从ISO规范和其他来源读取H264 NAL单元由起始码分隔并且不包含长度信息并且它们没有起始码并且由4个字节引导(我知道这可以变化)给出NAL单位的长度.为了让事情更加混乱,我一直在查看Spydroid中的代码,它似乎可以解决这两种情况.有两种不同的格式,我混淆了,如果是这样,任何人都可以指导我解释这两种格式的信息.

背景

给出一些背景知识,以帮助我从Android摄像头进行直播.流将在设备上拆分为RTP,或作为原始MP4数据发送,以便在服务器上拆分.无论哪种方式,流都将是实时的,因此没有MOOV信息可以找到音频和视频帧.我相信我已经找到了很多项目,但我对H264流中应该看到的内容感到困惑.如果长度确实包含在NAL单位中,那肯定对我有帮助.

解决方法:

就H.264比特流而言.它被分成NAL单元,由startcode前缀分隔.即

startcode_prefix  NALUnit    startcode_prefix  NALUnit .....  

其中没有长度信息,因为它是比特流.您必须在下一个NAL单元的比特流中查找起始码模式(0x000001或0x00000001).

更多信息:H264 parsing – slice header detection

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐