专业名词解释
VCL(Video Coding Layer)视频编码层
NAL(Network Abstraction Layer)网络提取层
SPS(Sequence Parameter Set) 序列参数集
PPS(Picture Parameter Set)图像参数集
IDR(Instantaneous Decoding Refresh)即时解码刷新
ES(Elementary Stream) 基本码流,包含视频,音频或数据的连续码流
PES(Packet Elementary Stream) 打包基本码流,将基本的码流ES流根据需要分成长度不等的数据包, 并加上包头就形成了打包的基本码流PES流
TS(Transport Stream) 传输流
PTS(Presentation Time Stamp)显示时间戳,主要用于度量解码后的视频帧什么时候被显示出来
DTS(Decoding Time Stamp)解码时间戳,主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码
在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的
H264层次结构
H.264分层结构由五层组成,分别是序列参数集、图像参数集、片(Slice)、和宏块和子块。参数集是一个独立的数据单位,不依赖于参数集外的其它句法元素。
一个参数集不对应某一个特定的图像或序列,同一序列参数集可以被多个图像参数集引用,同理,同一个图像参数集也可以被多个图像引用。只在编码器认为需要更新参数集的内容时,才会发出新的参数集。
在H.264中,图像以序列为单位进行组织。一个序列的第一个图像叫做IDR图像,IDR图像都是I帧,H.264引入IDR图像为了解码的同步,当解码器解码到IDR图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。
参考资料
编解码相关
RTP协议