sps和pps的简单理解记录

Posted Sharley

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sps和pps的简单理解记录相关的知识,希望对你有一定的参考价值。

最近博客写出了日记的既视感。。。

使用RTP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)需要用到,那么这两项从哪里获取呢?

答案是从H264码流中获取.在H264码流中,都是以"0x00 0x00 0x01"或者"0x00 0x00 0x00 0x01"为开始码的,找到开始码之后,使用开始码之后的第一个字节的低5位判断是否为7(sps)或者8(pps), 及data[4] & 0x1f == 7 || data[4] & 0x1f == 8.然后对获取的nal去掉开始码之后进行base64编码,得到的信息就可以用于sdp.sps和pps需要用逗号分隔开来.

SPS 对于H264而言,就是编码后的第一帧,如果是读取的H264文件,就是第一个帧界定符和第二个帧界定符之间的数据的长度是4

PPS 就是编码后的第二帧,如果是读取的H264文件,就是第二帧界定符和第三帧界定符中间的数据长度不固定。

以上是关于sps和pps的简单理解记录的主要内容,如果未能解决你的问题,请参考以下文章

SPS、PPS

H.264---SPS和PPS

ffmpeg 添加 sps pps

H264码流中SPS PPS详解

具有多个 PPS 和 SPS 的 H264

SPS & PPS in H.264 详解