h264封包介绍
2015-02-06 14:05
501 查看
这个要看你怎么理解了。和MPEG2、MPEG4相比,H.264字节流中帧的形式发生了变化。以视频帧为例,MPEG2和MPEG4字节流在传输的时候提取帧的关键参数,将其封装入传输包首部,比如TS包或RTP包,而包负载中的数据仍然是一个完整的图像帧。也就是说,你即使不使用包首部中所设置的关于包负载的参数信息,也能够根据包负载中的帧数据本身进行正确的解码。
而H.264码流本身对图像数据就做了处理,将一个完整的图像帧进行分解,抽出序列参数集、图像参数集等帧信息,放到各自对应的NAL中,而图像数据本身则封装进编码条带中。这样,在NAL流中,仅仅根据编码条带NAL单元是解析不出图像来的,必须和序列参数集、图像参数集NAL配合才能解出。也就是说,MPEG2、MPEG4编码的一帧数据,被分解成了H.264中的多个NAL单元,H.264编码的抽象化程度更高了。但是H.264码流在组织的时候仍然是以一帧数据为单位的,它并不会将多帧数据交织到一起,只不过表现在形式上,需要用多个NAL单元才能组成一个完整的数据帧。
一帧可能有几个SLICE的!你要把所有的SLICE定位出来,然后再找到每个SLICE的起始宏块的地址,地址为0的话就是一帧开始了!
资料:
如何把H264文件的数据一帧一帧的读出来?
h264 Nalu 详解
完。
而H.264码流本身对图像数据就做了处理,将一个完整的图像帧进行分解,抽出序列参数集、图像参数集等帧信息,放到各自对应的NAL中,而图像数据本身则封装进编码条带中。这样,在NAL流中,仅仅根据编码条带NAL单元是解析不出图像来的,必须和序列参数集、图像参数集NAL配合才能解出。也就是说,MPEG2、MPEG4编码的一帧数据,被分解成了H.264中的多个NAL单元,H.264编码的抽象化程度更高了。但是H.264码流在组织的时候仍然是以一帧数据为单位的,它并不会将多帧数据交织到一起,只不过表现在形式上,需要用多个NAL单元才能组成一个完整的数据帧。
一帧可能有几个SLICE的!你要把所有的SLICE定位出来,然后再找到每个SLICE的起始宏块的地址,地址为0的话就是一帧开始了!
资料:
如何把H264文件的数据一帧一帧的读出来?
h264 Nalu 详解
完。
相关文章推荐
- H264学习(一)之前几种编码介绍
- H264 介绍[1]
- 分享一段H264视频和AAC音频的RTP封包代码
- H264和x264简单介绍
- H264 编解码框架简单介绍
- rtp的封包与拆包h264
- 分享一段H264视频和AAC音频的RTP封包代码
- 视频码率,帧率和分辨率及H264介绍
- H264 SPS 中 VUI 自己碰到的一些比较关键的 字段介绍。
- 对H264进行RTP封包原理
- H264 介绍
- mp4 文件中的h264 avc1格式介绍
- 最简单的iOS直播推流(六)h264、aac、flv介绍
- H264 编码封装成 MP4 格式 视频流 RTP 封包
- 【H264】详细介绍
- H264 RTP 封包原理
- 图像视频编码和FFmpeg(4)-----h264格式简单介绍
- H264格式 详细介绍
- H264编码 封装成MP4格式 视频流 RTP封包
- rtp的封包与拆包h264