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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...